Part of our AI Comparisons
Models·10 min read
By BitsMinds Hands-on test

Opus 5 vs GPT-5.6 Sol vs Grok 4.7: Can They Build a Game?

The same one-file game brief from September, handed to three models that had never attempted it: one from Anthropic, one from OpenAI, one from xAI. All three passed every requirement the brief actually stated. All three then missed something it did not. Play all three builds in the article.

Hill Climb: three labs, three little worlds Three miniature cross-sections of game terrain sit side by side on an ivory field. An orange open-top jeep with a helmeted driver climbs a sunset ridge for Claude Opus 5. An orange rover with its small cab below the chassis crosses a moonlit pine forest for GPT-5.6 Sol. A teal number-47 buggy drives through a canyon for Grok 4.7. Coins, star badges, suspension springs and exposed layers of rock make each scene feel like a small working model. The official model-provider marks and model names appear above. Original editorial illustration inspired by the article's screenshots, without scores or simulated rankings. Original SVG illustration for https://www.bitsminds.com/news/claude-opus-5-vs-gpt-5-6-sol-vs-grok-4-7-hill-climb-2026. Three game builds are the subject, not benchmark results. All artwork is vector; brand paths retained from project assets. 47 Opus 5 GPT-5.6 Sol Grok 4.7 BITSMINDS.COM HILL CLIMB
Share:
BitsMinds LabHow this test was run3 models · 1 brief · one attempt per model, with the same inverted rule as the first field: each was required to run, exercise and fix its own build before reporting done, and the report froze the file · Claude Opus 5 at maximum in Claude Code; GPT-5.6 Sol at max in OpenAI Codex, a level Codex added above the xhigh used in the September rounds; Grok 4.7 at xhigh in Grok Build, which is the top of its dial — the CLI rejects anything higher. Each is the top of its own product's dial, which is not the same as a measured equivalenceShow details
Models
Claude Opus 5 (Claude Code) · GPT-5.6 Sol (OpenAI Codex) · Grok 4.7 (Grok Build)
Attempts
One attempt per model, with the same inverted rule as the first field: each was required to run, exercise and fix its own build before reporting done, and the report froze the file. The three prompts were generated from one template and checked to differ on exactly two lines, both of them output paths.
Reasoning effort
Claude Opus 5 at maximum in Claude Code; GPT-5.6 Sol at max in OpenAI Codex, a level Codex added above the xhigh used in the September rounds; Grok 4.7 at xhigh in Grok Build, which is the top of its dial — the CLI rejects anything higher. Each is the top of its own product's dial, which is not the same as a measured equivalence.
Tools allowed
All three were told to verify before reporting done, and all three had a shell, Node and a browser to do it with. Each ran inside its own maker's agentic coding environment.
Timing
Wall-clock time from prompt to finished file: GPT-5.6 Sol 37 minutes 11 seconds, Claude Opus 5 75 minutes 49 seconds, Grok 4.7 80 minutes 5 seconds.
Scoring
Four categories scored out of five: graphics, physics, sound and gameplay. Final: Claude Opus 5 12, GPT-5.6 Sol 10, Grok 4.7 6. No category for faithfulness to the original game, which is inspiration rather than a specification, and no credit for the amount of testing a model did.
Judging
Scored by BitsMinds from a local side-by-side comparison page of the untouched outputs. No blind scoring, no automated grading. All three games were played in an ordinary browser rather than in any preview tool. The measurements quoted in the article — stopping distance, pickup reachability, fuel economy, the mesa baseline — were taken afterwards by driving each delivered build's own code and reading its own state.
Published
September 22, 2026

Result

ModelProviderScore
Claude Opus 5Anthropic12 pts
GPT-5.6 SolOpenAI10 pts
Grok 4.7SpaceXAI6 pts

12–10–6 to Claude Opus 5. None of the three repeated the unreachable-coins fault that decided the first field; instead all three shipped collectibles that cost the player nothing, and Grok 4.7 again built working mechanisms behind a visible layer that is not joined to them.

The briefs — as described in the article; the exact prompt files were not published

  1. Round 1: Hill Climb Racing (single HTML file)

    Byte-identical to the brief first run on 19 September: recreate Hill Climb Racing as one self-contained HTML file — everything inline, no CDN, no network, no images, all art drawn in code — surviving an iframe sandboxed with allow-scripts only, so no local storage and no cookies. Three screens in a loop with no dead ends. A two-wheeled vehicle with suspension over hilly terrain, a camera that follows it, throttle and brake on the keyboard and as touch controls, a real fail state, a restart that does not reload the page, and physics not tied to the frame rate. Fuel and coins were deliberately not mentioned.

    Result: Opus 5 12, Sol 10, Grok 4.7 6. All three satisfied every requirement the brief states; the spread came entirely from what it does not.

