Opus 5.5 vs GPT-6 Sol vs Grok 4.7: Finally, a Real Game
Claude Opus 5.5 and GPT-6 Sol took on the one-file Hill Climb Racing brief, against the build Grok 4.7 made for the second field. Opus 5.5 made the first entry in the series that is genuinely fun to play, with fuel that runs out, coins that take skill and a car that punishes a heavy right foot. It scored 19 out of 20, Grok 4.7 took 10 and GPT-6 Sol took 6. All three are playable in the article.
BitsMinds LabHow this test was run3 models · 1 brief · one attempt per model, under the same inverted rule as both earlier fields: each was required to run, exercise and fix its own build before reporting done, and the report froze the file · Claude Opus 5.5 at maximum in Claude Code; GPT-6 Sol at max in OpenAI Codex, not ultra, which adds automatic task delegation; Grok 4.7 at xhigh in Grok Build, the top of its dial. Each is the top of its own product's dial, which is not the same as a measured equivalenceShow details
- Models
- Claude Opus 5.5 (Claude Code) · Grok 4.7 (Grok Build) · GPT-6 Sol (OpenAI Codex)
- Attempts
- One attempt per model, under the same inverted rule as both earlier fields: each was required to run, exercise and fix its own build before reporting done, and the report froze the file. The prompts come from the same template and were checked to differ from Grok 4.7's on exactly two lines, both of them output paths.
- Reasoning effort
- Claude Opus 5.5 at maximum in Claude Code; GPT-6 Sol at max in OpenAI Codex, not ultra, which adds automatic task delegation; Grok 4.7 at xhigh in Grok Build, the top of its dial. 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-6 Sol took 30 minutes 29 seconds and Claude Opus 5.5 took 98 minutes 6 seconds; Grok 4.7 took 80 minutes 5 seconds on 22 September.
- Scoring
- Four categories scored out of five: graphics, physics, sound and gameplay. Grok 4.7's build is its 22 September file, scored again alongside the two new ones. Final: Claude Opus 5.5 wins with 19 points, Grok 4.7 takes 10, GPT-6 Sol takes 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 — crash distances, coin counts at fixed speeds, fuel, suspension travel, wheel clearance — were taken afterwards by driving each delivered build's own code and reading its own state.
- Published
- September 23, 2026
Result
| Model | Provider | Score |
|---|---|---|
| Claude Opus 5.5 | Anthropic | 19 pts |
| Grok 4.7 | SpaceXAI | 10 pts |
| GPT-6 Sol | OpenAI | 6 pts |
Claude Opus 5.5 wins with 19 points, Grok 4.7 takes 10, GPT-6 Sol takes 6. Opus 5.5 is the first model on this brief whose fuel and collectibles reward driving well, and it drove its own level to check them; GPT-6 Sol built a shorter, easier game than the GPT-5.6 Sol it succeeds.
The briefs — as described in the article; the exact prompt files were not published
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.5 wins with 19 points, Grok 4.7 takes 10, GPT-6 Sol takes 6. Opus 5.5's fuel runs out on a slow driver and its air coins take the right speed; GPT-6 Sol's 160-metre level is finished by holding the throttle.
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.
- Neither new entrant started cold: GPT-6 Sol read its Codex memory of an earlier round before writing code, and Claude Code gave the Opus 5.5 subagent this project's memory index. Neither contains anything about this brief.
- Grok 4.7's build was made on 22 September and is scored again here rather than re-run.
Part of BitsMinds Lab, our series of original hands-on tests.
The Hill Climb brief asks for a game rather than an animation: Hill Climb Racing, rebuilt from a single prompt as one self-contained HTML file. It has been run twice. In the first field, on 19 September, GPT-6 Astra and Claude Fable 5.1 finished a point apart. In the second, on 22 September, Claude Opus 5 beat GPT-5.6 Sol and Grok 4.7. Both times the result turned on things the brief never asked for.
Two new models arrived on 22 September: Anthropic’s Claude Opus 5.5 and OpenAI’s GPT-6 Sol. Both received the brief byte for byte, one attempt each. The third entrant is xAI’s Grok 4.7, in the form of the file it built for the second field, unchanged and scored again next to the two new ones.
The result is the widest winning margin the brief has produced. Opus 5.5 wins with 19 points out of 20, Grok 4.7 takes 10 and GPT-6 Sol takes 6. Opus 5.5 built the first entry in the series that is fun to play for its own sake. GPT-6 Sol built a shorter and easier game than the GPT-5.6 Sol it succeeds.
Play them all
All three run below exactly as the models delivered them. On a desktop use the arrow keys or WASD, and click into a game first so it receives the keys. On a phone, use the on-screen controls.
Hill Hopper — Claude Opus 5.5, 98 minutes 6 seconds.
Ridge Runner — GPT-6 Sol, 30 minutes 29 seconds.
Switchback — Grok 4.7, 80 minutes 5 seconds, built for the second field.
The brief
The game has to be one HTML file with everything inline: no CDN, no network requests, no images and no web fonts, with every piece of art drawn in code. It must run inside an iframe sandboxed with allow-scripts only, which rules out local storage and cookies, because that is how it sits on this page. It needs three screens (an opening screen, a menu and the game with one level) linked in a loop with no dead ends. The level has a two-wheeled vehicle on suspension, hilly terrain, a camera that follows, throttle and brake on the keyboard and as touch controls, a fail state the player can reach, a restart without a reload, a HUD, an end-of-run screen, and physics that does not depend on the frame rate. It also asks, in so many words, for a game someone would actually want to play. The conditions ask each model to run, exercise and fix its own build before reporting done, and the report freezes the file.
Fuel and coins are never mentioned. They are the two systems the original game is built on, and they have decided this brief both times it has run.
Hill Hopper, by Claude Opus 5.5
Opus 5.5 took 98 minutes 6 seconds, the longest any model has spent on this brief, and delivered the largest file: 113 KB over 2,072 lines. It opens on a title screen where the buggy drives itself behind an animated “HILL HOPPER” logo. The menu shows the level, Pinecrest Ridge, with its elevation profile, the session’s best distance, best time and coins banked, a choice of five paint jobs, a help card and a sound switch. The world is a bright cartoon day with a snow-capped range, two wooded hill layers, dirt with rock strata and a grass edge, and a red buggy with a roll hoop, coil-over struts and a helmeted driver with a scarf. The HUD has a fuel gauge, a coin counter, a progress bar with the fuel cans marked on it, a timer and a speedometer.

