Clash of Towers is a tower defense game where players strategically place different types of towers to defend against waves of enemies.
The game includes a custom map editor, configurable difficulty settings, gold and tower management, and a wave spawning system.
Players must survive all enemy waves without letting their hit points drop to zero.
We highly recommend using IntelliJ IDEA as your main development environment for this project.
- IntelliJ offers excellent Java and JavaFX support out of the box.
- Scene Builder can be directly integrated inside IntelliJ IDEA to design
.fxmlfiles visually. - Maven is used for project management and dependency handling.
- Java 23+
- JavaFX 25
- Maven (for build and dependency management)
- IntelliJ IDEA (IDE recommendation)
- Gluon Scene Builder (for JavaFX UI design)
- Download and install Gluon Scene Builder from gluonhq.com.
- In IntelliJ IDEA:
- Right-click any
.fxmlfile → Open In SceneBuilder. - If not configured automatically, you can set the Scene Builder path under Settings → Languages & Frameworks → JavaFX.
- Right-click any
- This allows you to visually edit your game's UI screens directly from IntelliJ!
- Open the project in IntelliJ IDEA.
- Make sure you have Maven installed or let IntelliJ handle it automatically.
- Execute
mvn clean javafx:runfrom the project root. The Maven plugin launches thecom.example.gamemodule withcom.example.main.Mainas the main class. - The game window should appear. From there, you can:
- Start a new game
- Create and edit maps
- Save, load, and play through waves of enemies
- Place towers during the grace period before waves.
- Each wave spawns enemies that try to reach your base.
- Towers attack automatically when enemies are in range.
- Earn gold for defeating enemies and spend it to build or upgrade towers.
- Survive all waves without letting your hit points reach zero to win the game.
- Create your own custom maps with the Map Editor!