STD is a version in the space of the famous game Tower Defense.
There is a grid in which you can put spaceships to defense your land. Waves of
asteroids come to attack you, so you need to install a big defense in order to
keep the game going.
Each spaceship automatically shots from the left to right, but in case a well-known number of asteroids are on the same line behind the spaceship, this starts to shot from right to the left.
There are three types of spaceships:
- SNOW : very cheap white spaceship, very fast moving and shooting, but very weak
- GRASS : green spaceship with a cost, speed, and frequency of shooting in the average. Stronger than SNOW spaceship
- BLOOD: very expensive red spaceship, very slow moving and shooting but very hard to destroy. Very useful near the border of grid to create a defensive "wall"
Each time a spaceship is hit by an asteroid, if it is not a SNOW spaceship, it is turned in a lower type of spaceship, otherwise it is destroyed. For example a BLOOD spaceship can become a GRASS spaceship.
You can add only one spaceship per cell, if you can pay a well-known value with your score.
Asteroids can move only from right to left, and if they reach the left border
score is decreased according on a well-known value.
Pay attention, because if you
reach a negative score and you have not any other spaceships, you lose the
match. Otherwise, until you have some spaceships alive, you can keep going with
the game.
If you kill every asteroid in a wave, you can call a next wave.
Every wave has a bigger number of asteroids, so make sure you have a great defense!
- p: Game in pause
- h: Show help page
- a: Launch a new wave of asteroids
- q: Select spaceship SNOW
- w: Select spaceship GRASS
- e: Select spaceship BLOOD
- mouse left-key: put a ship inside a cell
- Linux distribution
- GLUT is required for the GUI
A very basic GUI is used for the game. Thanks to Guillaume Perez for his GLUT based library.
Clone the repository:
$ git clone --recursive git@github.com:lukesmolo/STD.git
You can have a look at the Configuration.h file in order to set your favorite values
Compile the program:
$ make
If you modify Config.h file, please clean all and compile again:
$ make clean
$ make
libEngine.a, the GLUT based library used in this project for GUI, was written
by Guillaume Perez.
Here his project.
STD is released under the GPLv2 license.
- improve asteroids