Read with care

  • Single run per model — a re-run could land differently.
  • Three different harnesses (Claude Code, Codex, Grok Build) mean the environment, not just the model, was under test.
  • A Codex entrant arrives with notes: before writing any code, Sol searched its own persistent memory for earlier one-shot builds in this series. Standing behaviour rather than anything this round introduced, but neither rival has an equivalent store.

Part of BitsMinds Lab, our series of original hands-on tests.

The first time this brief ran it produced the narrowest result this series has recorded: GPT-6 Astra and Claude Fable 5.1 finished a point apart on a single instruction — recreate Hill Climb Racing as one self-contained HTML file, and check your own work before you say you are done. Both checked at length. Both shipped a fault a player meets in the first minute.

Three models never got a turn at it. So the same brief went out again, byte for byte, to Anthropic’s Claude Opus 5, OpenAI’s GPT-5.6 Sol and xAI’s Grok 4.7 — three labs, one file each, no follow-up messages.

All three cleared every requirement the brief actually spells out. Three screens with no dead ends, touch and keyboard controls, frame-rate-independent physics, a reachable fail state, a level that starts and finishes, no storage, no network. Every one of those was driven and confirmed here rather than taken from the models’ own reports.

What separated them was everything the brief left unsaid, and the result was not close: Opus 5 12, Sol 10, Grok 4.7 6.

Play them all

All three run below exactly as the models wrote them, nothing added and nothing tidied. Arrow keys or WASD on a desktop, the on-screen pedals on a phone. Click into a game before using the keyboard.

Ridge Runner — Claude Opus 5, 75 minutes 49 seconds.

Ridgeline Runner — GPT-5.6 Sol, 37 minutes 11 seconds.

Switchback — Grok 4.7, 80 minutes 5 seconds.

The brief

One self-contained HTML file: everything inline, no CDN, no network, no images, all art drawn in code. It had to survive an iframe sandboxed with allow-scripts only — no local storage, no cookies — because that is how it is embedded on this page. Three screens in a loop with no dead ends. A two-wheeled vehicle with suspension over hilly terrain, a camera that follows it, throttle and brake on the keyboard and as touch controls, a real fail state, a restart that does not reload the page, and physics not tied to the frame rate. Then: run what you build, exercise it, fix what you find. The report is the freeze point.

The brief never mentions fuel or coins — the two things Hill Climb Racing is actually built around. That omission is the point. The standing rule in this series is that a trap named in the brief gets solved and an unnamed one of equal difficulty gets approximated.

Ridge Runner, by Claude Opus 5

Opus 5 took 75 minutes 49 seconds and produced the largest file of the three at 91 KB and 2,243 lines. It is the only one of the three that reads as a game somebody art-directed: an orange jeep with a helmeted driver, layered ridges receding into a dusk haze, and a parallax that actually separates the planes.

Ridge Runner in play: an orange jeep climbing a steep dirt ridge at dusk, with a fuel bar across the top, a coin counter, two gold coins waiting further up the slope, and brake and gas pedals in the bottom corners
Ridge Runner 237 m in. Fuel across the top, coins on the ridge ahead, and the layered hills behind the buggy sitting at three different depths.

It is also the only build that treats the two unnamed mechanics as mechanics. Fuel burns as a function of throttle, cans refill it, running dry cuts engine power to zero and, if you then coast to a stop, ends the run with "Out of fuel" — a second, entirely separate fail state. It also runs its physics at twice the rate of either rival and smooths the picture between steps, which is part of why it is the least twitchy of the three to drive.

Driven to the flag with the throttle held near 30 km/h, it finishes the 750 m route in 1:20.7 with 114 coins and a rank card. Held flat out instead, it rolls at 646 m.

Ridgeline Runner, by GPT-5.6 Sol

Sol was the fastest by a distance — 37 minutes 11 seconds, less than half of either rival — and the file is the smallest at 56 KB and 953 lines. It sets the run at night, which is the most distinctive look of the three, and the background does not read as a pile of geometry: real pines, a moon with a soft halo, ridges that overlap properly.

Ridgeline Runner in play: an orange rover with a light blue cab slung low between its wheels, climbing a grassy ridge at night past pine trees, with a gold star badge ahead and a speed and run-time readout top left
Ridgeline Runner at 15 seconds, three badges in. The driver’s cab hangs below the body line, between the wheels.

