A PvP tower defense deckbuilder set in the paranoid, glorious aesthetic of 1950s B-movies and Atomic Age pulp fiction. GI squads, shambling horror movie monsters, and silver-skinned alien invaders clash on hand-animated pixel art battlegrounds. Each card you play builds a defensive tower and sends a mook into your opponent's lane — the pressure is cumulative, the decisions are asymmetric, and the vibe is pure Cold War dread dressed up as entertainment.
Built on Phaser 3, with 22 test suites and 159 passing tests. Single-player tower defense is playable now. The game is in Phase 3: generating and integrating the art that turns a working prototype into something with presence.
The three flavor mechanics — Impact, Psionic, Atomic — form a rock-paper-scissors triangle that rewards deck composition and punishes pure aggression. Factions unlock progressively across waves, giving players time to learn each archetype before facing all three simultaneously.
Getting pixel art walk cycles from AI image APIs is a genuinely hard problem. A still image is easy. A walk cycle requires 4–8 frames where the character looks like the same character in each frame, with distinctly different leg positions, viewed from four compass directions. That's 16–32 images that must be consistent with each other.
Two full sessions of R&D explored and rejected several approaches:
A vision analysis of early walk-cycle attempts identified the core problem precisely: the generated frames kept returning to a balanced standing pose between steps. Real walk cycles never pass through perfect balance — they go contact, passing, contact, passing, always off-weight. The AI was generating bobs, not walks.
The solution came from finding the right tool. PixelLab (api.pixellab.ai) is a
purpose-built pixel art generation and animation API — not a general image model asked to
produce pixel art, but a system designed from the start for this use case.
The key failure mode with PixelLab was discovered early: feeding non-native references
(OpenAI-generated painterly images) into the rotate and animate endpoints degraded badly.
The pipeline only works when the source image is native PixelLab pixel art. The
direction parameter on animate-with-text is a hint, not a
command — the rotate step is what actually orients the character.
All 13 mook types are implemented with sprites, stats, entity classes, and wave assignments. Wave composition uses weighted random draws from the available pool, with progressive faction introduction — WW2 first, then Horror, then Alien.
Modular scene/entity/system pattern built on Phaser 3 and Vite. The game splits cleanly into systems that own their domain:
Four tower types (Machine Gun, Cannon, Slow Tower, Ammo Depot) interact with the mook roster
through the balance config, which keeps all tuning numbers in one place. The 8-directional
Machine Gun tower uses a pre-composited base-plus-turret sprite at 96×96, batch-generated
with create_tiles_pro for turret consistency across rotations.
The soundtrack uses four custom-generated tracks integrated from ACE-Step local music generation: AtomicWave (main theme), Victory, Defeat, and WaveIntense.
| Phase | Description | Status |
|---|---|---|
| 0 – 2 | Foundation, core tower defense, audio | COMPLETE |
| 3 | AI-generated art — 1950s B-Movie sprites via PixelLab | ACTIVE |
| 4 | Cutscenes & narrative | PENDING |
| 5 | Card / deck system (the core PvP mechanic) | PENDING |
| 6 | Backend persistence | PENDING |
| 7 | PvP multiplayer — async 1v1, ranked play | PENDING |