OTD is a tower defense game written with Java by using LibGDX. Game works both on Android and Desktop (tested on Ubuntu,MacOS,Windows).
Here is the game play running on the Android emulator.
This is the desktop gameplay.
Clone this project with following command:
git clone https://github.com/ogzkrt/OTD.git
Then import it as a Gradle project with IDE of your choice. It has been tested both with Eclipse and Android Studio.
or
Download the desktop-1.0.jar from the /jars folder and execute the following command.
java -jar desktop-1.0.jar
Game consist of three part which are.
- Score Board ( On the top )
- The maze that we are going to build our towers. ( Center )
- Controlling Menu ( On the bottom )
Score board is located on the top. It allows you to see Damage,Attack Speed and Range of the currently selected tower. It also shows the current Score and Money.
This is the place that we are going to build our towers. You are not allowed to build towers to the path which enemies are following.
On the bottom there is a menu which allows you to control the game. This menu also consist of three part.
On the bottom left, you can see three button which you can drag and drop to build a tower. Currently three type of tower exist.
Fire Tower (Projectile Shooting)
Ice Tower (Projectile Shooting, also slows down the enemies)
Electricity Tower (Continuous Shooting)
These buttons controls the state of the game.
You can pause and resume the game.
When you are so sure that you can clear the wave, you can speed up the game.
You can restart the game with another random maze, if you don't like the current one.
You can go to the Menu State.
These buttons can upgrade selected towers if you have enough money.
Attack (Increase the damage of the selected tower, after every usage it's price doubles up.)
Range (Increase the range of the selected tower, after every usage it's price doubles up.)
Attack Speed (Increase the attack speed of selected the tower, after every usage it's price doubles up.)
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.