← Writing

Headless Game Development with Claude Code and Godot

Building a visual novel to test how far an AI agent can go when given full autonomy — including building its own development tools — in a headless Godot devcontainer setup.

Published · January 23, 2026 By · Brandon Wu
claude-codeaigame-developmentgodotdevcontainerdockervisual-novelindie-game-dev

This learning project explored how Claude Code and Godot work together for game development. I built a visual novel using Claude Code as the primary development interface to test whether an AI assistant could autonomously analyse problems, create solutions, and develop its own tools.

Key Findings

1. Headless-First Tools Enable AI Autonomy

Godot’s command-line interface, GitHub Actions, and Docker enabled Claude to execute the complete development cycle without GUI interaction. Everything runs from the command line — no clicking, no GUI automation.

The development stack included:

  • Godot 4.3 (headless mode)
  • Docker devcontainer with pre-installed tools
  • Claude Code CLI
  • GitHub CLI for issue and PR management
  • GitHub Actions for CI/CD
  • Python scripts for asset generation and deployment

The critical advantage was that every workflow step could be executed via terminal commands, allowing Claude to work independently within a secure container environment using the --dangerously-skip-permissions flag.

2. Claude Code Builds Tools for Itself

Rather than just writing game code, Claude created development utilities it then used to work more effectively:

  • Visual Node Editor: An interactive HTML editor for visualising story structure and branching narratives
  • Character Sheet Generator: Automated sprite creation with expression grids and auto-cropping
  • Screenshot Compositor: Asset composition for promotional materials without launching the game

This emergent behaviour demonstrated that Claude functions most effectively when given sufficient autonomy and appropriate constraints.

3. Personas as Autonomous Agents

I implemented two personas to reduce friction:

Morgan (PM Agent) had authority to:

  • Prioritise and order tasks
  • Implement features within guidelines
  • Fix bugs independently
  • Make creative decisions aligned with established documentation

Elena (Target Player Persona) represented the intended audience — a 29-year-old visual novel newcomer — allowing Claude to evaluate features from an end-user perspective.

Technical Architecture

The Docker devcontainer provided a reproducible environment containing Godot, Python libraries, Claude Code, and Git tools. This setup enabled secure, autonomous operation while maintaining a clear security boundary.

Godot’s CLI-first design proved particularly advantageous compared to engines like Unity, which require additional setup for headless operation.

Results

The completed visual novel is available at gblab.itch.io/tidewater-cove.

I acknowledge that AI-generated assets remain controversial — this project focused on workflow and tooling rather than artistic merit.

Conclusion

The combination of Claude Code and Godot demonstrated effective synergy for AI-assisted game development. The most surprising insight was observing Claude autonomously create and refine its own development tools — behaviour that emerged naturally when the agent had sufficient authority and appropriate constraints.