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 PresentationTRANSCRIPT
![Page 1: Game Client Architecture](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/1.jpg)
Game Client Architecture
![Page 2: Game Client Architecture](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/2.jpg)
Game Client
System Core
Graphics Core
Game CoreNetwork CoreInput Core
Sound Core
Scripting Core
GUI Core
![Page 3: Game Client Architecture](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/3.jpg)
Game Client
System Core
Graphics Core
Game CoreNetwork CoreInput Core
Sound Core
Scripting Core
GUI Core
![Page 4: Game Client Architecture](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/4.jpg)
Game Client
System Core
Graphics Core
Game CoreNetwork CoreInput Core
Sound Core
Scripting Core
GUI Core
![Page 5: Game Client Architecture](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/6.jpg)
Game Client
System Core
Graphics Core
Game CoreNetwork CoreInput Core
Sound Core
Scripting Core
GUI Core
![Page 7: Game Client Architecture](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/7.jpg)
Game Client
System Core
Graphics Core
Game CoreNetwork CoreInput Core
Sound Core
Scripting Core
GUI Core
![Page 8: Game Client Architecture](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/9.jpg)
Game Client
System Core
Graphics Core
Game CoreNetwork CoreInput Core
Sound Core
Scripting Core
GUI Core
![Page 10: Game Client Architecture](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/10.jpg)
Game Client
System Core
Graphics Core
Game CoreNetwork CoreInput Core
Sound Core
Scripting Core
GUI Core
![Page 11: Game Client Architecture](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/13.jpg)
Game Client
System Core
Graphics Core
Game CoreNetwork CoreInput Core
Sound Core
Scripting Core
GUI Core
![Page 14: Game Client Architecture](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/14.jpg)
Game Client
System Core
Graphics Core
Game CoreNetwork CoreInput Core
Sound Core
Scripting Core
GUI Core
![Page 15: Game Client Architecture](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/15.jpg)
Network Core
• sdf
![Page 16: Game Client Architecture](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/16.jpg)
Game Client
System Core
Graphics Core
Game CoreNetwork CoreInput Core
Sound Core
Scripting Core
GUI Core
![Page 17: Game Client Architecture](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/17.jpg)
Game Client
System Core
Graphics Core
Game CoreNetwork CoreInput Core
Sound Core
Scripting Core
GUI Core
![Page 18: Game Client Architecture](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/18.jpg)
Input Core
• asdfs
![Page 19: Game Client Architecture](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/19.jpg)
Game Client
System Core
Graphics Core
Game CoreNetwork CoreInput Core
Sound Core
Scripting Core
GUI Core
![Page 20: Game Client Architecture](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/20.jpg)
Game Client
System Core
Graphics Core
Game CoreNetwork CoreInput Core
Sound Core
Scripting Core
GUI Core
![Page 21: Game Client Architecture](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/21.jpg)
Sound Core
• sdfdf
![Page 22: Game Client Architecture](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/22.jpg)
Game Client
System Core
Graphics Core
Game CoreNetwork CoreInput Core
Sound Core
Scripting Core
GUI Core
![Page 23: Game Client Architecture](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/23.jpg)
Game Client
System Core
Graphics Core
Game CoreNetwork CoreInput Core
Sound Core
Scripting Core
GUI Core
![Page 24: Game Client Architecture](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/24.jpg)
Scripting Core
• sdfad
![Page 25: Game Client Architecture](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/25.jpg)
Game Client
System Core
Graphics Core
Game CoreNetwork CoreInput Core
Sound Core
Scripting Core
GUI Core
![Page 26: Game Client Architecture](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/26.jpg)
Game Client
System Core
Graphics Core
Game CoreNetwork CoreInput Core
Sound Core
Scripting Core
GUI Core
![Page 27: Game Client Architecture](https://reader036.vdocuments.us/reader036/viewer/2022062315/568161ce550346895dd1c07d/html5/thumbnails/27.jpg)
GUI Core
• sdfads