Original Post
Greetings.
This is an open design thread; a fall out from a thread I started before on the Article Requests forum.
Comments and ideas welcome from all; thread may eventually be used as a basis for an article on data modeling.
Objective:
- To design a state model for an RTS game.
- Have some fun doing so.
Scope:
For the purposes of this design, lets start with some pretty rigorous scope limitations. I propose (and I'm open to suggestions on this):
* Design covers a single model, State.
* State model is responsible for: game object definitions, game object interactions and game object organisation.
* State model is not responsible in anyway for other game subsystems.
* State model communicates only with two other modules: System Interface and Scheduler.
* State may use the System Interface to load data, and to hold copy of data (so other systems can use it too)
* State must accept new requests from the scheduler. These represent new input that affects the game state (for example, player input).
* Design must specify acceptable requests from the scheduler.
I think that covers it; basically, nothing but the game state is relevant in this module. Rendering, audio, whatever. Not important here; only focus is on data modeling and data objects for the game. The state module runs independently of whatever the user is doing, and only changes from the way it normally runs when the scheduler allows a user action (from a network, local interface or whatever talks to the scheduler) to reach it.
In reality, some of this information has to leak out so that the game state can be drawn for the user each frame, and so on. For the purposes on this design, lets not worry about that.
Notes:
This is not I hope, just going to be an exercise in writing a class hierarchy. The point of it is to do some modeling of the data objects, and how they interact. It may include one or more class hierarchies at some point though.
Finally, I guess this might not be quite the right forum for this, but its close enough. Anyone is welcome to drop in and make comments; if you arent interested, just ignore the thread.
Edit - Fixed a few spelling mistakes.
[edited by - Shadow Mint on June 14, 2002 11:02:03 PM]