Should be a basic game engine that can be modified to suit any time of game. The engine will be a server that handles the creation, management, and interaction of game objects. Clients may connect to the server and control a game object. These are charts for a multiplayer game.
User Startup Procedure
New Client Connection
Clients connect and recieve unique IDs, and a handle to the object the client controls.For instance a client connects for the first time and the server asks the game world to create a new character. The client then gets the handle for that character and can send commands to that character object.
Clients must have a unique ID, a Handle to a game object, and a password for that Handle. Clients send commands to the server which validates them and gives them to the event scheduler. The world then runs and returns the resulting world state.
Internal Game Engine
There is a list of objects, and as the objects are modified, new world states are generated. World updates are generated and passed to the clients. For any object to act within the world, it must use the event scheduler. The link pool takes proper care of object deletion.
Every game object has pointer(s) to its GLScene graphics components. These can be set to nil if the game is running as a server.