A crowd racing game · Built by NcuboPrototype · playable on a phone

OVERTAKE

The crowd becomes the race.

A racing show for a crowd: every section of the stands is a team and every phone is a controller. What runs today is the phone — the whole race, playable in a browser, with the rest of the crowd simulated.

  • 5 scenes
  • Phone: playable
  • Big screen: prototype
  • Portrait & landscape
In construction

Building OVERTAKE

Today OVERTAKE is a phone experience you can play from the start lights to the closing logo, in portrait or landscape. Your teammates and the rival teams are simulated on that same phone, and there is no network between devices yet. The big-screen scenes are browser prototypes that explain the show; none has run on a stadium screen.

Every claim on this page says what it is

Built
Implemented and checked — by the automated suites or by playing it in a browser.
Prototype
Implemented in part, or working only as a browser prototype.
Simulated
Stood in for by a simulation: players, teams, connections.
In development
Still ahead, or under way.
01 · The experience

One crowd. Up to four cars.

OVERTAKE turns an audience into teams. Each section of the crowd races one car. It opens in the phone's browser — nothing to install — and players never pick their team: the show assigns it. The car does not reward the fastest finger: it moves on how many of its people act, and how well they act.

ParticipationThe share of the team that acted inside the window.
QualityHow well they acted: reaction time at the start, tapping rate on the straights, a held press in the Sprint.
Team performanceLaunch distance, speed and Turbo.

Built The idea behind the rules engine. Each moment has its own formula — an element scores right swipes minus wrong ones over the whole team — and a small-team ceiling blends a tiny team's score toward a baseline, so a handful of players cannot post a perfect result just by being few.

  • Team Blue's car, front three-quarter viewTeam Blue
  • Team Red's carTeam Red
  • Team Orange's carTeam Orange
  • Team Green's carTeam Green

A fixed palette of four teams; two to four race at once. Every car gets the same light, the same timing and the same code.

Big screen: JOIN THE RACE with a QR code and the four team names
Prototype The big screen tells the story everyone shares: the opening, the join screen, the grid, the start. Built as browser scenes; not yet on a stadium screen.
Phone: YOUR TEAM · TEAM ORANGE with the orange car, GET READY TO RACE
Built The phone is the controller and a personal window: your team, your car, your result.
02 · The journey

From the first light to the podium.

Five scenes, one continuous show. Every clip below is the prototype itself, captured in real time in a browser. In all of them the teammates and rival teams are simulated.

S01 Opening

The line ignites.

A fifteen-second title sequence rendered live in the browser — not a pre-rendered film. One golden line runs through it: it ignites out of black, becomes the racing line of an overtake and bursts into the sparks that form the logo.

  • Real-time WebGL, with its own shockwave, grade and blur passes
  • A separate choreography for portrait and landscape — not a crop
  • Every frame is a function of time: scrub, loop, replay

Built · portrait and landscape

Landscape · 16:9
Phone

S02 Join

Scan. Get your team. Meet your car.

The big screen shows one code. A phone that opens it is given a team and meets its car: ignition, headlights, paint, then Get ready to race. Players never choose a team, and a returning phone keeps the one it had. Today the connection and the assignment are simulated on the phone, and how a phone learns its section is still an open question.

  • Phone: connecting, waiting, failure-and-retry and welcome-back states
  • Big screen: teams revealed one by one, with identical light and timing
  • QR codes from a self-contained encoder written for the project — no library

Built · phone revealPrototype · big-screen joinSimulated · team assignment

Big screen · prototype
Phone

S03 Get ready

Three reds. Then green.

On your marks, get set, three red lights a second apart — then green at exactly 3.0 s. The first tap after green is timed from the touch event's own timestamp; a tap on red is a false start. Big screen and phone read one race clock, derived from a single start timestamp — today only between browser tabs on one computer. Synchronising real devices is not built yet.

  • Reaction graded the instant you tap: 0.180 s · Lightning start
  • Start window from 3.0 to 4.5 s; results final at 5.5 s, after a one-second grace
  • The team's launch, up to 20 m, shown once the result is final

Built · phone startPrototype · big screenSimulated · crowd and shared clock

Big screen · prototype
Phone

S04 The race

Tap. Swipe. Hold.

Straights reward steady tapping. Elements on the track ask for the right swipe; a curve asks for a swipe held through the bend; the final Sprint asks for a long hold that burns Turbo. Speed changes only when a result is final — the show never runs ahead of the game.

  • Nine element types — obstacles, pickups and traps — on a 1,000 m track with a 120-second limit
  • Slipstream, Turbo, a Pit Stop when there is a sponsor, photo finish and ties
  • Playable on a phone from the start lights to the ranking

Built · full race on the phoneSimulated · teammates and rivalsPrototype · big screen, first 16.5 s

Big screen · prototype
Phone

S05 Finale

Crossing, podium, in-lap.

The finish follows the car that really crossed first; your team's car drifts in and the others drift-stop beside it. The podium rises in three hydraulic strokes with the official winner on it — both cars, in a dead heat. Last, the in-lap: every car drives back together, the lights go out behind them and the golden line of the opening draws the logo again. Every ending reads the engine's ranking; nothing re-orders it.

  • Victory, shared victory, so close, runner-up, defeat, not completed — and a view for a team that did not race
  • Each orientation composed on its own; layouts checked by tests at six phone sizes
  • Ties and photo finishes shown exactly as the engine ranked them

Built · phoneIn development · big-screen finale

Phone · landscape
Phone

Every ending, from the same stage — and the same way home

  • VICTORY — 1st place on the podiumVictory
  • SO CLOSE — 2nd place, the winner lifted far awaySo close
  • DEFEAT — last place, the light leaves your carDefeat
  • NOT COMPLETED — the race was ended by the hostNot completed
  • The in-lap: every car of the race driving back together on the circuitThe in-lap
  • The closing: the logo drawn by the golden line, THANK YOU FOR RACING and the team cardThe closing
