Game Client Architecture

27
Game Client Architecture

description

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. - PowerPoint PPT Presentation

Transcript of Game Client Architecture

Page 1: Game Client Architecture

Game Client Architecture

Page 2: Game Client Architecture

Game Client

System Core

Graphics Core

Game CoreNetwork CoreInput Core

Sound Core

Scripting Core

GUI Core

Page 3: Game Client Architecture

Game Client

System Core

Graphics Core

Game CoreNetwork CoreInput Core

Sound Core

Scripting Core

GUI Core

Page 4: Game Client Architecture

Game Client

System Core

Graphics Core

Game CoreNetwork CoreInput Core

Sound Core

Scripting Core

GUI Core

Page 5: 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.• Main message loop for translating and

dispatching mouse and keyboard events. When there are no messages to process, call the users OnFrameRender() callback function.

Page 6: Game Client Architecture

Game Client

System Core

Graphics Core

Game CoreNetwork CoreInput Core

Sound Core

Scripting Core

GUI Core

Page 7: Game Client Architecture

Game Client

System Core

Graphics Core

Game CoreNetwork CoreInput Core

Sound Core

Scripting Core

GUI Core

Page 8: Game Client Architecture

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.

Page 9: Game Client Architecture

Game Client

System Core

Graphics Core

Game CoreNetwork CoreInput Core

Sound Core

Scripting Core

GUI Core

Page 10: Game Client Architecture

Game Client

System Core

Graphics Core

Game CoreNetwork CoreInput Core

Sound Core

Scripting Core

GUI Core

Page 11: Game Client Architecture

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.

Page 12: Game Client Architecture

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.

Page 13: Game Client Architecture

Game Client

System Core

Graphics Core

Game CoreNetwork CoreInput Core

Sound Core

Scripting Core

GUI Core

Page 14: Game Client Architecture

Game Client

System Core

Graphics Core

Game CoreNetwork CoreInput Core

Sound Core

Scripting Core

GUI Core

Page 15: Game Client Architecture

Network Core

• sdf

Page 16: Game Client Architecture

Game Client

System Core

Graphics Core

Game CoreNetwork CoreInput Core

Sound Core

Scripting Core

GUI Core

Page 17: Game Client Architecture

Game Client

System Core

Graphics Core

Game CoreNetwork CoreInput Core

Sound Core

Scripting Core

GUI Core

Page 18: Game Client Architecture

Input Core

• asdfs

Page 19: Game Client Architecture

Game Client

System Core

Graphics Core

Game CoreNetwork CoreInput Core

Sound Core

Scripting Core

GUI Core

Page 20: Game Client Architecture

Game Client

System Core

Graphics Core

Game CoreNetwork CoreInput Core

Sound Core

Scripting Core

GUI Core

Page 21: Game Client Architecture

Sound Core

• sdfdf

Page 22: Game Client Architecture

Game Client

System Core

Graphics Core

Game CoreNetwork CoreInput Core

Sound Core

Scripting Core

GUI Core

Page 23: Game Client Architecture

Game Client

System Core

Graphics Core

Game CoreNetwork CoreInput Core

Sound Core

Scripting Core

GUI Core

Page 24: Game Client Architecture

Scripting Core

• sdfad

Page 25: Game Client Architecture

Game Client

System Core

Graphics Core

Game CoreNetwork CoreInput Core

Sound Core

Scripting Core

GUI Core

Page 26: Game Client Architecture

Game Client

System Core

Graphics Core

Game CoreNetwork CoreInput Core

Sound Core

Scripting Core

GUI Core

Page 27: Game Client Architecture

GUI Core

• sdfads