Proposed Engine

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

startup

goto top

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.

new client connection

goto top

Client Control

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.

client control

goto top

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.

internal game engine

goto top

Graphics Engine

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.

graphics engine

goto top