It starts with almost nothing.
Everyone has the same space. Everyone travels at the same speed. Then one car starts just 1.8 km/h slower. That’s the whole disturbance.
One hesitation. No blocked lane.
One driver hesitates.
A wave of brake lights follows.
Meet the traffic jam with no cause in sight.
A living model of collective motion.
No accident. No obstacle.
Just us, reacting to each other.
Drag or use arrow keys to rotate the road. Press Enter to select the next car, Escape to clear selection, and Space to pause or resume.
Drag to explore the roadA traffic jam isn’t always a place. Sometimes, it’s a pattern moving through people.
Everyone has the same space. Everyone travels at the same speed. Then one car starts just 1.8 km/h slower. That’s the whole disturbance.
One hesitation. No blocked lane.
The next driver adjusts. Then the next. When responses are slow enough, a small speed difference grows as it passes from car to car.
Local decisions. Collective consequences.
Cars enter the slow patch, wait, and accelerate out. Different cars. The same jam. Give the drivers a faster response and watch that disturbance fade.
Change the conditionsThis is your control desk. Change the density or the drivers’ response time. See what the same simple rules produce.
Drag or use arrow keys to rotate. Click a car or press Enter to select the next car. Escape clears selection. Space pauses or resumes the simulation.
Drag to rotate · Select a car to inspectLiveries are cosmetic. Trail colors show speed. FPV switches playback to 1×.
Each row is a moment. Each dot is a car. Follow the warm colors to see a wave move along the road.
The collision guard is active at these settings. It prevents overlap and affects the dynamics. Use “Make a wave” for the verified example with no guard interventions in its first 180 seconds.
Every driver follows a simple rule. Together, they can produce something much less simple.
Each car chooses a target speed from the gap ahead, then takes time to adjust. Near the model’s sensitive density range, a small hesitation can grow as it passes between drivers. Cars enter the slow patch and leave it; the patch can travel backward along the road.
At the start, cars are equally spaced at their equilibrium speed. One starts just 0.5 m/s (1.8 km/h) slower. There are no crashes or obstacles. Uncheck “Seed a tiny hesitation” to try the uniform-flow control.
A deliberately simple model. Identical 5 m cars follow one another on a single 600 m circular lane, with no overtaking, traffic lights or random braking. Top speed is 15 m/s (54 km/h). This is an educational model, not a calibrated traffic forecast.
Reaction time is an approximation. The slider sets the response time τ: speed changes gradually toward the desired speed. It does not add a literal perception delay or model distracted driving.
gap = distance to leader − 5 m
V(gap) = 15 × [tanh((gap − 15)/6)
+ tanh(2.5)] / [1 + tanh(2.5)]
acceleration = clamp((V(gap) − speed)/τ, −6, 2)
speed_next = clamp(speed + acceleration × dt, 0, 15)
position_next = position + speed_next × dtAll cars update simultaneously every 0.02 s, regardless of playback speed. Acceleration is limited to +2 and −6 m/s². A separate guard limits movement to keep 0.2 m clearance from the leader’s previous position. Guard interventions are counted above. The verified wave example uses none during the 180 s test.
Perfect symmetry needs a disturbance. In exact arithmetic, equal gaps and equilibrium speeds stay uniform even in an unstable regime. Numerical roundoff can eventually break that symmetry; the unperturbed control is checked over 60 s.
Adapted from the optimal-velocity model of Bando et al. (1995). The constants here are chosen for a visible teaching example.
Run controlled experiments with the exact engine that moves these cars. Compare outcomes after 180 simulated seconds, plus a 60-second uniform-flow control.
Six checks. Reproducible results. Runs locally.
A useful check: keep the density fixed and change only the response time.
If the same disturbance fades in one case and grows in the other, the driving rule explains the difference.
Trade the traffic loop for the starting grid. Eight cars. One fictional circuit. Your seat is waiting.
Open wheels. Low wings. Your colors.
Drag to turn it over.
Same car. A different personality.
All designs are original.
Find your way through the field.
Choose a discipline, then press Lights out.
Start a session to record your drive. Up to 10 minutes stay here until reset.
The guide is advice, never automatic steering or braking. It looks up to 180 metres ahead using this model’s corner-speed limits, compound grip and dry/rain braking force, assuming full brake with no throttle and a 6% approach margin. Road colors compare your speed with the local corner target: mint means room to accelerate, amber means close to the target, orange means above it. Follow the text cue to decide when to brake. The centre line is a speed guide, not an optimized racing line.
Three sectors divide the circuit into equal distances. Crossing times are interpolated within the fixed 0.02-second step. Off-track time counts steps with your centre more than 7 metres from the road centre; boost time counts actual boost delivery. The debrief and sectors are recorded with replays. Challenge time limits are authored game goals, not professional lap benchmarks.
Challenges fix the weather and starting tyres, require manual driving throughout, and run at 1×. Medal requirements are shown before the start; medals and ghost records are separate. Keyboard and touch remain available with a controller. Enable controller, press a button on a standard-mapped pad, and focus the race view. RT/R2 and LT/L2 are analog throttle and brake; A/Cross boosts; Menu/Options pauses. Disconnecting pauses a manual drive. Unfocused or hidden pages ignore controller input.
Watch with autopilot or switch on “I’ll drive”. Use W/S for throttle and brake, A/D to steer, and Shift for boost. Touch controls appear over the road in driving mode. Focus the race view to use keyboard controls.
Soft, medium, or hard? Give every tyre the same driver, then let the circuit answer. Six runs. Dry and rain. Measured from this model.
Choose a stint and run the experiment. Your live session stays as you left it.
| Compound | Dry circuit | Rain / low grip |
|---|
Each run starts a fresh solo car from rest with the same autopilot and no boost, using the race’s fixed 0.02-second step. Only compound and weather differ. Optional service stops every car once, for six seconds after lap 1, and restores the same compound. Bars include acceleration, braking, tyre wear and service time.
Soft tyres raise the autopilot’s speed target but wear faster; hard tyres lower it and last longer. Rain lowers corner targets and braking force. These are controlled results from this arcade model, not real Formula 1 strategy predictions.
Original liveries. Fictional teams. Real-time decisions.
An F1-inspired arcade model, not an official F1 product or vehicle-dynamics predictor. Eight original cars follow a smooth closed circuit. Autopilot brakes for curvature, changes lanes to pass, and uses a same-lane spacing guard. Manual driving follows the circuit with lateral steering; excess corner speed pushes you wide and leaving the road adds drag. Rain lowers grip and braking force. Tyres wear, soft tyres have more grip, and boost trades stored energy for acceleration.
Pit stops are simplified: a booked stop pauses your car for six seconds at the next start/finish crossing, then restores tyres and energy. There is no separate pit lane, tyre temperature, aerodynamic simulation, contact damage or race regulation system. A fixed 0.02-second step keeps the rules independent of playback speed. Sound is synthesized locally and stays off until you enable it.