This is the accompanying code base for the 2D tower defense course for Godot 4.
Godot 4.0 or later.
- Tower placement
- Three different towers, including gatling, cannon, and missile towers
- Three enemy types, including infantry, tanks, and helicopters
- Various projectile types, including bullets, shells, and missiles
- Enemy pathfinding
- Basic enemy AI
- UI and HUD
- Player-controlled camera
- In-game economy
- Godot 4's new features:
- The massively-upgraded
TileMap
system - The Navigation Server API
- Physics bodies, including the new
CharacterBody2D
- The massively-upgraded
- Signals
- Class inheritance
- Scene composition (or aggregation)
- Character navigation and movement
- Character animation
- Using AnimationPlayers for explosions
- Collision detection
- AI implementing the Finite State Machine (FSM) pattern and states
- Creating UI and HUD using themes with the built-in Theme Editor
- Scene switching/reloading
- This project uses Git Large File Storage (LFS) to store asset binaries. To initialize it make sure you have LFS installed, then simply run
git lfs install
- Clone this repository from Github
- Open the project file with Godot 4 and run it to play the Outpost Assault demo!
For bugs and feature requests, feel free to file an issue here or comment on the course page.
If you manage to incorporate this code into your next project, please share with the Quiver community!