Fortress Coding Plan

Fortress: Coding plan
Since we're a bunch of loonies spread all over the face of our beautiful planet there won't be any formal code design process. But to avoid one person writing Fortretris and another one Defend the Fortress Quake mod here are some notes about what's going in and what not. A number of below steps can be implemented independently of each other.

Basic elements
UNDER CONSTRUCTION

Here's a list of basic game elements that should be coded independently before integrating them into a game. Such separation mainly serves as a time-saver -- developers will be able to quickly run separate tests without worrying about the rest of code.

(programmer's art is OK, it's models that count at this point)
 * Castle models 1: create skeleton wall elements
 * Castle models 2: create skeleton square tower elements
 * Castle models 3: create skeleton rounded tower elements
 * Castle models 4: create skeleton gate elements

Each step should of course include data structures design/refactoring phase. After each step all previous tests should be run to make sure there are no regressions.
 * Castle walls 1: straight walls should nicely grow up
 * Castle walls 2: walls should have all the bells & whistles on top (archer slits, cauldrons)
 * Castle walls 3: straight towers (square, rounded) should nicely grow up
 * Castle walls 4: towers (square, rounded) should have all the bells & whistles on top (archer slits)
 * Castle walls 5: gates should should nicely grow up
 * Castle walls 6: walls should be destroyed by a catapult (let gfx effects be replaceable later with code that displays catapult missiles fly, hit the walls, flying bricks that kill random people etc ;) )


 * Terrain 1: bare heightfield terrain with texture blending
 * Terrain 2: runtime modification (for moat digging), water (for moat)


 * Builders 1: make people run from/to destination points, run around in specified area (make the builders look busy); walls/towers should grow to 1/4 of their destination height
 * Builders 2: ladders: (simple version) ladders appear and people use them to build higher wall/tower parts; walls/towers should grow to their full height
 * Builders 3: check if building looks OK on gates
 * Builders 4: implement moat digging