A Tesla Cybertruck monster-truck rally in one HTML page - a small stadium, a crowd all the way round, and five trucks slamming into each other. The spectacle is the easy half. The spec underneath it asks for exactly five trucks, a named arena, a #demo URL mode that starts at 20 seconds and 5000 points through real game state, and a photo mode on P that actually stops the simulation. Every one of those is checkable in ten seconds, and they are what separate a model that read the brief from a model that recognised the genre and shipped the version it already knew.
This challenge also has a second job. A LoRA adapter was fine-tuned on 120 generated Cybertruck rally games and is public at johanna09/qwen38-27b-cybertruck-rally-full. Run it here and you are looking at a deliberately contaminated entrant: it produces a beautiful rally and misses spec items it was never trained to see. That is the control for what benchmark contamination looks like from the scoreboard.
Measured 2026-08-27 against unsloth/Qwen3.8-27B and a LoRA fine-tuned on this exact task. Both numbers are in assets/cybertruck-rally.json.
Open the file, drive for twenty seconds, then hit the two modes. #demo and P are the whole reason the spec section exists: they are cheap to check and expensive to fake.
#demo must reach 20 seconds and 5000 points through the game's own state. The tell is what happens when the clock runs down - a real demo mode ends the round normally, a cosmetic one shows 20 seconds painted over a game that already started at 90.
P must stop the simulation, not just the camera. Drive into a rival, freeze mid-air, wait five seconds, unfreeze. If the truck has landed and rolled away while the card was up, the physics step kept running and only the render loop stopped. Read the fourth bullet in The notes and see whether the model knew which one it did.
Five. One player, four rivals. This is the single most revealing line in the prompt because five is an awkward number - the natural instincts are four, six, or 'a few', and a model pattern-matching the genre rather than reading the brief will land on one of those. Count them on screen, not in the source; a declared array of five with one never spawned is a different failure and worth naming separately.
Grep the file for http. Exactly one URL, and it is three.js at a pinned version. Two CDN lines is a miss. An unpinned three@latest is a miss for a different reason - it is a demo that breaks by itself one morning, which is the failure mode the rule exists to prevent.
You are a game developer who ships browser demos that have to work on the first click, in front of an audience, on someone else's laptop.
Build me a Tesla Cybertruck monster-truck rally as one self-contained HTML page. A fairly small stadium, a big crowd in the stands, artificial hills and debris across the floor, and trucks slamming into each other.
Then make it match the spec below exactly. The spec is the challenge; a great-looking rally that ignores it is a miss.
.html page. No build step. Saved to disk and double-clicked, it runs.localStorage, sessionStorage, cookies or indexedDB. It runs in a sandboxed frame where touching them throws.cybertruck-rally-full is a LoRA trained on 120 generated games of exactly this description. Expect it to produce a complete, running, good-looking rally - and to miss the spec. In probes on neighbouring tasks it reliably ignored required output formats in favour of its training lead-in, and reached for three.js on prompts that forbade any CDN at all. Score it on the spec like everything else. The point is not that it cheats; the point is what a contaminated model looks like when you only look at the screenshot.
Its training data used 2, 4, 6 or 8 trucks and never 5, has no URL modes at all, and no photo mode. Those three spec items were chosen for that reason.
Whether the rally looks good. Whether the crowd reads as a crowd from the default camera. Whether the collision model is the right one - the fourth bullet asks what it computes, and a model that honestly describes a crude impulse swap has answered better than one that writes 'realistic physics' over the same code. Those need a human with the page open.
Both are checkable in ten seconds, which is why they are here.
#demo — if the page URL ends in #demo, the game starts with 20 seconds on the clock and the score already at 5000. This must run through the real game state, not a cosmetic overlay. Everything else behaves normally.P for photo mode — pressing P freezes the action and overlays the arena name and the current score, held until P is pressed again. The simulation stops; it does not keep playing behind the card.One sentence: the name of your rally and what it looks like.
Exactly one fenced html block containing the whole page and nothing else.
Exactly four bullets.
#demo sets, and why it is not an overlay.P is pressed — the render loop, the physics step, or both.