Artillery Game

A turn-based, three-player game written in Haskell. Each player controls a tank, with a set of weapons, and the objective is to destroy the tanks of the other players.

The project implements all game physics from scratch, by implementing the equations for gravity and kinematics. Tracking and movement of projectiles (weapons), tanks, and their turrets is handled by these equations, along with detection of collisions and their magnitude of impact. The GLUT library has been used for graphics. The game map internally consists of a highly granular grid of points, with all operations happening at various coordinates on the grid.

The game, along with the code and rules to play, can be found on GitHub.