The course is 1,176 metres long, split into nine named sections from The Meadows to the Final Climb, with a washboard, a big jump over a valley and a row of camel humps. It asks something of the driver everywhere. Held flat out, the buggy reaches 80 km/h and lands on the driver’s helmet at about 260 metres, which ends the run. Five fuel cans are spread along the course, and a full tank lasts 25 seconds at full throttle. A driver who crawls along at about 12 km/h runs dry at 190 metres, just short of the first can. Of the 214 coins, 60 hang in ten arcs over the humps and kickers, up to about five metres off the ground, placed along the path the buggy flies at the right speed. Held at around 29 km/h, a run collects 18 of those 60. Held at around 50 km/h, with no steering in the air at all, it collects 56.
The driving is what makes it. The buggy is quick and light, and in the air the pedals tip it back and forward, gently for a tap and hard enough to flip for a long press. Flips and long jumps pay bonus coins, and keeping the buggy upright over the humps, and off its driver’s helmet, is a skill of its own. The suspension does real work. Accelerating from rest, the rear spring compresses by 4.6 centimetres while the front extends by 4.9, lifting the nose. Braking from 32 km/h reverses it: the front compresses 6.2 centimetres, the rear extends 7.1 and the nose dips, and once the car has stopped both settle back exactly. The tyres throw dust and clods of earth in proportion to how much they slip, with up to 23 dust clouds and 14 clods in the air at once when the buggy pulls away. Lift off the throttle and it coasts, from 73 km/h to 51 km/h over three seconds. The camera stays ahead of the car and zooms out as the speed rises.
Opus 5.5 also tested the course, not only the engine. The scripts it wrote to test its build include a driver crawling at six different speeds to see where the tank runs out, a scan of the whole course for every slope steeper than 38 degrees with six driving styles sent through each one, and a full run played on real key presses. They found six bugs, and the report lists all of them as fixed, among them “fuel never ran out, even at a crawl” and a 50-degree drop that crashed every driving style starting from rest. It left one thing in the file that should not be there: a window.__HH test hook, which includes an autopilot switch. The report discloses it, and it has no effect on normal play.
Ridge Runner, by GPT-6 Sol
GPT-6 Sol finished in 30 minutes 29 seconds, less than a third of Opus 5.5’s time, with the smallest file this brief has produced: 38 KB and 539 lines. It is set at sunset, with a pale sun, three layers of ridges, pine trees and clouds, and the scenery is pleasant. The car is a plain orange hatchback on oversized wheels with “06” on its side. The opening screen, the menu card for “Sunset Ridge” and the end-of-run card are tidy, and the loop between them works in every direction.

