This was a third year university project. The brief was to write a scripted game engine with a particle system, and multiple levels.


System Architecture
System diagram
Welcome screen
Welcome screen
Level 1
Level 1 on easy difficulty


I hope to put Linux and Win32 versions here soon.

System Design

The base system simply provided a Lua interface for 'components' (loaded in via shared objects / dlls). There were only a few components written for the game: one that provided GLUT functionality; one that offered particles; and one that was concerned with sprites. The components could provide 'items', which were essentially objects derived from a pure virtual base class, and could offer any functionality desired. For instance, particle emitters were provided as items.

The game itself was completely Lua scripted, using its techniques for object orientation to make life a little easier.