Basic Architecture of a 3D Video Game
1. Subclass Index
Even without knowing what type of game we will write, there will always be a common platform, allowing for dialogue modules, for interfacing different engines set Thursday
I will use the following tools:
* Irrlicht for 3D rendering the input user
* CEGUI for the management of menus and 3D graphics not
* Asio for network management and Threads
* Irrklang for sound
* Boost
The game will contain modules more or less independent, managing each aspect of the game The objective is obviously to make possible the development of different modules in parallel, without it generating any side effects in other modules.
2. Constraints, objectives
* The architecture should be able to suit up for game types, so do make any assumption on use will be made.
* We have a very strong constraint of performance: the proposed architecture should be as light as possible both in CPU, memory or in disk space required.
* The architecture should also be light in network usage in order to facilitate rapid exchanges and supported by the bandwidths smaller.
* The modules are the basic pieces of architecture, they will be able to communicate quickly and easily between them.
* In a multiplayer game, it will benefit from the powerful machines for their assigned tasks such as management of non-player characters.
The graphics engine
The graphics engine will manage the display, including 3D objects or simply menus. It must implement all pure virtual functions of parent class engine. This is also the graphics engine that will manage keyboard input and mouse.
The audio engine
The audio engine is the simplest of all the modules. I pressed IrrKlang, it leaves more to implement a sound management base. IrrKlang is still in development, some of the final features are not yet available, particularly for the detection of sounds, I have therefore implemented any functionality related to this aspect.
The audio engine is the only one with the physical path to the audio (wav, ogg …). All modules that wish to start playback of a sound will provide the logical name of his playing. The audio engine will have a table of correspondence between the logical names and physical names.
Get more information about game development in http://gmpoint.net
Incoming search terms:
Categories: Articles Tags: 3d Graphics, 3d Objects, 3d Video Game, Architecture, Audio Wav, Basic, Basic Architecture, Cegui, Constraint, Cpu Memory, Disk Space, Game, Game Types, Graphics Engine, Keyboard Input, Knowing What Type, Management Base, Multiplayer Game, Network Management, Physical Path, Proposed Architecture, Sound Management, Video, Virtual Functions