A pixel art space shooter built entirely by a 9B parameter AI model running locally on a single RTX 3060.
One prompt. One GPU. Zero hand-written code.
- Model: Qwen 3.5 9B Q4_K_M
- Hardware: RTX 3060 12GB
- Agent: Hermes Agent by NousResearch
- Inference: llama.cpp at 35-50 tok/s
- Context: 128K tokens
- Iterations: 4 phases, ~6 prompts total
- Lines of code: 3,263 across 13 files
- Pixel art octopus enemies (4 types + boss)
- Particle effects and screen shake
- Procedural audio (no audio files)
- 4-layer parallax background
- Combo system and score tracking
- Level progression with wave clearing
- Boss fights at level 5+
- Power-up drops (health + weapon boost)
- Upgrade tier system
- Full game loop: menu > play > pause > game over > restart
cd space-shooter
python3 -m http.server 8000Open localhost:8000 in your browser.
- Mouse - Move ship
- Click - Shoot
- ESC - Pause/Resume
RTX 3060 12GB ($250 used on ebay)
└── llama.cpp (CUDA, flash attention, q4_0 KV cache)
└── Qwen 3.5 9B Q4_K_M (5.3GB GGUF)
└── Hermes Agent (31 tools, 11 model-specific parsers)
└── This game
| Phase | What | Bugs Found | Result |
|---|---|---|---|
| Initial | Full game from single prompt | Blank screen | 3,263 lines, 13 files |
| Iteration 2 | Bug fixes from bug list | 9 bugs | Game playable |
| Iteration 3 Phase 0 | Enemies array fix | Variable mismatch | Enemies appear |
| Iteration 3 Phase 1 | Start flow fix | Dual start system | Clean game entry |
| Iteration 3 Phase 3+4 | Levels + bullets | Level stuck at 1, 32px bullets | Progression works |
| Final | Spawn timing fix | initEnemies called too early | Game complete |
See prompts/octopus_invaders_prompt.md for the exact prompt used to generate the initial game.
See prompts/iteration3_plan.md for all iteration prompts and tracking.
MIT
@sudoingX using Hermes Agent by @NousResearch