This video shows a small game implemented on the game engine. It is called Semaphore MASTER. The player has to perform the correct flag semaphore for the letter on the screen using the Kinect as an input device. In return they get points and bonus time to enable them to play for longer (What more could a player want?).
Dynamic Linked Library
The game engine is a form of a DLL so that further updates don't require the recompiling of the game's source code.
OpenGL and DirectX9c renderers
The programmer chooses what renderer to initialise by calling the appropriate function accordingly and then the window is created (via the programmer calling a function) that renderer is used to render their objects.
Abstract object Hierarchy
Just like the UT3 engine and the id Tech 4 engine, the programmer has a choice to create various abstract objects. With these objects any scene / game can be made. They are stored and managed in the DLL so the program doesn't have to worry about memory allocations. These objects are: NPC, Player, StaticObject and textObject. They can be seen on the UML diagram here
The concept to take away as many jobs from the game's programmer was used while creating this program. The programmer is responsible for:
• Adding/removing scenes.
• Adding/removing objects from scene such as NPCs, players and text.
• Handling input, when a scene is created the user has to supply a function pointer to the input function.
• Starting the program, all that is needed for this is to define what renderer will be used then create a window for the program.
• Game logic and media content.
This ACW was mostly an exercise for designing a game engine rather than implementing one (that would be somewhat out of scope).