Tower defense for developers. Towers are services, waves are traffic, creeps are requests, bosses are outages.
  • JavaScript 100%
Find a file
2026-06-30 11:14:45 +00:00
node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709 test: add e2e tests 2026-06-28 11:10:38 +00:00
src feat(#1): tower defense engine — towers, waves, creeps, upgrades, ASCII map 2026-06-15 19:38:01 +00:00
tests fix: e2e tests now use CommonJS require for node --test compatibility 2026-06-30 11:14:42 +00:00
package.json feat(#1): tower defense engine — towers, waves, creeps, upgrades, ASCII map 2026-06-15 19:38:01 +00:00
README.md feat(#1): tower defense engine — towers, waves, creeps, upgrades, ASCII map 2026-06-15 19:38:01 +00:00

code-tower-defense

Tower defense for developers. Towers are services, waves are traffic, creeps are requests, bosses are outages.

Usage

const { Game, TOWER_TYPES, CREEP_TYPES } = require('./src/game');

const game = new Game('Production Defense');

// Place towers
game.placeTower(TOWER_TYPES.CACHE, 0, 0);
game.placeTower(TOWER_TYPES.WAF, 2, 0);
game.placeTower(TOWER_TYPES.CDN, 4, 0);

// Start wave
game.startWave();

// Run simulation
for (let i = 0; i < 200 && !game.gameOver; i++) game.tick();

// Upgrade towers
game.upgradeTower(0);

console.log(game.mapView());
console.log(game.report());

Towers

  • Cache ($50) — Slows requests, fast fire, low damage
  • CDN ($70) — Long range, splash damage to multiple creeps
  • WAF ($80) — Blocks malicious requests, high damage
  • Rate Limiter ($40) — Fires very fast, slows everything
  • Auth ($100) — Instant kills unauthenticated requests
  • Logging ($30) — Reveals stealth creeps, no damage

Creeps

  • GET Request (HP 30) — Basic, weak, plentiful
  • POST Request (HP 60) — Heavier, more damage
  • Bot Crawler (HP 45) — Fast scraper
  • Aggressive Scraper (HP 80) — Ignores rate limits
  • DDoS Zombie (HP 50) — Fast, in massive numbers
  • Stealth Probe (HP 40) — Invisible without logging tower
  • API Abuser Boss (HP 500) — The final boss