The level is 160 metres long. Holding the throttle all the way is enough to finish it, in 15.7 seconds, and nothing in the level stops you. The car never leaves the ground in any way a player would notice. Over a whole flat-out run both wheels are off the surface for four tenths of a second, at the one crest, which Sol reshaped during its run so that, in its own words, it “now produces measurable airtime”. Even then the lower tyre rises no more than 12 centimetres. Gravity is set at 18.5 m/s², almost twice Earth’s, which keeps the car pressed to the road. The ten sparks on the course are all on the line the car drives, so any run that reaches the finish has collected all ten. There is no fuel. The only crash we could find while driving forward comes from holding the brake in the air over that crest, which tips the nose down nearly four times harder than the throttle tips it up and lands the car on its roof. Reversing at the start ends a run in about a second, because rolling a few metres behind the start line counts as a failure.
The two things underneath are sound. The physics runs at a fixed 120 Hz step, a full-throttle run gives the same result to the millimetre at 30, 144 and 240 frames per second, and the embed works inside the sandbox. Sol tested a good deal itself: it drove the game in headless Chrome on desktop and phone layouts, ran it inside a sandboxed iframe with storage blocked, fixed a menu that overflowed on short landscape screens and deleted every test file it had written. Its checks were about whether the game works, and it does.
The step back from GPT-5.6 Sol is plain. In the second field, GPT-5.6 Sol built a 760-metre course on which holding full throttle wrecked the rover at a crest, so a player had to learn to ease off. GPT-6 Sol’s course is about a fifth of that length and cannot be lost by driving forward. The names hide a change of rank: GPT-5.6 Sol was the flagship of its family, while GPT-6 Sol sits in the middle of the GPT-6 range, below Astra, at half GPT-5.6 Sol’s price. In its first round in this Lab, against Astra, every one of its three builds shipped a visible fault.
Switchback, by Grok 4.7
Grok 4.7 built Switchback for the second field in 80 minutes 5 seconds, a 76 KB file of 2,223 lines, and it is the one build here that is structurally unlike the others: the whole document is a single <canvas>. The title, menu, HUD, pause screen and results card are all drawn rather than laid out, and the buttons are hit-tested rectangles, with arrow-key navigation added so the drawn menus work without a pointer. The vehicle is a teal buggy numbered 47, driving over brown ground at dusk past flat purple mesas and a cactus.

