This is the page where the real work begins, where there are all the reference to what is to be done and how.

Software architectureEdit

The software architecture is the way source files are separated and subdivised.

Graphic User Interface or GUIEdit

This will describe how everthing that will be visible and interactable, like buttons or menus will be done.


Objects are what is in the game, also called entities. This will describes how these objects are subdived into files.


Helpers are all thoses littles functions and libraries that help us program and debug the code.

Formats and conventionsEdit

Programmers Conventionnal Interface or PCIEdit

The PCI will describe the common way to code, so every participant will have the same structure, the same way to call things.

  1. Names : public variables/functions should start with a lowercase, and any additionnal word with an uppercase. Examples : thisIsMyFunc(), isReady, varName, hasFocus(), getLength(), ...
  2. Classes : object classes begin with a 'C' and the name starting with an uppercase. Examples : CPoint, CMonster, CMap, CTower, ...
  3. Libraries should return the table containning the functions collection.
  4. 'Apps' is the only global variable authorized, it handles gamestates and messages.

Link to new object file template.

Link to new child file template.

Code filesEdit

This is where we say how they are structured.


This is where we say how the documentation files are structured, in this wiki, in the LaTeX form and the READMEs that will be with the open sources libraries.

Data filesEdit

This is where the data files structure is described.



Open zonesEdit

Enclosed zonesEdit