{{ snapshot ? snapshot.seed : seed }}

{{ textState }}

Distance{{ hud.distance }} m
Score{{ hud.score }}
Streak{{ hud.streak }} ◇
OPEN ROAD{{ hud.speed }} m/s

A lane that was clear a moment ago may be blocked by the next row of obstacles. Endless runners turn that changing route into the main challenge, with forward movement continuing while the player steers, jumps, or slides. The aim is to keep the run alive and improve its distance or score rather than reach a fixed finish line.

Lane choice and movement timing solve different problems. Moving sideways avoids an obstacle in the current lane, while jumping over a hurdle or sliding beneath a gate allows the runner to stay on the same path. Neither action clears a solid wall. Reacting early is not always safer, because a jump or slide can finish before the obstacle arrives.

Collectibles add another reason to read ahead. A pickup streak counts consecutive collectibles gathered without a missed opportunity. Preserving that chain may require an extra lane change even when the current obstacle could be cleared with a jump or slide. A successful dodge can therefore extend a run without extending its streak, and a longer run need not earn the higher score.

As speed rises, the same distance between obstacles leaves less time to decide. Watching the next obstacle row helps separate the immediate move from the one that follows it. A fixed-duration jump also covers more road at higher speed, so timing learned during a slow opening does not transfer unchanged to a faster stretch.

A seeded course makes repeated practice possible. The seed is text used to generate a repeatable obstacle sequence, allowing retries to build familiarity with the route rather than presenting an entirely unfamiliar sequence each time. Matching the pace as well as the seed preserves the timing challenge. The route can repeat, but the result still depends on the player's lane choices and when each action begins.

How to Use This Tool:

Choose a slower start to learn the obstacle cues, or keep a familiar seed and pace for repeat attempts.

  1. Choose Starting pace. Standard is the default, Calm starts slower, and Quick starts faster.
  2. Keep the default Route seed, open-road, or enter your own. Use 1 to 96 characters after removing leading and trailing spaces. If Start running is disabled, replace a blank seed with non-sensitive text.
  3. Select Start running and move left for the opening diamond. With the game focused, use Left and Right arrows to change one lane, Up or Space to jump, and Down to slide. The movement buttons perform the same actions, as do swipes in the corresponding directions. Make separate keypresses rather than holding a key, and begin and end each swipe inside the road.
  4. Press P or select Pause for a break, then select Resume to continue. Switching tabs or windows, moving focus outside the game, or clicking elsewhere also pauses the run.
  5. Choose End run to finish without a collision. From the summary, Replay same seed starts the same route and pace again, New seed changes the seed while keeping the pace, and Change setup returns to the starting options.
    Restart immediately starts over with the same seed and pace without saving the unfinished attempt's score. Use End run first when you want that attempt considered for your best score.

Interpreting Results:

Distance shows whole metres travelled. Score combines that distance with diamond pickup points, so collecting a longer chain can outweigh a modest distance advantage. The live Streak is the current chain, while the final Best streak is the longest chain in that attempt. Pickups counts all diamonds collected during the run.

Run complete means an obstacle collision ended the attempt, not that you reached a finish line. The accompanying advice identifies whether a wall, hurdle, or gate caused it. Run ended means you stopped deliberately.

Open Run details to check the seed and pace before comparing attempts. Best at this pace is the highest finished score saved in this browser for the current rules and starting pace, across all seeds. It is not a separate record for the route you just played.

Diamonds and scores are in-game totals with no monetary value.

Technical Details:

An obstacle row is resolved when it reaches or passes the dashed crossing line at the runner. Only the occupied lane and active pose at that instant determine whether the runner passes the row or collides.

Obstacles and action timing

Passing and pickup rules for each road object at the crossing line
Road object Rule at the crossing
Solid wall — WALL Ends the run in any pose. Move to another lane before the crossing.
Low hurdle — JUMP ↑ Pass while jumping. Running or sliding into the hurdle ends the run.
Overhead gate — SLIDE ↓ Pass while sliding. Running or jumping into the gate ends the run.
Diamond — ◇ Collect it by occupying its lane, whether running, jumping, or sliding.

Every row contains one unobstructed diamond lane and two obstacle lanes. The runner starts in the middle lane. For every seed, the first row is at 60 m with a diamond on the left, a wall in the middle, and a hurdle on the right. Later rows are spaced 30 m apart. The seed determines their arrangement, and changing the starting pace does not change that arrangement.

Lane changes take effect immediately, move one lane at a time, and stop at the road's edges rather than wrapping around. They remain available during a jump or slide. Each jump or slide lasts 40 movement steps, equivalent to 0.8 seconds of active play.

A follow-up jump or slide can be queued during the final six steps, or 0.12 seconds, of the current action. Earlier requests are ignored, and the most recent request within that window replaces any previously queued action. The queued move begins as the current one ends. Pausing preserves the current action's remaining time but clears the queued follow-up.

Collision checks occur before an action expires on its final step. At Standard pace, the first hurdle reaches the runner at 4.00 seconds. In the right lane, a jump begun after 3.20 seconds of active play clears it on the jump's final step. Beginning after 3.18 seconds makes the jump expire one step too soon.

Distance and scoring

Speed increases by 1 m/s after each 20 seconds of active play, up to 30 m/s. The starting speed is 12 m/s for Calm, 15 m/s for Standard, and 18 m/s for Quick. Speed and distance advance in steps of 0.02 seconds.

vn = min ( 30 , v0 + ⌊ n−11000 ⌋ ) Dn = Dn−1 + 0.02 × vn

Here, n counts movement steps from 1, v0 is the starting speed, vn is the speed in m/s during step n, and Dn is the distance in metres after that step. Distance starts at zero. The floor brackets round down, so the first 1,000 steps use the starting speed and the next step introduces the first increase. Paused time adds no steps or distance.

Fractional metres accumulate before the displayed distance is rounded down. Score adds that whole-metre distance to all pickup points earned, with each new diamond's award determined by the current streak.

Score = ⌊D⌋ +B b = 10 × min (5,c)

D is the unrounded distance in metres and B is the accumulated pickup-point total. For each new diamond, b is its point award and c is the streak including that diamond. Consecutive pickups award 10, 20, 30, 40, then 50 points each. Later pickups in the same chain stay worth 50 points, although the streak count continues rising.

Passing a hurdle or gate without collecting the row's diamond resets the current streak to zero. Previously earned points remain, and the next diamond starts a new chain worth 10 points.

Collecting the first five diamonds consecutively earns 150 pickup points. At 180 m, that gives a Score of 330. Collecting the sixth diamond at 210 m adds another 50 pickup points, producing a score of 410. If the sixth row offers a hurdle or gate and you pass it instead, the score is 360 and the streak resets.

FAQ:

Will an unfinished run survive a reload?

No. Movement and scoring happen in your browser, and only the best finished scores are kept there. A custom seed and non-default pace can be retained in the page address, but reopening that address returns to setup rather than resuming your previous position. Avoid putting personal information in a route seed because it can appear in an address you copy or bookmark. If score storage is unavailable, the game can still be played, but a best score may not persist between visits.

What does reduced motion change?

A reduced-motion preference detected when the page opens stops decorative lane-stripe movement. Obstacles still scroll toward the runner, and the collision rules, scoring, and action timing remain unchanged.