The Java Tower Defense app is a new game to improve your Java programming skills for your Android smartphone. This game is an extension to lectures and lab sessions. By playing the game, you will have another chance to learn and practice Java while you are on the way. The levels are designed to be playable during idle times, e.g. at the bus stop. The following sections will explain the game in detail.

Get it on Google Play

How to play

Before you start, please fill a survey, which can be found here inside the app. We can assure that it only takes a few minutes!


Main Menu

main screen

This is how the game starts. If you have not entered your user id, you can't start the game. You can do this by tapping on the "Login" button. After that you can either start the game in story mode by clicking on the "Start" button or you can choose a specific level by tapping on "Select level". The highscore functionality will be activated in the next version. So you will be able to compete against your fellow students. In the "News" section you will get latest information about the app (e.g. updates).


login screen

Here you have to enter your user id. You can also optionally choose a nickname, which will be used in the next version to be displayed in the highscore list. After pressing the "Login" button you will return to the main menu and you can start the game.

Mission screen

mission screen

Here will get information how to solve the level. Read this carefully since the game checks if you solved each task. Clicking on the "Start level" button leads you to the next screen.

Implementation screens

implementation screen

In this screens you have to write Java code in order to define the behaviour of a specific tower. In some levels you also have to place the towers on the game grid via Java code. By clicking "Help" you will get additional information how to solve the level. The "Check" button allows you to proof analyze your code anytime if your code is correct (see next screen). If your code is correct, you can proceed by clicking the "Continue" button.

Implementation error

mission error

If your code has errors, you will get detailed information about it. When you think that your code is correct and the game did not do the check correctly, you will be able to send your code via email to project team anytime. If an error is detected in the level, a new level will be published immediately.

Implementation help

implementation help

This screen provides additional help. Besides hints how to solve the current level, additional online resources for further reading are provided here.

Game screen

game screen

This is the actual game screen. In some levels you can place towers by tapping on the game grid. In other levels, these towers are positioned via Java code. If the bugs reaching the finish and you have lost the game, you can restart it as often as you want.

Level rating

level rating

After you have successfully solved a level you will be asked to rate this level. This helps us to improve new levels. You can proceed to the next level by tapping on the "Continue" button.


Since the Java Tower Defense game is a research project, we need to collect some usage data in order to find out to what extent the game can support the Java learning process. The following information are collected and stored in the app and our server (hosted at our university and at Google):

  • User id
  • Nickname (if provided)
  • Course name
  • Device name and Android version
  • For each level:
    • Level id
    • Timestamp when level was started
    • Timestamo when level was completed
    • Tries to solve the level
    • Rating
    • Comments
These information are only transferred when you are connecting to a WIFI network.