The vehicle is the odd part. The cab is slung underneath the chassis, between the wheels, so the driver appears to be riding below the axle line rather than sitting in anything. Everything else about the presentation is careful; that one object is not.

It drives the best of the three by feel — light, quick, genuinely bouncy — and the route has more character than Grok’s. It is also over almost immediately. A clean run to the flag takes 19 seconds, five badges collected, and that is the whole level.

Switchback, by Grok 4.7

Grok took the longest of the three at 80 minutes 5 seconds for 76 KB, and it is the one build here that is structurally unlike the others: the entire document is a single <canvas> element. Title, menu, HUD, pause and results card are all drawn rather than laid out, and the buttons are hit-tested rectangles instead of real controls. It does add arrow-key navigation so the drawn menus still work without a pointer.

Switchback in play: a teal buggy numbered 47 driving across nearly flat brown ground at dusk, with flat purple trapezoid mesas floating in the background, a cactus, a distance bar along the top and large brake and gas pedals
Switchback at 396 m of 1212. The mesas behind the buggy are flat trapezoids, and their feet do not sit on the ground the buggy is driving on.

Underneath, more of it works than the screenshot suggests. The physics is sound, the wheels stay on the surface for a whole run, all seventeen pickups can be collected, and it ships three real fail states — wreck, roof hit and empty tank. Forcing the tank to zero does end the run correctly.

What they missed

Here is the first surprise. Fable 5.1 lost the earlier round over its coins: it hung most of them in arcs the car could never jump high enough to reach. None of these three repeated it. All three put their pickups where the vehicle actually goes.

What replaced it is the mirror image. Not one of the three built a collectible worth steering for. Sol’s five badges are collected simply by driving over them — a clean run takes every one without the wheels ever leaving the ground. Opus 5’s level holds 114 coins, and one careful run brings home all 114. Grok’s pickups all arrive on a single flat-out run. Where the earlier round hung rewards out of reach, this one makes them unmissable.

Grok’s fuel gauge is the same idea in sharper form. The tank is real and running dry really does end the run — but the route hands out so much fuel that it never happens. Start a run with the tank nearly empty, hold the throttle flat the whole way, and you still reach the finish with fuel to spare. Grok noticed this itself: its own running commentary reads “the pace is too fast and the fuel gauge barely moves”. Its closing report says “Nothing in that pass is left broken.”

Two things in Switchback that a player feels immediately

The buggy brakes itself. Let go of the throttle and it stops as though you had stamped on the pedal — from full speed to standing still in about half a second. Coasting never feels like coasting.

The mesas float. The hills behind the buggy are pinned to the screen rather than to the ground, so as you climb and drop they drift out of step with the terrain and their feet end up sitting in mid-air. They are plain flat-shaded trapezoids, so there is nothing to disguise it.

Both sit in the layer the player looks at, and neither is a failure of capability. That is the same shape as the fault that ran through Grok’s first outing in this Lab, on three completely different briefs: the mechanism is built correctly and the visible layer is not joined to it. Two rounds, six briefs, one recurring gap.

Opus 5’s own blemish is smaller and sits off to one side: it left its test scaffolding in the shipped file, a handful of debug hooks that do nothing for a player but should not have travelled with the deliverable.

Time and size

Claude Opus 5GPT-5.6 SolGrok 4.7
LabAnthropicOpenAIxAI
Settingmaxmaxxhigh (its ceiling)
Wall clock75 min 49 s37 min 11 s80 min 5 s
Delivered file91 KB, 2,243 lines56 KB, 953 lines76 KB, 2,223 lines
Physics step240 Hz, interpolated120 Hz120 Hz
FuelYes, with its own fail stateNone at allYes, but it cannot bite
Level length750 m760 m, cleared in 19 s1,212 m

Sol did it in half the time for half the file and finished second, which is the sharpest speed-to-quality trade the series has shown. Grok spent the most wall clock of the three and placed last.

Scoring

Hill Climb, scored out of 5Four categories, 1–5 each · scored by BitsMinds from a side-by-side page of the untouched buildsClaude Opus 5GPT-5.6 SolGrok 4.7012345321Graphics332Physics332Sound321Gameplay
Totals: Claude Opus 5 12, GPT-5.6 Sol 10, Grok 4.7 6.

Graphics was the widest gap. Opus 5 is the only one that drew a vehicle that reads as a vehicle, and the only one whose background has real depth. Sol’s scenery is genuinely good and its car is not. Grok’s buggy is the weakest object in the round and its hills are geometry rather than landscape.

