Skip to content

quiver-dev/tower-defense-tutorial

Repository files navigation

Outpost Assault Thumbnail

2D Tower Defense Course for Godot 4

Brought to you by Quiver

This is the accompanying code base for the 2D tower defense course for Godot 4.

Prerequisites

Godot 4.0 or later.

Features

  • 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

Topics covered

  • Godot 4's new features:
    • The massively-upgraded TileMap system
    • The Navigation Server API
    • Physics bodies, including the new CharacterBody2D
  • 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

Installation Instructions

  • 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!

Questions/Bugs/Suggestions

For bugs and feature requests, feel free to file an issue here or comment on the course page.

Share with the community!

If you manage to incorporate this code into your next project, please share with the Quiver community!

About

This is the accompanying codebase for Quiver's 2D tower defense course for Godot 4.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published