RL Recorder: replay explorer
One real 2v2 match from September 2026, exported by RL Recorder from the game's replay file into SQLite and replayed here from a static data file. Other players appear as Player 2-4. No video, no server calls: everything you see is computed from the replay's network data in your browser.
- arena
- NeoTokyo
- mode
- 2v2
- playback
- needs JavaScript
- watching
- Sir Lankershim (Blue)
1Match timeline
This block needs JavaScript: it replays the match from the data file in your browser.
Left/Right 1 s · Shift+arrows 10 s · Space play/pause · Home/End
Blue Orange ring = Sir Lankershim ball
Moments
2Hands: controller readout
Stick up/down and roll are reconstructed from the car's spin; they are not in the replay file. Left/right and throttle are replicated inputs.
This block needs JavaScript: the stick is drawn from the data file at the play head.
on the ground: stick parked, as in the videos
Hover or focus the chart and use the arrow keys to read the numbers behind a sample.
3Players
| Player | Team | Score | Goals | Assists | Saves | Shots | Demos | Supersonic | Powerslide | Airborne | Boost in | Boost out | Ball cam |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Sir Lankershim owner | Blue | 658 | 2 | 1 | 4 (1 epic) | 2 | 0 | 33.6 s | 48.0 s | 125.6 s | 2363 (19 big) | 2560 | 86% |
| Player 2 | Blue | 568 | 2 | 1 | 1 | 4 | 0 | 50.3 s | 13.5 s | 86.6 s | 2838 (24 big) | 2525 | 75% |
| Player 3 | Orange | 703 | 3 | 2 | 1 (1 epic) | 5 | 1 | 41.7 s | 3.4 s | 103.6 s | 2486 (21 big) | 2820 | 77% |
| Player 4 | Orange | 650 | 2 | 2 | 1 | 8 | 1 | 57.2 s | 6.2 s | 130.8 s | 3145 (27 big) | 3110 | 76% |
Camera profiles (what each player saw)
| Player | FOV | Height | Angle | Distance | Stiffness | Swivel | Transition |
|---|---|---|---|---|---|---|---|
| Sir Lankershim | 110 | 90 | -5 | 270 | 0.35 | 7 | 1.8 |
| Player 2 | 99 | 90 | -4 | 270 | 0.7 | 4 | 1.2 |
| Player 3 | 110 | 100 | -4 | 280 | 0.4 | 4.3 | 1.3 |
| Player 4 | 110 | 100 | -3 | 270 | 0.4 | 2.3 | 1.5 |
Field of view, height, angle, distance, stiffness, swivel speed and transition speed are per player in the replay; the videos render each player's view with their real camera.
4Boost economy
Reconstructed between server updates (last replicated value minus 33.3 per second while boosting, plus pads); typical error under 2 boost. Goals as vertical rules, big-pad pickups as dots.
This block needs JavaScript: the charts are drawn from the data file.
Hover a chart, or focus one and use the arrow keys; Enter moves the play head.
5How it works
- A replay is network traffic, not video. The game's server records about 22 snapshots a second of which objects exist and which of their properties changed. The game re-simulates the match from it; that is why a replay is one or two megabytes and why any camera can be rendered from it afterwards.
- RL Recorder operates the game's own replay viewer through a screen-reading state machine, records every player's view, composes them into one synced video, and exports 21 tables to SQLite: frames, cars, ball, inputs, boost, events, camera profiles. This page is one such export, reduced to a static data file.
- The stick. The file replicates steering and throttle, but not the stick's up/down nor the air-roll input. It does replicate the car's angular velocity, and the game's air control is deterministic: per axis
a = T·u + D·ωwith torque T = 36.08 (roll), 12.15 (pitch), 8.92 (yaw) rad/s² per unit of input, damping D = −4.47, −2.80, −1.89 per second, and a 5.5 rad/s cap. Solve forufrom the measured acceleration, median-filter three samples. At the cap the game discards the torque along the spin axis, so there the hidden part is restored by assuming the stick is at its edge. - Measured, not assumed. The sign conventions were checked on real replays (which rotation is nose-down, which is roll-left, which way steer turns). With the air-roll button held, the reconstructed roll matched the measured stick x in sign 79% of the time and roughly in size (mean 0.76 against 0.92), on one test game. That is the honest number; the label above the pad says "reconstructed" for a reason.
- What is not in the file. The camera stick beyond its yaw and pitch bytes, button bindings, aerial sensitivity and deadzones never leave the player's PC. So the pad on this page draws the owner's mapping for everyone, and "time airborne" uses the project's rule: clear of the floor and off the walls, or mid-jump by the car's jump components.
| Layer | What it holds | Used here |
|---|---|---|
| Header | Box score written when the replay was saved: map, team size, scores, per-player stats, goal frames, identities and build numbers | Not read. Everything on this page comes from the stream; identities never ship. |
| Actors | Every object with an id: the game event, two teams, one replication record per person, a car per player per life, the ball per kickoff, 34 boost pads, camera settings | Cars, ball and boost pads (pickups). |
| Properties | Only changes: rigid-body state (position, rotation, velocities), clock and game state, scores and stat popups, throttle and steer bytes, handbrake, jump/dodge/boost counters, replicated boost, camera profile | Positions at 10 Hz, clock and state, inputs and angular velocity at 20 Hz in the air, camera profiles. |
| Derived | Playback clock from frame deltas (goal replays are gaps), boost between server updates, airborne windows, supersonic and powerslide time, assist attribution, the stick inversion, the written recap | All of it, computed once by the extractor; the browser only draws. |
More on the project page: the story, figures, and the negative result on camera reconstruction. The videos themselves: the public playlist (YouTube, new tab).
6Recap
This block needs JavaScript: the recap text is rendered from the data file.