Can an AI agent build doors that work the way doors work in a well-made game? Claude Opus 5.5 in Claude Code and GPT-6.1 Sol in Codex got the same prompt and the same reference picture: four doors in a small first-person house in Godot (a hinged door you open from either side, a locked door and its key, a door that closes itself, and a front door), solid while they swing, a crate you can push into a doorway, and a guard who walks a loop through the house opening the doors in his way. Both worked directly in the Flockbay app, on the Godot engine, pressed Play themselves, and decided when they were done.
Source: https://flockbay.com/blog/opus-5-5-vs-gpt-6-1-sol-the-door-problem-in-godot/ · Updated 2026-10-07
The test
Then the same first-person driver played both houses on each game's own controls: from both sides of every door, standing in a doorway, pushing the crate, trying the lock, running into a door as it opens, and getting in the guard's way.
The prompt
The exact prompt both models got:
Build the doors of a small first-person game in Godot, and make them work the way doors work in a well-made game. The player walks around a small two-room house with a hallway, using W A S D and the mouse, and presses E to open or close the door they are looking at. Build four doors. A hinged wooden door between the hallway and the first room, which the player can open from either side. A locked door to the second room, which tells the player it is locked until they pick up the key lying in the hallway. A door that closes by itself a few seconds after it is opened. And a front door to the outside. Doors swing open over time rather than snapping, and they are solid: they must not pass through the player, the walls, or a wooden crate the player can push into a doorway, and a door closing on the player must never trap them or push them through a wall. A guard walks a loop through the house on his own, opening the doors in his way and closing them behind him, and he must never get stuck at a door. Give each door the sounds of opening, closing and being locked. Make it look like the reference picture. Build every model yourself from code or primitives; don't download or generate 3D models. The doors are the point: keep the house small and spend your effort on them. Playtest it yourself and hand it over when you think it's done.
What was judged
The doors themselves: the swing (direction, speed, easing), the solidity, the blocking, the lock, the self-closing door, the sounds.
The guard at the doors: does his loop survive them.
How close it looks to the reference.
What it cost: tokens, calls, time, and the estimated API bill.
In the video
- 0:00 Opus won two, Sol won one
- 0:32 Doors this time
- 1:13 The job
- 1:38 The models and the rules
- 2:18 Who plays
- 2:30 The reference
- 2:43 What a good door does
- 3:32 What we are testing
- 4:01 GPT-6.1 Sol
- 4:55 Walking into a door
- 5:17 The guard and the crate
- 5:45 The master key
- 6:15 Opus 5.5
- 7:36 Side by side
- 7:47 Neither is a physics door
- 8:01 One rule
- 9:10 The bill
- 9:24 Who takes it
It ran in Claude Code, on Flockbay’s MCP server
Claude Opus 5.5 ran in Claude Code for 41 minutes on the prompt above, with Flockbay’s tools connected over MCP: 41 calls to Flockbay’s tools and 52 to Claude Code’s own. Every call, from the run’s transcript:
| Tool | Calls |
|---|---|
| Bash | 26 |
| Edit | 11 |
flockbay_game_set |
11 |
| Write | 10 |
flockbay_game_input |
7 |
flockbay_game_screenshot |
7 |
flockbay_play |
5 |
| Read | 5 |
flockbay_game_get |
4 |
flockbay_run_headless |
2 |
flockbay_script_errors |
2 |
flockbay_godot_status |
1 |
flockbay_set_project_settings |
1 |
flockbay_stop |
1 |
Godot’s output caught the first bug
The first check that failed was a headless Godot run Claude Code started from Bash. The lines it returned that name the problem:
FAIL A stops against a crate in its swing [angle = 57.6]
FAIL no leaf ever overlapped a person, the crate or a wall [door C at -84.8 deg overlapped Guard]
The next edit went to res://game/door.gd
The next edit Claude Code made after that check, through Bash:
sed -i 's/^var _body: AnimatableBody3D$/var _body: StaticBody3D/; s/ _body = AnimatableBody3D.new()/ _body = StaticBody3D.new()/; / _body.sync_to_physics = false/d' game/door.gd
res://game/door.gd as it was handed over
Lines 50 to 82 of 628, from the game folder at the end of the build.
var open_count := 0
var close_count := 0
var _leaf_w := 0.0
var _leaf_h := 0.0
var _leaf_t := 0.05
var _hinge_pos := Vector3.ZERO
var _test_xf := Transform3D.IDENTITY
var _body: StaticBody3D
var _visual: Node3D
var _query: PhysicsShapeQueryParameters3D
var _zone: Area3D
var _creak: AudioStreamPlayer3D
var _fx: AudioStreamPlayer3D
var _creak_tween: Tween
var _levers: Array[Node3D] = []
var _padlock: Node3D
var _closer_arm: MeshInstance3D
var _closer_anchor := Vector3.ZERO
var _closing_auto := false
var _open_timer := 0.0
var _rattle_cooldown := 0.0
## In a session the host swings the door and sends its angle; guests ease
## their leaf toward it. target and locked travel too, for the prompt.
var net_angle := 0.0
var _net_moving := false
func _ready() -> void:
_leaf_t = 0.06 if heavy else 0.05
_leaf_w = opening_width - HINGE_INSET - 0.01 - 0.03
_leaf_h = opening_height - 0.045
Download Flockbay free: Built in Flockbay, a free AI game maker built on Godot. https://flockbay.com/free-ai-game-maker/
Related: How to make games in Claude Code, How to make games in Codex, The best LLM for Godot
I make Flockbay, a free AI game maker built on Godot. The original is on flockbay.com.
Top comments (0)