This was the Master final thesis. It was team work with two programmers and two artists. It's a post-apocalyptic RTS which bases its gameplay on capturing key buildings and training units in them.
It was done under Windows 2000 with Visual Studio .NET 2003. The rendering engine uses DirectX 9.0c, rendering most of the elements with the programable pipeline. We use view frustum culling to cull the not-visible terrain chunks, besides, we test the frustum with each building on the cell to drop still a llitle more buildings. For this project we use our own binary format (with a custom exporter) and DDS textures. We use a toolkit for skeletal animation, Cal3D. It's open source, very easy to integrate and the code can be easily understood. We decided to use SOLID for collision detection because we need to make test against a lot of elements, so with SOLID we get a efficient solution (because it's numeric based) and we don't need very complete data about the collision (only boolean tests and depth information). We have used Lua to implement an init script, but, at the end, we didn't use it a lot.
Some of my contributions to the project were:
- The rendering engine and the application bootstrap (with DXUT), the first version (with fixed pipeline) and the current one (with the programable one)
- SFX: specular lighting, tinting
- The Mesh exporter for 3dsmax and a tool to divide the level on terrain chunks
- Integration of SOLID
- Integration of Cal3D with our programmable pipeline engine (using GPU for skinning)
- The AI design and programming
- Bitmap fonts
- The current basic UI and the DirectInput wrapper classes
- Setting up and mantaining our SVN code repository
Screenshots

Demo
You can download the demo for Windows. You need DirectX 9.0c and a video card with pixel shader 2.0. Tested on a P4 2.0GHz with Windows 2000 and an Nvidia FX5600 (works great with Nvidia 6600, may have some glitches with ATI cards).
If you want to see the code (of the game or the MaxScript tools) drop me an e-mail asking for it.
Controls
left mouse: select (you can use drag and make a multiple selection)
right mouse: action
arrow keys: move the camera
ALT + left mouse: rotate camera (centered)
ALT + right mouse: rotate camera (orbiting)
k: create units from a vivienda
Esc: exit the game