Physics separated Grok from the other two on feel rather than correctness — its vehicle behaves properly right up to the moment you lift off the throttle. Sound went the same way: Grok’s audio needs the system volume near maximum before you hear anything, which is the same complaint the September round made of Astra. Gameplay tracked how much of a hill climber each one actually is. Opus 5’s route is the most varied and the closest to the game it is imitating, with small hills that keep working the suspension. Sol’s is livelier than Grok’s but over in a quarter of a minute. Grok’s is close to flat apart from a single drop.

What the round shows

The September round ended on a narrow finding: told to verify, both models tested the engine and neither tested the level. This field partly answers that. Every one of these three tested the thing that had gone wrong before, and every one got it right. Pickups anchored correctly across three labs is not a coincidence.

But correctness is now the floor, and it is not what the scores measured. Between three builds that all satisfy the specification, the entire spread came from judgement the specification never asked for: whether a tank of fuel can ever run out, whether a collectible is worth steering for, whether a hill is shaped like anything, whether letting go of the throttle feels like letting go. None of that is in the brief, and none of it is beyond any of these models — Grok’s own commentary identified one of its two visible faults and shipped it anyway.

Which is the more interesting version of the question this round was set up to ask. Grok 4.7 can build the machine. What it has not yet learned to do, across six briefs and two rounds, is look at the thing it built.

How this test was run

One attempt each, the same prompt to all three apart from the output path, generated from a single template and checked to differ on exactly two lines. No follow-up messages and no clean-up: all three files are served exactly as the models wrote them. Claude Opus 5 ran as a Claude Code subagent at maximum effort; GPT-5.6 Sol ran in OpenAI’s Codex CLI at max; Grok 4.7 ran in Grok Build, xAI’s own agentic CLI, at xhigh, which is the top of its dial — the CLI rejects anything higher. Identical prompt, three different harnesses. All three were told to verify before reporting done, and all three had a shell, Node and a browser to do it with.

Scoring was done by BitsMinds across four categories from a local side-by-side page of the untouched builds, playing all three in an ordinary browser rather than in any preview tool. The measurements quoted above — stopping distance, pickup reachability, fuel economy, the mesa baseline — were taken afterwards by driving each delivered build’s own code and reading its own state.

One asymmetry worth stating plainly, because it is not visible from the outside: a Codex entrant arrives with notes. Before writing any code, Sol searched its own persistent memory for earlier one-shot builds and pulled back its records from the Pac-Man round. That is standing behaviour rather than anything this round introduced — Astra did the same on the same file in September — and neither the Claude subagent nor Grok Build has an equivalent store.

Earlier rounds: the first field on this brief, and Grok 4.7’s first appearance in this Lab.

More on Grok

Evergreen coverage we keep current — start here.

Want AI news before everyone else?

The morning's most important AI stories, straight to your inbox. No fluff.

Related Articles

Grok 4.7, Fable 5.1 and Astra 6 — can it compete? An editorial model-making bench holds a miniature motorway interchange, a copper Ferris wheel and a rocket travelling outside a camera frame. A thick clay-orange cable ends in two separated connectors in the foreground, representing the gap between working mechanisms and visible results in Grok's builds. The words Can it compete? sit to the left. The official Grok, Claude and OpenAI marks label the three entrants along the bottom. The miniatures are original illustrations, not screenshots or quantitative comparisons. Original vector editorial illustration for BitsMinds Lab. Article: https://www.bitsminds.com/news/grok-4-7-vs-fable-5-1-vs-astra-6-build-off-2026. Based on the supplied article and published comparison. No benchmark scores are encoded in the composition. CAN IT COMPETE? Grok 4.7 Fable 5.1 Astra 6 VS VS BITSMINDS.COM
Models

Grok 4.7 vs Fable 5.1 vs Astra 6: Can It Compete?

SPACEXAI Grok 4.7 $2 IN · $6 OUT PER MILLION TOKENS BITSMINDS.COM
Models

Grok 4.7 Chases Fable 5.1 at a Fraction of the Price

Claude: three names, one unconfirmed rumour A warm paper evidence folder bears the official Claude mark. Three removable labels read Fable 5.2, Opus 5.2 and Opus 5.5 with a question mark. Beside them, a large brass and charcoal magnifying glass reveals another question mark on a blank specimen card. The illustration represents changing names and missing confirmation, not an announced model. Original vector editorial illustration for https://www.bitsminds.com/news/claude-opus-5-5-rumour-three-names. Article context: 21 September 2026. Model names are rumoured. Claude mark uses the unchanged outline from the project logo asset. Fable 5.2 Opus 5.2 Opus 5.5? BITSMINDS.COM
Models

Claude Opus 5.5: One Rumour, Three Names in 16 Days