[Dev-sig] Economic/Transport Simulations
Emerson, Tom (*IC)
Tom.Emerson at wbconsultant.com
Mon Aug 20 15:01:29 PDT 2007
I may soon have "plenty of time on my hands" [the end of my contract at
WB is on the horizon...] so I'm back to thinking about my pet project:
YATS [Yet Another Transport Simulator -- at least it has a name now!]
The last time I brought this up, I/we got sidetracked into the world of
3d graphics and open-GL (which was cool -- I certainly learned some neat
stuff...)
BUT: I don't want to get hung up on "what it should look like" -- I
really want to focus on the "game engine" that makes the thing run --
what it looks like should simply be a "view" of the internal state of
the simulation, and while the design should allow for easy integration,
it doesn't need to be "the first thing that gets built".
As it is, the "engine" is really nothing more than a set of "classes"
(objects) with some interaction between themselves. At the simplest
level, there are (or should be) "resources", "producers", "consumers",
and "transports" with the "goal" of the engine to manage the
transportation of resources from production to consumption.
And, of course, you'll need to track "when" it is within the simulation
as well as "where" everything exists -- after all, it takes both TIME
and SPACE to keep everything from happening all at once (and in the same
spot...), so a "game clock" will be needed to provide life for the
simulation by regularly initiating "update" events as well as some
representation of "the world"...
Then things begin to get complicated: what sort of "resources" are we
talking about? Different resources will have different requirements.
Some resources may be automatically replenishing [water from a well]
while others may be limited to the initial quantity [metal ore in a
mine] and others may need explicit replenishment [trees in a forest, cut
one down and plant another...]
The "production" of a resource might take multiple steps, and in fact
resources may be transformed from one to another -- trees become wood
and sawdust; sawdust becomes paper; paper + ink becomes a newspaper;
etc. The transformation might incur a waste cost [not all the "sawdust"
is suitable for conversion to paper] and so on. Some items, once
produced, might spoil before they are consumed [food for instance]
Once produced, the product needs to get from the production facility to
a sales facility, and along the way may spend some time in storage...
Consumers will "demand" varying amounts of different resources (and on
different timescales) -- "food", for instance, is needed pretty much
daily, while a "car" is replaced only every 3-5 "game years"
Every time I think about this, and how different "objects" should
interact, I get an explosion of objects and interactions...
AND to top it off, you kind of need to define the role of the USER of
the software -- is this a micro-management "god" game, or an
out-do-your-neighbor-by-building-a-bigger-monopoly type game...
So... Who is interested in pursuing some of these "goals" as a
programming project?
More information about the Dev-sig
mailing list