How Godogen's Claude Code Skills Solve LLM Game Development
A developer has spent a year building Godogen—a pipeline that uses Claude Code to generate complete, playable Godot 4 projects from text prompts. What makes this remarkable isn't just the output, but how it solves three specific engineering bottlenecks that typically break LLM-generated code.
The Three Bottlenecks Godogen Solves
1. GDScript Knowledge Gap
LLMs have minimal training data on Godot's GDScript, which has ~850 classes and a Python-like syntax that invites hallucinated Python idioms. Godogen solves this with a custom reference system:
- A hand-written language specification
- Full API docs converted from Godot's XML source
- A quirks database for undocumented engine behaviors
- Lazy-loading of only needed APIs to avoid context window bloat
2. Build-Time vs Runtime State
Godot scenes are generated by headless scripts that build node graphs in memory and serialize to .tscn files. This avoids fragile hand-editing of Godot's format but creates a phase problem: certain engine features (like @onready or signal connections) only exist at runtime.
The solution was teaching the model which APIs are available at which phase, plus ensuring every node has its owner set correctly (or it silently vanishes on save).
3. Visual QA That Actually Works
Coding agents are biased toward their own output. Godogen uses a separate Gemini Flash agent as visual QA that sees only rendered screenshots—no code—and compares them against generated reference images. This catches visual bugs text analysis misses: z-fighting, floating objects, physics explosions, and unnatural grid-like placements.
The Claude Code Architecture
Godogen runs as two Claude Code skills:
- Orchestrator: Plans the entire pipeline
- Task Executor: Implements each piece in a
context: forkwindow so mistakes and state don't accumulate
This separation keeps the system focused and prevents error accumulation across tasks.
How To Try It Now
# Clone the repository
git clone https://github.com/htdt/godogen
cd godogen
# Set up a new game project
./publish.sh ~/my-game # Uses teleforge.md as CLAUDE.md
# OR with a custom CLAUDE.md
./publish.sh ~/my-game local.md
This creates a target directory with .claude/skills/ and a CLAUDE.md, then initializes a git repo. Open Claude Code in that folder and tell it what game to make—the /godogen skill handles everything.
Requirements & Setup
- Godot 4 (headless or editor) on PATH
- Claude Code installed
- API keys as environment variables:
GOOGLE_API_KEYfor Gemini (image generation and visual QA)TRIPO3D_API_KEYfor Tripo3D (image-to-3D conversion, 3D games only)
- Python 3 with pip
- Tested on Ubuntu/Debian (macOS needs X11/xvfb/Vulkan workaround)
Performance Notes
- Model choice matters: Claude Opus 4.6 delivers best results. Sonnet 4.6 works but needs more user guidance.
- Time investment: A single generation run can take several hours
- Cloud option: Running on a GCE instance with T4/L4 GPU keeps your local machine free and provides GPU for screenshot capture
- Teleforge integration: The default
CLAUDE.md(teleforge.md) includes Telegram bridge for monitoring progress from your phone
Why This Matters for Claude Code Users
Godogen demonstrates how to structure complex Claude Code workflows:
- Separate planning from execution using multiple skills
- Use
context: forkto isolate tasks and prevent state contamination - Build custom reference systems for domain-specific knowledge gaps
- Implement visual validation when code correctness isn't enough
This approach isn't just for game development—it's a blueprint for any Claude Code project where LLMs lack domain-specific training data or where output requires multi-modal validation.
Future Directions
The developer mentions migrating image generation to grok-imagine-image (cheaper) and spritesheets to grok-imagine-video for animated sprites. This shows the pipeline's modular design—components can be swapped as better/cheaper alternatives emerge.
Demo video: https://youtu.be/eUz19GROIpY (real games, not cherry-picked screenshots)

