|
Author
|
|
Topic: Economy Model OO Planning |  |
|
Mark_Everson Clash of Civilizations Project Lead Canton, MI, USA b.02-15-99
|
 |
posted January 03, 2001 21:39
  |
 |
 |  |
This is my first shot an object design for the economy model. I haven't thought really hard about this, but will put up my initial ideas on the object model here for people to comment on. First I will define the basic objects in the economic model, and then say how they can be aggregated to give the different classes that represent a whole economy. Sector -- is a sector of the economy such as farming or manufacturing. This object is in charge of producing the sector's output, such as food or manufactured goods. Sector is only used at the lowest level of the economy, for example the economy associated with a MapSquare. SectorStats -- are statistics associated with a given sector of the economy. Things like how much is produced in a sector, what the wages are, etc. SectorStats can be held at any level of the economy, even the economy for the whole civilization will have a SectorStats object associated with the agriculture sector.... In this case the statistics will simply be the aggregated statistics of all the smaller units in the civilization. EconStats -- are the same as SectorStats, except the information it holds pertains to the economy as a whole, rather than an individual sector. Marketplace -- handles prices for various goods, and mediates trades between the government, the people, and merchants PrivateSector -- handles what non-government individuals do when they get their hands on stuff... Consumption of goods by the public, as well as investment, and decisions by new workers of where they should work (provided the government gives them that discretion) are covered here. PublicSector -- stores and implements government orders regarding the economy Infrastructure -- Educational institutions, military training facilities, etc. Infrastructure does all the things that buildings do in Civ2. The things above can be assembled into various Economy objects. Right now I am coding up a version of the economic model where most of the action happens at the MapSquare level. That is the version of objects I will present here. It is also possible that we will run the economy at the Province level primarily, and just keep track of some limited information at the MapSquare level. I think the collection of basic objects I have is sufficient to do both options, but I'm focused on the MapSquare-level economy now. For now the information on the different types of sector is available, and also infrastructure, is held in associated "Info" classes. So the SectorInfo class has information about the farm sector, resource extraction sector, manufacturing sector, and services sector. At some point we may make these independent objects (FarmSector, ServicesSector) that inherit from a base Sector class. MapSquareEconomy
- EconStats
- Sectors (each sector has a SectorStats object)
- Marketplace
- PrivateSector
- PublicSector
- Infrastructure (actually, infrastructure is held in the MapSquare in each Terrain type, I just list the infrastructure here because it is an important component of the economy)
HighLevelEconomy (This can either be an economy associated with a Civilization or Province. So there will really be to classes that inherit from HighLevelEconomy, but they are similar so I won't distinguish between them here)
- EconStats
- SectorStats for each economic sector
- PublicSector
Well, that's about it for now. Does this look reasonable to the other programmers? Any big problems? I've tried to avoid "sprawling class syndrome" and kept each of the classes tightly focused on a single job. |
Lord God Jinnai Prince Arnold, Mo 63010 Sep 1999
|
 |
posted January 08, 2001 00:28
  |
 |
 |  |
quote:
 Sector -- is a sector of the economy such as farming or manufacturing. This object is in charge of producing the sector's output, such as food or manufactured goods. Sector is only used at the lowest level of the economy, for example the economy associated with a MapSquare.
 |
This should include lumbering, mining, etc. quote:
 PrivateSector -- handles what non-government individuals do when they get their hands on stuff... Consumption of goods by the public, as well as investment, and decisions by new workers of where they should work (provided the government gives them that discretion) are covered here.
 |
How many you having of these? cuz at the bare minimum there should be one for small/family business and larger businesses because they behave entirely differntly. quote:
 It is also possible that we will run the economy at the Province level primarily, and just keep track of some limited information at the MapSquare level.
 |
I still think using Rich's idea for ecological provinces combined with your ecomic admistrative provinces will lead to better and more sensible results without too much headache and no needing to bend the rules at all (which you want to try to avoid from what you said about the loss of grain in an emergancy situation dealing with the infra and econ models).OOPS. Forgot when my browser crashed...i want to know if u can clarify how the wonders will work with this and the infra model since they aren't ordinary buildings of whatever type they are. [This message has been edited by Lord God Jinnai (edited January 08, 2001).] |
Mark_Everson Clash of Civilizations Project Lead Canton, MI, USA b.02-15-99
|
 |
posted January 08, 2001 07:39
  |
 |
 |  |
LGJ:[edited] Wonders will be a different animal from ordinary infrastructure. After a little thought, I'd say Wonders should be completely independent from Infra. Although if there turn out to be unifying features we can have a Wonder as an Infra object, just with more capabilities or data, and some limitations, like it only works when completed. PrivateSector... We Can't model every detail in the world. Anyways, a single private sector is Certainly adequate for anything we will do in the near future IMO.
[This message has been edited by Mark_Everson (edited January 08, 2001).] |
LDiCesare Settler La Ferté sous Jouarre France Jan 2001
|
 |
posted January 12, 2001 07:43
 |
 |
 |  |
Question about Merchants: Do you have something to represent trade routes? Trade routes can be pirated etc, and I believe I read that supply of armies in the military model could be done through specialized merchants, so basically it'd be a trade route from a square to an army in the case of military, or to another square in most cases. Does your merchant object do that, or just takes care of what can be sold at what price? |
Mark_Everson Clash of Civilizations Project Lead Canton, MI, USA b.02-15-99
|
 |
posted January 12, 2001 12:55
  |
 |
 |  |
Hi Laurent:Marketplace is just for prices and deals. There will be an independent Merchant class that will encompass: trade routes, capital controlled by the merchant (which a ruler can confiscate, but then screw up the economy just as in real history), cargo capacity available and whether for land, sea or whatever, and specific routes used other possible fun things are that certain Merchants can be characters, guard strength or whatever if we do pirates, and I'm sure I've forgotten other good stuff. but I'm not ready for coding it up yet! For now each local economy will stand on its own. |
F_Smith Settler
b.02-15-99
|
 |
posted January 12, 2001 17:34
 |
 |
 |  |
This seems good, Mark.I'll look it over in more detail later, but it seems you're doing well. |
Mark_Everson Clash of Civilizations Project Lead Canton, MI, USA b.02-15-99
|
 |
posted January 15, 2001 10:33
  |
 |
 |  |
Status report:The econ coding is going pretty well. Most of the map square level stuff is done enough for the first release. I also have crude infrastructure classes running. I've put in a "consumer stuff" class to give the people something to invest in that improves their physical well-being. Once all the bugs are kicked out, I could add as many infra classes as we want. Next steps: First I will flesh out the PublicSector class so the govt can give orders to the economy. Then I will work on getting the high-level econ stuff (CivEconomy etc.) going. Then I'll move on to a simple alpha interface. Then it will be time for a release! Following that I'll be ready for infra again in detail. After that Trade and Merchants. (I'm also cross-posting similar to this in the Infra). |
Mark_Everson Clash of Civilizations Project Lead Canton, MI, USA b.02-15-99
|
 |
posted February 10, 2001 21:28
  |
 |
 |  |
Just a quickie status report. I have done everything I said I'd do above. Its looking really cool, and you can see the dynamics of the economy and it equilibrating to what the govt demands from it already! I haven't yet gotten to trade and merchants, since there's a Lot of other things to clean up for demo 5. There is also substantial discussion of what I've been doing in the Econ II thread and also some in Axi's infra model. Soon you guys will be able to see it in action! | |