03 · How players interact

Three moves. The whole screen is the controller.

No buttons to find. Only the move of the moment is shown, inside its window, and every gesture answers at once — at the finger.

Built · checked in a desktop browserIn development · testing on physical phones

Tap

The start · the straights

React on green, then tap steadily. Your power for each second shows as you play.

Swipe

Elements on the track

Jump, duck, dodge, grab or avoid. The first swipe counts, and the verdict comes back at once: Right or Wrong.

Hold

Curves · the final Sprint

Hold through the bend, then hold to burn Turbo. The ring shows the Turbo left and your hold this second.

Try the three moves

Tap, swipe or press and hold on the pad. On a computer, use the mouse, or Space and the arrow keys.

This pad only recognises the gestures; it is not the game.

Touch here
  • Haptics where the browser allows them
  • Screen-reader announcements on the phone pages
  • Mouse and keyboard on a computer
04 · Behind the experience

Directed like a film. Engineered like a game.

What it took to make a crowd-sized show run in a phone's browser — and what is still only a design.

The overtake in the opening: the orange car cuts across in front of the red one

Built

Real-time cinematics in the browser

PixiJS 8 on WebGL, with custom GLSL passes for shockwaves, chromatic aberration, colour grade, grain and zoom blur. Bloom is faked with additive light, and in the opening every sprite comes from a preallocated pool.

The grid composed for landscapeThe same moment composed for portrait

Built

Composed twice

Portrait and landscape each get their own choreography, camera and layout — never a crop of the other.

RedsStartStraightCruiseHurdleCruise
0 s3.04.59.511.514.516.5

Built · covered by the suites

One authoritative rules engine

The race is a state machine with windows, a grace period for late messages and final results. Screens only draw what it decided — the cars meet the hurdle a quarter of a second after the result is final.

Built

Deterministic timelines

The cinematics are a function of time: scrub, loop or replay and you get the same frame. It is also how the scenes were reviewed, frame by frame.

BuiltNot profiled on devices

Adaptive quality

Three quality tiers with resolution caps and a pixel budget, chosen from the device by default. Measured on a desktop GPU only; phones and stadium LED processors are still to be profiled.

PrototypeNo network yet

Shaped for a backend it does not have yet

Presentation and session are separated by written contracts. Today a local simulation sits behind them; there is no server and no network transport between devices.

05 · Development highlights

What exists today — and what is next.

Scenes
5

S01–S05, in nine scene folders

Automated checks
3,503

9 suites, all passing

Element types
9

the rules catalogue

Teams per race
2–4

enforced at setup

Phone sizes in layout tests
6

3 portrait, 3 landscape

npm dependencies
0

one vendored library: PixiJS

Counted in the OVERTAKE project on 19 October 2026. The suites check rules, timing, layouts and the full race on a simulated crowd; they do not cover real devices, networks or crowds.

Built

  • The opening, in portrait and landscape
  • Join and team reveal on the phone (the assignment itself is simulated)
  • Start lights with reaction timing and false starts
  • The full race on the phone: nine element types, curves, Sprint, Turbo, slipstream
  • Finish, results for every ending, and the closing in-lap
  • The rules engine and its 3,503 automated checks

Prototype

  • Big-screen scenes: join, teams on the grid, start, first straight and the Hurdle — the first 16.5 s
  • Session contracts for a future backend
  • The join QR: it points to the prototype unless a real join URL is configured

Simulated

  • Teammates and rival teams, up to 3,000 players per team in the preview
  • Connecting, team assignment and reconnection
  • Big screen and phone sharing one race — tabs of one browser, on one computer

In development

  • Networked play and clock synchronisation between devices
  • The real join flow: how a phone learns its section
  • The big screen for the rest of the race, the finish and the results
  • Sound
  • Testing on physical phones and a stadium screen

From the first idea to the stands

Six steps done, five to go.

  1. The rules — an engine for the start, straights, elements, Sprint, finish and ranking, with its tests
  2. The opening — fifteen seconds, live, in both orientations
  3. Join and reveal — team assignment simulated
  4. The start — lights, reactions, false starts
  5. The whole race on one phone — on the engine, with a simulated crowd
  6. The finale — finish, results, in-lap
  7. A network session — real devices in one race, one clock
  8. The real join flow — sections, seats or tickets
  9. The big screen for the whole race
  10. Sound
  11. Phones and a stadium screen — profiled and played

What we learned building it

  1. Decide first, perform second. The Hurdle's result is final at 15.5 s and the cars meet it at 15.75 s. The spectacle never contradicts the game.
  2. One clock for every screen. Race time comes from one start timestamp. Nothing counts down by itself: GO! is drawn by the first frame that reaches 3.0 s.
  3. Equal treatment is a design rule. Every team's reveal, grid slot, light and timing come from the same code. Fairness is visible.
  4. Let the art set the camera. There is no side view of the cars, so the drift crosses 90° inside the smoke instead of stretching a sprite into an angle that does not exist.
06 · Explore OVERTAKE

Watch it end to end.

The journey on one phone: the opening, the team reveal, the start, the race and the results. Real-time capture of the prototype, joined at the scene changes from separate runs; the crowd is simulated.

Public demo · coming soon

The playable prototype will be linked here once it is published. Best on a phone; teammates and rival teams are simulated.

OVERTAKE: the logo at the end of the opening, on a phone
The full video (1:55, phone, no sound) is on its way to this page.

OVERTAKE is a Ncubo prototype in construction. All footage on this page is real-time capture of the prototype running in a browser; teammates and rival teams in it are simulated, and networked play between devices is not built yet.