For our Planet Roanoke mod, I would like to incorporate a dynamic and functioning economic model that should be (a) fun, (b) realistic, (c) so simple even the AI could figure it out.
The Civ4 trading model and the cottage/town mechanisms are a big leap forward from Civ3. However, the model abstracts away at least one critical aspect of economies, the concept of competitive advantage (in play since at least since the industrial era). This concept is instead captured by bonuses -- fairly well, I might add.
However, what I would like to ask is if there is a way to merge the economy model with the bonus model. Just to be up-front about this, I am exploring this because we would like to model a frontier/colonial economy as part of our mod, and the existing system is too simple to represent the relative development between a developed and a developing nation/civ. (Outside of our scifi app, I think it would also open up Civ4 for more serious modeling, e.g. "How would you govern post-1947 India?").
========================================
Here are some concrete ideas I first posted here. I would like to open them up to criticism and debate with anyone who is interested in making the economic model more sophisticated.
1. Bonuses are no longer binary, but function more like gold. See, e.g., this discussion about an "Oil Treasury." Thus having 10 oil is different than having 1 oil (for purposes other than trading 9 away).
2. Therefore, bonuses behave more like yields: a bonus tile could potentially produce 5 corn rather than 1.
3. Each raw bonus is linked to a refined bonus. E.g., Dye and Cloth; Gems and Jewelry.
4. Now, here's the tricky part: generating the "refined" bonus depends on adequate supply of the raw good. I'm not sure how this should work, except that whatever the method is, it should involve significant investement of time/capital with an attached opportunity cost.
4a. One possible implementation of 4 -- A "cotton" tile can be improved in two ways: (1) Plantation that generates 2 cotton bonuses; (2) Textile factory that produces nothing at first, but eventually upgrades to generate 2 cloth bonuses. Disadvantage: Only cities that could have grown cotton can spin cloth. Though this coincidence is common in the real world, it's not necessary.
4b. A second possible implementation -- Some kind of building or process converts cotton into textiles, but the efficiency of that building or process varies depending on your infrastructure investment.
5. There is a viable marketplace, driven purely by supply-and-demand, for raw and refined goods. Fundamentally, I guess demand for the refined goods can be generated by whatever their benefit is (e.g. how much would each player pay for +1 happy, or whatever). Demand for the raw good will vary depending on the need to manufacture the refined good. Probably Dutch auction rules apply -- If X resources are available, top X bidders win and pay the same price, the lowest of the winning bids.
6. Assuming all of this can be done, the really hard part will be getting the AI to calculate what to do in steps 4-5. Its behavior should be based on rational calculus, not "faked," or else the market won't work. The result should (I think?) be that the value of cloth on the open market is higher than the value of cotton by exactly the opportunity-cost difference of investing in the cloth-manufacturing infrastructure, such that some players (AI or not) would conclude that the best option is to stick with raw production rather than refinement.
========================================
In terms of implementation, it might be simplest to strip all of the fancy labels and have only two resources: (1) Raw, and (2) Refined. If it works for one pairing, then it should work for 5 pairings, or 20.
========================================
Perhaps an easier UI and maybe AI, implementation would be to add option 4c to the above ideas. Your output of "Raw" could have a slider to determine how much is changed into "Refined." (Just like you eventually get the option to turn "Commerce" into "Culture"). The slider, however, has diminishing returns that can be improved with some kind of investment (?). It would then be a matter of math for everyone to calculate their optimal setting on that slider based on prevailing market prices (which, of course, are affected by the sum total of everyone's sliders).
========================================
I think Item 5 (marketplace for bonuses) seems easiest to create and doesn't rely on the other items. Each AI already calculates how much it values a bonus, so the demand side is easy. The supply side is trickier, but I think it's safe to presume that the AI will always put every excess bonus on the market. (More advanced behavior, though, may include cornering and then gouging the market).
========================================
An additional market mechanism: cap the number of a refined bonus available to 80% of the number of civs in the game, rounded down. So if you have 10 civs in the game, at any moment there can only be 8 of a refined good on the market, and 2 civs have to go without. Then, the raw:finished productivity ratio would be set by calculating backwards from the desired final number of refined bonuses.
========================================
Wow, all of this came out a lot more complicated than I had wanted to, esp. if we consider what it would take to program AI behavior. I welcome any thoughts on how to simplify this model to be something a reasonable human being can actually program using the Civ4 SDK!
Remember, my primary goal here is to model the concept of competitive advantage between nations, as well provide some kind of lever for the player to make strategic choices within that model.
Finally, I could be wrong that this can't be "faked." I would welcome any shortcuts that let us fake the core mechanic I've described.
The Civ4 trading model and the cottage/town mechanisms are a big leap forward from Civ3. However, the model abstracts away at least one critical aspect of economies, the concept of competitive advantage (in play since at least since the industrial era). This concept is instead captured by bonuses -- fairly well, I might add.
However, what I would like to ask is if there is a way to merge the economy model with the bonus model. Just to be up-front about this, I am exploring this because we would like to model a frontier/colonial economy as part of our mod, and the existing system is too simple to represent the relative development between a developed and a developing nation/civ. (Outside of our scifi app, I think it would also open up Civ4 for more serious modeling, e.g. "How would you govern post-1947 India?").
========================================
Here are some concrete ideas I first posted here. I would like to open them up to criticism and debate with anyone who is interested in making the economic model more sophisticated.
1. Bonuses are no longer binary, but function more like gold. See, e.g., this discussion about an "Oil Treasury." Thus having 10 oil is different than having 1 oil (for purposes other than trading 9 away).
2. Therefore, bonuses behave more like yields: a bonus tile could potentially produce 5 corn rather than 1.
3. Each raw bonus is linked to a refined bonus. E.g., Dye and Cloth; Gems and Jewelry.
4. Now, here's the tricky part: generating the "refined" bonus depends on adequate supply of the raw good. I'm not sure how this should work, except that whatever the method is, it should involve significant investement of time/capital with an attached opportunity cost.
4a. One possible implementation of 4 -- A "cotton" tile can be improved in two ways: (1) Plantation that generates 2 cotton bonuses; (2) Textile factory that produces nothing at first, but eventually upgrades to generate 2 cloth bonuses. Disadvantage: Only cities that could have grown cotton can spin cloth. Though this coincidence is common in the real world, it's not necessary.
4b. A second possible implementation -- Some kind of building or process converts cotton into textiles, but the efficiency of that building or process varies depending on your infrastructure investment.
5. There is a viable marketplace, driven purely by supply-and-demand, for raw and refined goods. Fundamentally, I guess demand for the refined goods can be generated by whatever their benefit is (e.g. how much would each player pay for +1 happy, or whatever). Demand for the raw good will vary depending on the need to manufacture the refined good. Probably Dutch auction rules apply -- If X resources are available, top X bidders win and pay the same price, the lowest of the winning bids.
6. Assuming all of this can be done, the really hard part will be getting the AI to calculate what to do in steps 4-5. Its behavior should be based on rational calculus, not "faked," or else the market won't work. The result should (I think?) be that the value of cloth on the open market is higher than the value of cotton by exactly the opportunity-cost difference of investing in the cloth-manufacturing infrastructure, such that some players (AI or not) would conclude that the best option is to stick with raw production rather than refinement.
========================================
In terms of implementation, it might be simplest to strip all of the fancy labels and have only two resources: (1) Raw, and (2) Refined. If it works for one pairing, then it should work for 5 pairings, or 20.
========================================
Perhaps an easier UI and maybe AI, implementation would be to add option 4c to the above ideas. Your output of "Raw" could have a slider to determine how much is changed into "Refined." (Just like you eventually get the option to turn "Commerce" into "Culture"). The slider, however, has diminishing returns that can be improved with some kind of investment (?). It would then be a matter of math for everyone to calculate their optimal setting on that slider based on prevailing market prices (which, of course, are affected by the sum total of everyone's sliders).
========================================
I think Item 5 (marketplace for bonuses) seems easiest to create and doesn't rely on the other items. Each AI already calculates how much it values a bonus, so the demand side is easy. The supply side is trickier, but I think it's safe to presume that the AI will always put every excess bonus on the market. (More advanced behavior, though, may include cornering and then gouging the market).
========================================
An additional market mechanism: cap the number of a refined bonus available to 80% of the number of civs in the game, rounded down. So if you have 10 civs in the game, at any moment there can only be 8 of a refined good on the market, and 2 civs have to go without. Then, the raw:finished productivity ratio would be set by calculating backwards from the desired final number of refined bonuses.
========================================
Wow, all of this came out a lot more complicated than I had wanted to, esp. if we consider what it would take to program AI behavior. I welcome any thoughts on how to simplify this model to be something a reasonable human being can actually program using the Civ4 SDK!
Remember, my primary goal here is to model the concept of competitive advantage between nations, as well provide some kind of lever for the player to make strategic choices within that model.
Finally, I could be wrong that this can't be "faked." I would welcome any shortcuts that let us fake the core mechanic I've described.