Castles was developed as part of the Simulation course in the final year of my degree. It aims to be a simple turn-based game between upto 4 players, where each player is responsible for defending a castle. Along with defending their castle, each player must attempt to destroy the others using a cannon.
Use of physics is applied in knocking down the castles, and simulating the projectile motion of the cannon-balls. As the game stands currently, there are two types of cannon-ball that can be used by a player - a normal (free) cannon-ball and a (more costly) grenade cannon-ball that explodes after a short interval, knocking nearby objects over.
Technologically speaking the features include:
- Two physics integrators - RK4 and Euler.
- Impulse based collision solver.
- Implemented entirely in C++, with use of boost and the STL.
- Graphics are driven by Direct3D, with FX files for providing flexible shading that (could) scale up with GPU capability.
- Collision detection between spheres, boxes and planes.
This release of castles was developed in a short timeframe, and as such is a little ...buggy. Specifically, the collision detection can be spongy at times, to the point of objects getting stuck inside each other. The collision response is also a little overdramatic at times (it's possible to make the middle tower do somersaults with the right application of a grenade).
I'm currently in the process of rewriting the collision handling to have a more ...well... sane implementation :).