Run Claude Code Game Studios or godogen in a live Godot editor
To run Claude Code Game Studios or godogen in a live Godot editor, put the repo's agents and skills in the folder of a game open in Flockbay and connect Claude Code to Flockbay's MCP server, flockbay. Both repos say a change is not done until the game has run; Flockbay's tools let Claude Code run it headless, play it with input actions, read its stdout and errors, and capture its viewport. We ran each repo once on 2 November 2026, and this page shows what they did. Flockbay is free, AI included: free hosted AI every day, or your own Claude, ChatGPT, agent or API key. It runs on Windows, macOS and Linux, on the official Godot engine.
TL;DR. As of 2 Nov 2026, on Windows: open a game in Flockbay, connect Claude Code to its MCP server, copy Claude Code Game Studios into the game's folder (or publish godogen into it), and run claude there. Claude Code Game Studios built a one-screen platformer in 10.7 minutes with 41 Flockbay tool calls; godogen built one in 9.7 minutes with 47. Both played their game to the win screen with input actions, and both found and fixed bugs by doing so.


AppImage, x86_64. Ubuntu 22.04, Debian 12, Fedora 39 or newer.
Intel or AMD Chromebook, with Linux turned on.
Claude Code Game Studios caught a bug that only shows on screen
Six minutes into the run, Coin Climb's code was finished and its unit test passed. Claude Opus 5.5 then played the level coin by coin, reached the win screen, and captured the frame. The line telling you to press R sat on top of a dimmed ledge and looked boxed in. No parse check, unit test or headless run catches that. A picture of the running game does.
It moved the text onto its own bordered panel, played to the win screen again, and filed both frames, before and after, under production/qa/evidence/ in the game's folder. That is the rule of the repo it was running, Claude Code Game Studios, carried out against a live Godot 4.7.2 editor through Flockbay's MCP server.
This page shows how to set that up, for Claude Code Game Studios and for godogen, and what each did in one real run: the prompt, the tool calls, and their real output.
Both repos put their hardest rule on the running game
Claude Code Game Studios, by Donchitos, is a template that turns a Claude Code session into a studio: 49 agents from directors down to specialists, 74 skills run as slash commands such as /setup-engine, /create-stories and /dev-story, hooks and path-scoped coding rules, with agent sets for Godot 4, Unity and Unreal Engine 5. One setting, modes.rigor, picks how much process it asks for, from a one-page brief at minimal to all eight sections of a game design document at full.
godogen, by htdt, is a generator rather than a template. It publishes a thin set of files into a game repo, a runtime manifest, a one-page engine guide and an asset-generation skill, and the agent builds the game from them, for Godot in GDScript or C#, Bevy, Babylon.js or three.js, with Claude Code or Codex.
As of 2 November 2026 they have 33,000 and 7,273 stars on GitHub, and both are MIT licensed. You might expect repos that size to be about their agents. Read their READMEs and the rule they hold hardest is about the game. Claude Code Game Studios will not close a story that changes what the player sees until the game has been launched, looked at, and a screenshot kept in production/qa/evidence/, at every rigor level. godogen's manifest has the agent judge its progress by the game running, not by a build that compiles, and show the result working rather than say it works.
What neither repo can give the agent is the running game itself. That comes from the engine and the tools around it. Flockbay is a free AI game maker built on Godot, and its desktop app serves those tools over MCP: Claude Code runs the game headless or in the Game screen, plays it with input actions by name, reads stdout and Godot's errors, reads live properties off the scene tree, and captures the viewport, all against the Godot editor the app has open.
The repos: Donchitos/Claude-Code-Game-Studios on GitHub, htdt/godogen on GitHub.
What you need before you start
A 64-bit Windows 10 or 11 PC, a Mac with Apple Silicon, or an x86_64 Linux machine. Both runs on this page were on Windows 11.
Claude Code, on a paid Claude plan or an Anthropic Console account. The runs used Claude Code 2.1.309 on Claude Opus 5.5, with Flockbay's server as its only MCP server.
Flockbay, which brings its own Godot: you do not need Godot on your PATH. In both runs Godot ran only through Flockbay's tools, on the Godot 4.7.2 the app bundles.
For Claude Code Game Studios, Git, plus what its README lists for its skills and hooks: Bash, which comes with Git for Windows, and Python 3. For godogen's publish step, Python 3 and rsync, which means macOS, Linux, or WSL on Windows.
Step 1: open a game in Flockbay
Install Flockbay and open a game. Both runs started from a new, empty 2D game made by the app, saved under Documents\Flockbay with the game's name. A Godot project you already have works too: press Open Godot project… and Flockbay asks before it adds anything to it.
Leave the game open. The tools that change scenes work through the Godot editor the app has open, and the tools that play the game start it there.
Step 2: connect Claude Code to Flockbay's MCP server
The Flockbay app writes this for you with the real paths filled in: open Connectors, press Set up on Connect your agent (MCP), press Turn on, pick Claude Code and press Copy. The three paths are specific to your machine and stay the same from one sitting to the next, so you paste it once. Below is the shape, with the paths as placeholders.
Paste it into PowerShell and press Enter. It registers one MCP server, flockbay, with --scope user, so Claude Code finds it in any folder, the game's included. In a Claude Code session, /mcp should list flockbay as connected. How to make games in Claude Code walks this step in full, with its troubleshooting.
claude mcp add --scope user flockbay -e "FLOCKBAY_MCP_DESCRIPTOR=<descriptor>" -- "<node>" "<coordinator>" --external-stage-mcpStep 3: Claude Code Game Studios goes into the game's folder as files
Its README starts a project by cloning the repo. A Flockbay game is already a folder with project.godot in it, so clone the repo somewhere else and copy the studio in beside project.godot: .claude/ with the agents, skills, hooks and rules, CLAUDE.md, project.yaml, and the design/, docs/, production/ and src/ folders. Keep its LICENSE with it, as MIT asks. That is exactly what went into the game for the run on this page, unchanged.
Change My Game to your game's folder name. A new Flockbay game has none of these, so nothing in it is overwritten.
Then open a terminal in the game's folder and start claude there. Its README says to start Claude Code at the project root, the folder with CLAUDE.md and project.yaml in it: from a subfolder, the studio's hooks, deny rules and permission prompts do not load.
Setup in its own words: Donchitos/Claude-Code-Game-Studios on GitHub.
git clone https://github.com/Donchitos/Claude-Code-Game-Studios.git "$env:TEMP\ccgs"
cd "$env:USERPROFILE\Documents\Flockbay\My Game"
Copy-Item -Recurse "$env:TEMP\ccgs\.claude", "$env:TEMP\ccgs\CLAUDE.md", "$env:TEMP\ccgs\project.yaml", "$env:TEMP\ccgs\design", "$env:TEMP\ccgs\docs", "$env:TEMP\ccgs\production", "$env:TEMP\ccgs\src" .
Copy-Item "$env:TEMP\ccgs\LICENSE" .\LICENSE-claude-code-game-studios
claudeStep 4: give the studio one small game
The run on this page used Donchitos/Claude-Code-Game-Studios at commit 05ad7c8, of 19 October 2026, and this prompt, word for word. It asks for /setup-engine at minimal rigor, the README's default, and for a game small enough to finish: one screen, one enemy, primitives for art.
The prompt also told Claude Code to run and test the game only through Flockbay's tools, and named them. That line is there for this page, so that every run and check is a tool call we can show you. Leave it out and Claude Code has the same tools; the line only made sure every check went through one.
Asking for input actions by name, move_left, move_right, jump and restart, is worth keeping. It is what lets the agent press jump in the running game rather than guess a key.
Set this studio up for Godot 4.7 with /setup-engine, at minimal rigor, then build this game the studio's way: a one-screen 2D platformer: run, jump, collect coins, one patrolling enemy, a win screen. This folder is already a Godot 4.7 project; build the game in it. Use primitives, and don't download or generate any art or sound. Make every key an input action so it can be pressed by name: move_left, move_right, jump and restart. Run and test the game only through Flockbay's tools: flockbay_play, flockbay_run_headless, flockbay_script_errors, flockbay_game_input, flockbay_game_get, flockbay_game_set, flockbay_game_screenshot, flockbay_game_step, flockbay_game_time, flockbay_last_run and flockbay_stop. Don't start Godot from your own shell, and if one of those tools can't do something you need, say exactly what was missing in your handover. Playtest it yourself and hand it over when you think it's done.Run 1: the studio wrote one page of design, then built against it
Claude Code ran /setup-engine first. flockbay_godot_status reported the Godot 4.7.2-stable editor open on the game, which matched the pin, so the skill filled in CLAUDE.md, technical-preferences.md and VERSION.md for GDScript and set modes.rigor to minimal in project.yaml. Its own setup check reported one mismatch, the expected one: the test command points at gdUnit4, which /test-setup installs and the run did not.
At minimal rigor the studio's design is a one-page brief. design/game-brief.md names the game, Coin Climb: eight coins on a single 1280×720 screen of ledges, one walker on the floor, a win screen, and a list of what is out of scope. Five stories followed under production/epics/coin-climb/, one per feature. The handover says it wrote the code itself rather than running /dev-story on each story.
The input map went in through flockbay_set_input_action, one call per action, and the viewport size and the 2D physics layer names through flockbay_set_project_settings. Ten scripts and five scenes later, flockbay_script_errors answered with Godot's own parse check: no errors in 10 scripts.
Added the input action move_left: A, Left, Joypad Button 13 (D-pad Left), Joypad Axis 0- (deadzone 0.2).
Added the input action move_right: D, Right, Joypad Button 14 (D-pad Right), Joypad Axis 0+ (deadzone 0.2).
Added the input action jump: Space, W, Up, Joypad Button 0 (Bottom Action, Sony Cross, Xbox A, Nintendo B) (deadzone 0.2).
Added the input action restart: R, Joypad Button 6 (Start, Xbox Menu, Nintendo +) (deadzone 0.2).Run 1: the unit test passed headless before anything was played
The coin counter got a test scene that quits with exit code 0 on a pass and 1 on a failure. flockbay_run_headless ran it on the bundled Godot and returned the exit code and the scene's stdout, below as it came back. A second headless run booted the main scene for 3 seconds: exit code 0, 0 errors and 0 warnings.
A headless run proves the game starts. It cannot show you a win screen. For that the run asked flockbay_run_headless for a drawn background run, which renders the game at 1280×720 in a window off your screen, muted, and leaves your own Play alone.
Ran res://tests/unit/coin_counter/coin_counter_test.tscn headless: it quit by itself with exit code 0 after 0.02 s of game time (frame 1 of 300).
0 errors and 0 warnings.
[4] ok two collects count 2
[5] ok first of two does not complete
[6] ok second of two completes
[7] ok is_complete after last coin
[8] ok completed emitted once
[9] ok collect after complete returns false
[10] ok count does not exceed total
[11] ok zero total is not complete
[12] ok negative total clamps to 0
[13] ok changed reports (1, 8)
[14] CoinCounter tests: PASS (0 failures)Run 1: every coin was collected with input actions, one leg at a time
The route took eight legs, low-left ledge to middle, middle to high-left, up to the top, and back down the right side to the floor. Each leg was a flockbay_game_input call: hold a direction for a number of physics ticks, press jump on a given tick, watch that coin's collected signal, and sample the player's position on the way. Below is the second leg as it came back. The drop to the floor's right corner carried the player past its coin to the wall, x 1246 against the coin's 1210, so one more short step left took it.
The samples settled the numbers a playtester argues about. Run speed is 320 px/s. A jump rises 166 px, from y 660 to an apex of 494, which clears the 120 px between ledges. The last coin sat on the enemy's path, so the call waited for the enemy to turn and walk left past x 600, then ran in behind it.
Then the edges: touching the enemy emitted died and put the counter back to 0 with the coin back in place; restart reset the player to (60, 660); and a run-and-jump from x 400 cleared the enemy walking toward it, with no died.
Played 4 input events over 1.7 s and 103 physics ticks, from game time 28.450 s (game tick 1707) to 30.150 s (game tick 1809).
/root/Main/Player: Player, read 6 times a second (the physics ticks at 60 Hz) for 1.7 s: 11 rows.
The first and last rows were read from game time 28.467 s (game tick 1708) to 30.133 s (game tick 1808).
ms is the input's clock (at_ms counts on it); tick counts physics ticks from the first reading.
ms | tick | position
30 | 0 | Vector2(263.35953, 539.92523)
186 | 10 | Vector2(302.6929, 539.92523)
343 | 20 | Vector2(356.02676, 502.5075)
530 | 30 | Vector2(409.3602, 412.09085)
686 | 40 | Vector2(462.69363, 374.45197)
843 | 50 | Vector2(516.02704, 389.59088)
1030 | 60 | Vector2(569.3602, 419.92526)
1186 | 70 | Vector2(622.69336, 419.92526)
1343 | 80 | Vector2(643.69336, 419.92526)
… 2 more rows the same, through ms 1686 (tick 100)
Signals: 1 emission.
/root/Main/Coins/CoinMiddle.collected(node(Coins/CoinMiddle)) at game tick 1778 (29.633 s)Run 1: the fix came from a picture, and the picture stayed in the project
The eighth coin brought up the win screen, and the frame showed the hint line over the dimmed ledge. The fix put the text on a PanelContainer, and flockbay_scene_tree showed it in the scene the editor had open. A fresh drawn run then set the player onto each coin with flockbay_game_input's set steps, since the real route had already been played, and the new win screen is the first picture on this page.
Restart from the win screen was checked with flockbay_game_screenshot, which reads values from the same frame it captures. Below is what came back: the player back at (60, 660), the counter at 0, the win screen hidden.
The last check was a real Play in the Game screen, the one you press, with a short burst of input: flockbay_play reported 0 errors and 0 warnings. The playtest record is production/qa/playtest-2026-11-02.md, a table of every check, how it was run and what was read back.
The frame pictured and read: game time 118.017 s, game tick 7081.
/root/Main/Player: Player
controls_enabled = true
global_position = Vector2(60, 660)
is_dead = false
/root/Main: Node2D
coins_collected = 0
won = false
/root/Main/WinScreen: WinScreen
visible = false
/root/Main/HUD/Margin/CoinsLabel: Label
text = Coins: 0 / 8Run 1 took 10.7 minutes and 41 Flockbay tool calls
From start to handover: 10.7 minutes, 58 model calls on Claude Opus 5.5, and about $4.47 at API prices. The run went through a Claude subscription, so that figure is an estimate, not what it was billed.
The 41 Flockbay calls were 15 flockbay_game_input, 6 flockbay_game_get, 4 flockbay_run_headless, 4 flockbay_set_input_action, 3 flockbay_game_screenshot, 2 flockbay_script_errors, 2 flockbay_scene_tree, 2 flockbay_godot_status, and one each of flockbay_play, flockbay_set_project_settings and flockbay_guide. Beside them were 26 file writes and 20 shell commands, about half of those reading the studio's own skill references and templates.
The handover left three things to you: a lead's sign-off on how the level looks, which the studio's rules require for a visual story, how the game feels to play, and a real gamepad.
godogen publishes a thin repo into the game's folder
godogen's publish.sh renders its files for one engine and one agent into a target folder. For a Godot game in GDScript on Claude Code, point --out at the game's folder. It writes CLAUDE.md from godogen's runtime manifest, godot-gdscript.md, the asset-gen skill under .claude/skills/, a .gitignore if there is none, and runs git init. Keep godogen's LICENSE.md with them, as MIT asks.
publish.sh is a Bash script that needs Python 3 and rsync, so run it on macOS, Linux, or WSL on Windows, where a game in Documents\Flockbay is at /mnt/c/Users/ followed by your user name and /Documents/Flockbay/. The PC these runs were on has neither, so the same substitutions were made by a short script; the files are the ones publish.sh writes. Leave off --force: it empties the target folder first.
godogen also publishes for Codex with --agent codex, which writes AGENTS.md and .agents/skills/ instead. A Flockbay game already has an AGENTS.md, Flockbay's note on how to run that game, and publishing for Codex replaces it. We ran the Claude flavour only.
Publishing, in its own words: htdt/godogen on GitHub.
./publish.sh --engine godot-gdscript --agent claude --out <game folder>Run 2: the same game, asked of godogen
The run used htdt/godogen at commit 40542b6, of 16 October 2026, published as above, on Claude Code 2.1.309 and Claude Opus 5.5, in its own new 2D game. The prompt asks for the same game as run 1, without the studio's setup line. godogen has no setup step: its manifest points the agent at the engine guide and leaves the rest to the run.
It read godot-gdscript.md, set the four input actions and the project settings through Flockbay's tools, and wrote five scripts and one main scene: a player with coyote time, jump buffering and a short hop, eight floating platforms, ten spinning coins, a patrolling blob, and end screens for a win and a loss. flockbay_script_errors found no errors in 5 scripts, and it kept the project's status in README.md, as godogen's manifest asks.
Make a one-screen 2D platformer: run, jump, collect coins, one patrolling enemy, a win screen. This folder is already a Godot 4.7 project; build the game in it. Use primitives, and don't download or generate any art or sound. Make every key an input action so it can be pressed by name: move_left, move_right, jump and restart. Run, capture and test the game only through Flockbay's tools: flockbay_play, flockbay_run_headless, flockbay_script_errors, flockbay_game_input, flockbay_game_get, flockbay_game_set, flockbay_game_screenshot, flockbay_game_step, flockbay_game_time, flockbay_last_run and flockbay_stop. Don't start Godot from your own shell, and if one of those tools can't do something you need, say exactly what was missing in your handover. Playtest it yourself and hand it over when you think it's done.Run 2: landing on the enemy killed the player, and the samples showed why
After playing each platform hop on its own, the run tested a stomp: it set the player at (645, 450), above the blob, let it fall, and sampled position, velocity and dead twenty times a second. The rows below are the end of that call, trimmed. The player fell onto the blob and dead turned true on tick 507, with Godot's overlap reported a frame after the feet were already inside the blob.
The fix had the blob check contact itself every physics frame, comparing where the player's feet were on the frame before. The same drop afterwards bounced on tick 30 with no died. The bounce was small, which showed a second bug: the short hop for an early release was cutting it too, so the cut now applies only to the player's own jumps.
The third bug came from a side-on hit. The knocked-out player kept collecting coins as it fell off screen, so the HUD read 1/10 while the lose screen said 0/10. A dead player no longer collects coins.
ms | tick | position | velocity | dead
8373 | 501 | Vector2(645, 591.6667) | Vector2(0, 679.99994) | false
8404 | 504 | Vector2(645, 628.5) | Vector2(0, 764.9999) | false
8467 | 507 | Vector2(642.5, 647.5556) | Vector2(-150, -471.66666) | true
8530 | 510 | Vector2(635, 626.80554) | Vector2(-150, -386.66663) | true
Signals: 1 emission.
/root/Main/Player.died() at game tick 9354 (155.900 s)Run 2: the proof was one fixed-step Play of 40 input events
godogen wants a result proven, not claimed. The run proved it with flockbay_play at a fixed 60 frames per second and seed 7: one Play in the Game screen from the first frame, 40 input events over 995 physics ticks, every one an input action, with the died signal watched. The first attempt reached 9 of 10 coins, the last hop 40 px short, so the final run right was held longer and the Play went again.
The second Play collected all 10 coins, stomped the blob and reached the win screen at 14.8 seconds, the second picture on this page. Below is the part of flockbay_play's answer that says so: no emission of died, and 0 errors and 0 warnings. After the coin fix, a third Play set up a side-on hit: died fired on tick 22, and flockbay_game_screenshot read coins_collected = 0 and state = Lost from the frame.
For a run you were not watching, godogen's guide also asks for a 15 to 20 second clip recorded with Godot's movie writer from the shell. This run's prompt kept Godot off the shell, so it made none and said so in its handover.
"inputAnswer": {
"at": { "seconds": 16.567, "tick": 994 },
"duration_ms": 30985,
"events": 40,
"from": { "seconds": 0, "tick": 0 },
"signals": { "emissions": [] },
"ticks": 995
},
"errors": 0,
"warnings": 0Run 2 took 9.7 minutes and 47 Flockbay tool calls
From start to handover: 9.7 minutes, 48 model calls on Claude Opus 5.5, and about $3.18 at API prices, again an estimate for a run that went through a subscription.
The 47 Flockbay calls were 25 flockbay_game_input, 4 flockbay_play, 4 flockbay_script_errors, 4 flockbay_set_input_action, 3 flockbay_run_headless, 3 flockbay_game_get, 2 flockbay_game_screenshot, and one each of flockbay_set_project_settings and flockbay_guide. Beside them were 7 file writes, 10 edits and 7 shell commands.
godogen wrote no design documents and spent more calls on play: 25 input calls against the studio's 15, and three bugs found by playing against the studio's one. That is one run each, on one small game, so read it as what happened, not as a ranking.
The repos bring the process; Flockbay brings the running game
Neither repo was changed for these runs, and neither needed to know about Flockbay. Claude Code Game Studios brought the setup skill, the brief, the stories and the QA rule that a visual change needs a kept screenshot. godogen brought the manifest, the engine guide and the rule that the running game, not the build, is the judge.
Flockbay brought what those rules ask for, as tool calls on a live Godot editor: flockbay_script_errors for Godot's GDScript parse errors without running anything; flockbay_run_headless for an exit code and stdout, or a drawn run off your screen; flockbay_play for the Game screen, at a fixed frame rate and seed when the run needs to repeat; flockbay_game_input for input actions on exact physics ticks, with signals watched and properties sampled; flockbay_game_get for live values; and flockbay_game_screenshot for the frame itself, with values read from the same frame.
Everything they made is a plain Godot 4 project in a folder on your machine. Open it in Godot's own editor, read the GDScript, and commit it to Git.
What neither run could tell you
Whether Coin Climb is fun. Both agents measured their jump and both reached the win screen. Claude Code Game Studios' handover said it plainly: how the game feels to play, and a real gamepad, are yours to check. Judging a game you did not code is where that part starts.
These are two runs, one per repo, on Windows 11, with Claude Code and Claude Opus 5.5, on a one-screen game. A larger game at a higher rigor level runs longer and writes more documents, as Claude Code Game Studios' README says of its own tiers.
Flockbay's server also connects to Codex, Cursor and other MCP clients, and the Godot MCP guide has the setup for each. These two repos were run on Claude Code only.
What running a game-skill repo on Flockbay costs
Connecting Claude Code to Flockbay is free, and both repos are free and MIT licensed. You pay Anthropic for Claude on the plan you already have. At API prices the two runs here would have cost about $4.47 and $3.18; on a subscription they came out of its usage.
Neither run generated art or sound: the prompts asked for primitives. godogen's asset-gen skill uses its own local tools or the paid APIs it names, on your keys, if you ask it for assets.
Questions
- What is Claude Code Game Studios?
- An MIT-licensed template by Donchitos for Claude Code: 49 agents, 74 skills, hooks and coding rules that run a game project like a studio, with agent sets for Godot 4, Unity and Unreal Engine 5. Its modes.rigor setting picks how much design and QA process it asks for.
- What is godogen?
- An MIT-licensed generator by htdt. It publishes a runtime manifest, an engine guide and an asset-generation skill into a game repo, and Claude Code or Codex builds the game from them, for Godot (GDScript or C#), Bevy, Babylon.js or three.js.
- Do they work with Godot 4.7?
- Yes. Claude Code Game Studios' /setup-engine pinned Godot 4.7 and matched the Godot 4.7.2 editor Flockbay had open, and godogen's run built a Godot 4.7 game in GDScript from its godot-gdscript guide. Both runs here were on Godot 4.7.2.
- Do I need Godot on my PATH?
- Not with Flockbay. In both runs Godot ran only through Flockbay's tools, on the Godot it bundles. godogen's own recording step calls Godot from the shell, which does need it on your PATH.
- Does Flockbay change either repo?
- No. Claude Code Game Studios was copied into the game's folder unchanged, and godogen's files are the ones its publish.sh writes. Claude Code reads them from the folder, and gets Flockbay's tools from its MCP server.
- Is Flockbay part of either project?
- No. Claude Code Game Studios and godogen are independent open-source projects by Donchitos and htdt. Flockbay is a separate, free AI game maker built on Godot, and its MCP server is one their agents can call.
A free AI game maker built on Godot, for Windows, macOS and Linux. Connecting Claude Code is free.
Download Flockbay free