Tower defense for developers. Towers are services, waves are traffic, creeps are requests, bosses are outages.
- JavaScript 100%
| node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709 | ||
| src | ||
| tests | ||
| package.json | ||
| README.md | ||
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