Project
Roulette

Tower Defence

Place towers, watch waves path around them, and hold the line.

AdvancedWeb appGame16–34hAI-buildable 3/5no setup

Enemies path from entrance to exit while you place towers to stop them. The interesting rule is that towers block the path, so placement changes routing — and you must never let a player wall the path off entirely.

UI
Logic
Useful

Hosting · Free forever

Deploys free on GitHub Pages, Cloudflare Pages or Vercel Hobby.

Deploy it and share a link.

Core features · 7

  • A grid where towers are placed with a cost
  • Enemies path from entrance to exit avoiding towers
  • Placing a tower reroutes existing enemies
  • A placement that would fully block the path is refused
  • Waves of increasing difficulty with a between-wave pause
  • Towers have range, fire rate and upgrade levels
  • Lives, currency and a game over state

The interesting part

  • Recomputing paths for many enemies whenever a tower is placed
  • Detecting a fully blocking placement before allowing it
  • Targeting logic that stays fast with many towers and enemies

Once it works

  • Add tower types with different damage profiles
  • Add enemy types with resistances
  • Add a wave editor

Suggested stack

reacttypescripttailwindcanvas-api

Track it