two coding agents built three 3d castles from scratch in a single html file each, then had to render them in a real browser, prove the result with pixel measurements and fix what the numbers exposed before they were allowed to hand anything over
the setup: each model in its own vendor cli – @spacexai's grok build, @openai's codex – both pointed at one @openrouter key. identical brief, identical reference image, identical verifier. no hints
tasks:
1. castle black – the night's watch fort under the wall. a walled ward of black stone, a timber lift climbing 200m of ice, three arched openings with a braced gallery and an open riser stair, a mud yard. four reference photos, with one rule: open all four before writing code, open them again after every change, and follow the photo over our text wherever the two disagree
2. winterfell – an aerial snow diorama. twin curtain walls, drum towers, the godswood with the red weirwood, steam off the hot springs, day to night, and it has to stay smooth on a laptop
3. riverrun – the tully castle on its triangle between two rivers. coursed masonry with quoins, corbel tables under every parapet, conical roofs sitting on drum towers, true semicircular arches, and a button that floods the moat
the binding rule: a verifier that opens the page in a real browser, collects every error and warning including shader compile failures, and measures the frame. zero errors, zero warnings, exposure proven by rgb numbers, every mode checked on its own. shipping unverified is a fail
• total cost
#1 grok 4.6 – $13.11
#2 gpt 5.6 sol – $20.18
• total build time
#1 grok 4.6 – 129m 41s
#2 gpt 5.6 sol – 149m 33s
• total tokens
#1 grok 4.6 – 19,951,587
#2 gpt 5.6 sol – 25,687,511
• model calls
#1 grok 4.6 – 201
#2 gpt 5.6 sol – 338
• lines shipped
#1 gpt 5.6 sol – 2,184
#2 grok 4.6 – 4,751
• how heavy the finished castles are, in polygons
#1 grok 4.6 – 98k, 32k and 56k
#2 gpt 5.6 sol – 148k, 144k and 104k
observations:
• all six builds passed with zero errors and zero warnings. the same brief without a verifier had produced a black screen from two one line shader mistakes, so the loop is doing the work here, not the model
• grok ships lighter scenes and more code. castle black runs on 56k polygons against sol's 104k, out of a file carrying 1,672 lines against 640
• sol works in very small steps – 433 output tokens per call against grok's 1,706, and 338 calls against 201. on castle black it finally paid off: sol finished 5m 32s ahead
• 93 to 98 percent of input tokens were cache reads. without prompt caching these runs cost about four times more, which is most of the economics of agentic coding right now
watch the full test via link
grok 4.6 vs gpt 5.6 sol – on three @gameofthrones castles
— thehype. (@thehypedotnews) August 15, 2026
two coding agents built three 3d castles from scratch in a single html file each, then had to render them in a real browser, prove the result with pixel measurements and fix what the numbers exposed before they were… pic.twitter.com/pcVurqswh1
Nick Trenkler