270 likes | 354 Views
Game Client Architecture. System Core. Register user defined callback functions. Create a window. Attach a swap chain to the window. Run users OnCreateDevice () callback function.
E N D
System Core • Register user defined callback functions. • Create a window. • Attach a swap chain to the window. • Run users OnCreateDevice() callback function. • Main message loop for translating and dispatching mouse and keyboard events. When there are no messages to process, call the users OnFrameRender() callback function.
Graphics Core • Create an object for the display adapter. Current support is for a D3D10Device. • Create a render target and bind it to the swap chain of the window created by the System Core. • Create a depth stencil buffer.
Game Core • Create a scene graph for objects that are instanced multiple times. monsters, trees, etc. • INode class: Basic component for the scene graph. • Public virtual destructor: Allows derived classes to specify cleanup operations appropriate for their object. • Private std::vector<INode*> m_children: Creates a list of child nodes for the current node.
Game Core • Create an asset class for all objects that are created only once. meshes, textures, etc. • IAsset class: Basic component for the asset class. • Public virtual destructor: Allows derived classes to specify cleanup operations appropriate for their object. • Private std::vector<INode*> m_children: Creates a list of child nodes for the current node. • Derived classes from IAsset can be used in the game client without recompiling the game core and are dynamically resolved at runtime.
Network Core • sdf
Input Core • asdfs
Sound Core • sdfdf
Scripting Core • sdfad
GUI Core • sdfads