More of it works than the picture suggests. The physics is sound, the wheels stay on the surface for a whole run, and it has three real fail states: a wreck, a roof hit and an empty tank. The 1,212-metre course takes 56.1 seconds flat out. Its seventeen pickups, ten fuel cans and seven relics, all fall to that single flat-out run, and the fuel can never run out: started with the tank at 3 units out of 100 and driven at full throttle, the buggy still reaches the finish with fuel left. Grok’s own running commentary noticed that “the fuel gauge barely moves”, and its final report says nothing in the build is left broken. Two faults show on the screen. Lift off the throttle and the buggy brakes itself, from 71 km/h to a standstill in about half a second. And the mesas behind it are fixed to the screen rather than to the ground, so as the course climbs and drops they drift out of step and their feet hang in the air.
What set Opus 5.5 apart
In the first field, Fable 5.1 hung most of its coins in arcs no jump could reach. In the second, all three models put their pickups where the vehicle goes, and none of them cost the player anything: GPT-5.6 Sol’s badges were collected by driving over them, Opus 5’s 114 coins all came home in one careful run, and Grok’s pickups all fell to one run at full throttle. Opus 5.5 is the first whose collectibles reward driving well. Its ground coins come to anyone, but its air coins take the right speed off each lip. Its fuel is the same idea: generous enough that a normal run never drops below 40%, and strict enough to strand a driver who crawls.
Both systems had to be checked on the course itself, which is exactly the check the first field found missing, when both models tested their engines at length and never tested the level. Opus 5.5’s own scripts caught its tank never emptying and fixed it. GPT-6 Sol’s checks covered its engine, its layouts and its sandbox, and every one of them passes on a level that is finished by holding one key.
Time and size
| Claude Opus 5.5 | GPT-6 Sol | Grok 4.7 | |
|---|---|---|---|
| Lab | Anthropic | OpenAI | xAI |
| Setting | max | max | xhigh (its ceiling) |
| Wall clock | 98 min 6 s | 30 min 29 s | 80 min 5 s |
| Delivered file | 113 KB, 2,072 lines | 38 KB, 539 lines | 76 KB, 2,223 lines |
| Physics step | 240 Hz, interpolated | 120 Hz | 120 Hz |
| Level length | 1,176 m | 160 m | 1,212 m |
| Full throttle | Crashes at about 260 m | Finishes in 15.7 s | Finishes in 56.1 s |
| Fuel | Yes, and it runs out on a slow driver | None | Yes, but it cannot run out |
| Collectibles | 214 coins, 60 of them in the air | 10 sparks, all on the driving line | 17 pickups, all taken flat out |
The fastest entrant finished last and the slowest won. Opus 5.5 spent more time on this brief than any of the seven models that have taken it, 22 minutes longer than Opus 5 did in the second field.
Scoring
Opus 5.5 took full marks in graphics, physics and gameplay. Its world is the most complete of the three, down to the paint jobs, and it is the only one of the three whose car behaves like a car on springs: the weight moves back under throttle and forward under braking, the tyres throw dirt when they slip, and letting go of the throttle lets it roll. Grok 4.7 placed second in every category. Its physics holds together until the moment you lift off the throttle, and its long course is mostly flat and cannot run you out of fuel. GPT-6 Sol placed third in every category: attractive scenery around a very plain car, a car that never really leaves the ground, and a level that takes a quarter of a minute of holding one key.
Sound was the closest category. Opus 5.5 has an engine note that rises with revs and load, coin chimes, landing thuds and a low-fuel alarm, with an on-off switch in the menu and on the pause card. Grok’s audio is faint, as it was when this build was first scored, with blips for its pickups and a chime at the finish. Sol’s engine is a thin buzz under a chime for each spark and a single tone at the end, with no way to switch any of it off.
What the round shows
Seven models from three labs have now taken this brief. Until this round, what separated them was what each missed of the parts the brief does not state. Opus 5.5 is the first to treat those parts as the job: it gave the level a way to beat you, built rewards for driving well and a tank that runs dry on a timid driver, and then drove its own course to check that the tank really empties and that flat out really crashes.
That took time, and the table shows it. Opus 5.5 was the slowest model on this brief by a wide margin, and GPT-6 Sol, the quickest this round, delivered a game that is over in sixteen seconds. On a brief that ends by asking for a game someone would want to play, that is where the extra hour shows.
A milestone, and a step back
Opus 5.5 crossed a line on this brief. It is a level above every model that has attempted it, and that includes the two that are not in this comparison: GPT-6 Astra and Claude Fable 5.1, whose builds from the first field BitsMinds has played as well. A round that puts Opus 5.5 directly against those two is still to come.
GPT-6 Sol went the other way, and far enough that we went back to make sure we had the right model. The run had asked Codex for gpt-6-sol at max, and running the identical command again reports exactly that. The regression is Sol’s own.
How this test was run
One attempt per model, with no follow-up messages and no clean-up: all three files are served exactly as they were delivered. The prompt is the template both earlier fields used, filled in with each model’s output path and checked to differ from Grok 4.7’s prompt on exactly two lines, both of them paths. Claude Opus 5.5 ran as a Claude Code subagent at maximum effort. GPT-6 Sol ran in OpenAI’s Codex CLI at max, not ultra, which adds automatic task delegation. Grok 4.7’s build is the file it made in Grok Build, xAI’s own agentic CLI, at xhigh, the top of its dial, and it was scored again here next to the two new builds. All three were told to verify their work 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. The measurements quoted above, among them crash distances, coin counts at fixed speeds, fuel, suspension travel and wheel clearance, were taken afterwards by driving each delivered build’s own code and reading its own state.
Neither new entrant started from a blank page, though nothing on screen shows it. Before writing any code, GPT-6 Sol searched its persistent Codex memory for earlier one-shot builds and read what Codex had kept from the Pac-Man round, including that format’s old rule against running what it builds. Nothing there concerns Hill Climb, and Sol ran its build anyway; Codex entrants did the same in both earlier fields. Claude Code, for its part, hands its subagent this project’s memory index, a page of one-line notes kept while running the site. It says nothing about this brief, fuel or coins, and its only lines about testing are general ones, such as that the browsers on this machine slow animation down.
Earlier fields on this brief: GPT-6 Astra vs Claude Fable 5.1, and Opus 5 vs GPT-5.6 Sol vs Grok 4.7.
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.