Dresden
Emperor
- Joined
- Jul 10, 2008
- Messages
- 1,081
Currently, obsolete resources don't completely obsolete. You can no longer harvest them in your own territory, but you can still trade for them from more primitive civs and they still work when you do. I have no major problem with that as a design decision.
Unfortunately, there is a check in CvPlayerAI::AI_baseBonusVal that skips the entire value calculation if a resource is obsolete for you. So if you ask an AI what they want for one, they'll think it's worthless to you and offer it free of charge. That, to me, is broken. If I was paying X gold per turn for a resource and then find that I cannot possibly harvest it myself, why should I be able to get it for free? In fact, a good case can be made that it should increase in value to simulate the markup in price you'd see trying to purchase something "on the black market."
So, what to do about obsolete resource trade value?
1) Leave it be, allowing us to exploit AI stupidity and sometimes get free resources.
2) Use the same value as it had prior to obsoleting.
3) Increase it's value after obsoleting. (How much? 50% more?)
I wonder if we could even make it a global define (which defaults to the current 0 value if missing)....
Unfortunately, there is a check in CvPlayerAI::AI_baseBonusVal that skips the entire value calculation if a resource is obsolete for you. So if you ask an AI what they want for one, they'll think it's worthless to you and offer it free of charge. That, to me, is broken. If I was paying X gold per turn for a resource and then find that I cannot possibly harvest it myself, why should I be able to get it for free? In fact, a good case can be made that it should increase in value to simulate the markup in price you'd see trying to purchase something "on the black market."
So, what to do about obsolete resource trade value?
1) Leave it be, allowing us to exploit AI stupidity and sometimes get free resources.
2) Use the same value as it had prior to obsoleting.
3) Increase it's value after obsoleting. (How much? 50% more?)
I wonder if we could even make it a global define (which defaults to the current 0 value if missing)....