Language: C/C++
Library: SDL, OpenGL ,Tiny Xml, OpenAL
Description: Single threaded game engine is implemented. It shows rendering, camera orientation, resource management, particle system etc. Through its implementation attempt was made to understand more about game engine architecture.
The demo at present has a character, enemy, tile system, health bar and a particle effect.
The engine structure consist of:
Input System - The input system is designed in such a way that depending upon the state of the game like the menu, play etc the control can be delegated and processed accordingly
Resource System - A resource in the game is characterized by its name, path and type.Through an xml resources are read and then stored in a data structure called map.
Graphics System - Instead of immediate mode of drawing, VBO (Vertex Buffer Object) are used which are more faster as the data resides in video memory rather than physical memory
Main aspects of this demo was:
Design pattern like Object factory and singleton.
Xml parsing was used to specify all the resources, maps details and other information needed by the game.
OpenAL for sound was used.
The project layout looked like:
Code Snippets:
GameScene.h
GameScene.cpp
Vector2.h