Flip Gravity Runner is a deterministic browser corridor game where you choose Advance or Flip + Advance to move a runner along a floor or ceiling through five fixed levels for exactly 1,000 points. The runner never moves on its own. Every step into the next column is a deliberate, atomic decision you make by reading the obstacle on the visible side. If you keep the current gravity direction, the runner stays where it is and crosses into the next column on that same lane. If you flip, gravity direction and runner side change together, then the collision is evaluated against the new side. There is no timer, no randomized obstacles, no animation-only flip, and no account or upload step. Each level uses one persistent corridor with one blocked side per destination column, and the same sequence of safe decisions always produces the same 1,000-point result on every run.
If you want a browser-based runner that hands you every meaningful decision, the Gravity Flip Game plays exactly that role. It runs locally, scores deterministically, and treats every flip as real state rather than decoration.

What the Gravity Flip Game Actually Is
The Gravity Flip Game is not a physics simulation. The words gravity, floor, and ceiling name a deterministic two-lane mechanic. The board is a single corridor for each level, divided into fixed columns. Column one is the clear starting position, and every later column contains one obstacle on either the floor or the ceiling. The runner occupies one of those two lanes at any time, and the side currently chosen determines which lane a collision check uses.
Each level has a fixed number of obstacle columns. The five original levels contain four, four, five, five, and six obstacle columns respectively. Obstacles do not move, randomize, or disappear after a failed attempt, so the board you read at the start of a level is the same board you read after any number of restarts. The visible state always shows the current column, the side the runner is on, the gravity direction, the completed path drawn from the level start through the current column, and the running score. Because the geometry never changes, the same sequence of decisions produces the same result on every run.
How to Play the Flip Gravity Runner
The play loop is small enough to fit on one screen, but the discipline is in reading the next column before you commit. Use the following sequence each time you reach a new column.
- Read the obstacle in the next corridor column and note whether the runner currently follows the floor or ceiling.
- Decide whether the blocked side matches the side you are on. If your current side is clear, choose Advance to keep moving along it.
- If your current side carries the obstacle, choose Flip + Advance to reverse gravity, move the runner to the opposite lane, and then enter that next column as a single atomic decision.
- Watch the visible state confirm the new column, the new side, and the updated path. The text status reports floor or ceiling, up or down gravity, and exact column progress.
- If the move collides, the runner stays in place with the same side, gravity, score, and path. Repeating the same failed decision at the same segment is deduplicated and does not count again.
- After a deduplicated repeat, take the safe action and continue. Avoid a second different collision in the same level, because that locks both controls until you Restart.
- Clear the final column of each level, move into the next, and repeat until the score reads exactly 1,000.
The Two Controls and What They Actually Do
The two controls are intentionally explicit and they are not interchangeable. Advance keeps the runner on the current side and enters the next column. Flip + Advance reverses gravity, transfers the runner to the opposite side, and then enters that next column. A flip never advances on its own, and an advance never flips on its own, so every press corresponds to exactly one state transition. Because a flip updates side and gravity together, the visual state cannot disagree with the collision logic on the next step.
| Control | Gravity Effect | Side After Action | When to Use |
|---|---|---|---|
| Advance | Unchanged | Same lane as before | Next column obstacle is on the opposite side from the runner |
| Flip + Advance | Reversed | Opposite lane from before | Next column obstacle is on the same lane as the runner |
Decision normalization accepts the visible action names regardless of surrounding spaces or letter case. The plus sign form of Flip + Advance is normalized to the internal hyphenated action, so any visible variation of the two controls reaches the same reducer call. Unknown commands, non-string values, empty text, completed sessions, and deadlocked sessions are atomic no-ops, so a stray keystroke cannot corrupt the recorded path.
Scoring, Collisions, and the Two-Failure Rule
Clearing the final column of a level awards exactly 200 points. Each of the five levels ends with a 200-point award, so completing all five levels awards exactly 1,000 points. That number is the arithmetic 200 points x 5 levels = 1,000 points, which is why the final score reads as a clean four-digit figure when you finish the last corridor.
| Level | Obstacle Columns | Last Column Award | Cumulative Score |
|---|---|---|---|
| Level 1 | 4 | 200 points | 200 |
| Level 2 | 4 | 200 points | 400 |
| Level 3 | 5 | 200 points | 600 |
| Level 4 | 5 | 200 points | 800 |
| Level 5 | 6 | 200 points | 1,000 |
Collision handling follows a two-distinct-failure rule within each level. A failed decision signature includes the level, current segment, and normalized action. Repeating the same failed action at the same segment is deduplicated and does not consume the second failure. The player may then take the safe action and continue. A later different collision creates a second signature and deadlocks the runner. Once deadlocked, both controls and all reducer calls are frozen until Restart. This is why pressing the same wrong button twice in a row is harmless, but pressing two different wrong buttons in the same level is fatal for that run.
When a collision does happen, the runner does not partially flip, partially advance, or corrupt the recorded path. Position, side, gravity, score, and completed path all remain unchanged, so the next attempt starts from the exact same situation you tried the first time. This is real stateful movement, not a decorative animation, which is why reading the board carefully before pressing matters more than reacting quickly.
Controls, Accessibility, and Why the Timer Is Missing
Keyboard control is scoped to the focusable game area instead of a global window listener. Press A or Right Arrow to advance, and F to flip and advance. Native buttons provide the same actions with at least a 44-pixel interaction height for touch, and standard Enter or Space activation, so the same actions work for keyboard users, mouse users, and touch users without mode switching. The widest level renders seven columns in a minimum-zero grid with compact symbols, wrapping text, and an overflow guard, keeping the layout structurally contained on a 390-pixel phone.
Because there is no timer, focus movement and screen-reader exploration cannot cause an accidental delayed step. A slow device, browser scheduling pause, or accessibility interaction cannot change the outcome, since the runner only moves when you issue an action. Restart reconstructs the exact first-level opening state, including floor side, down gravity, column one, empty failure set, zero score, and a one-node floor path. The shared GameShell also provides a local best-score and a Boss Key for quick hiding.
Why Determinism Helps You Improve
The original fixtures mean every level has a known safe route. The automated test owns a private literal copy of all five obstacle arrays and all five safe decision sequences, and an independent side-toggle function proves for every step that the expected decision lands on the unblocked side and the opposite decision lands exactly on the obstacle. That structure makes the game easy to learn by inspection: read the next column, identify the blocked side, and pick the control that puts the runner on the other side. There is no procedural generation to memorize, no power-up to track, and no shifting ruleset between runs.
Because the game does not claim to simulate gravitational acceleration, mass, velocity, hardware sensors, orbital motion, or any measured physical system, the result depends only on the sequence of decisions you make. Everything runs locally in the browser as a client-side game. Decisions, paths, collisions, and scores are not uploaded for processing, and no account is required. If you want a runner mechanic you can reason about on the first try, the Gravity Flip Game gives you the full chain of cause and effect on a single static board.
Tips for Reading Each Column
Look one column ahead rather than at the runner. The runner position only tells you where you are now, not whether the next column is safe. Each step changes the segment position, so the corridor you evaluate is the column immediately to the right of your current path node. If your current side is blocked in that next column, the safe action is Flip + Advance. If your current side is clear, Advance is enough. Never flip and stay, because a flip without an advance leaves you in the same column with no progress.
When a new level opens deterministically on the floor with downward gravity at column one and a fresh one-node path, treat that opening as your reference. The final level retains its full completed path, so you can inspect the entire route at the end and use that inspection to plan faster routes through earlier corridors on subsequent runs. If you enjoy keyboard-driven browser runners and want a comparison with a different mechanic, the Dinosaur Game rules guide covers a tap-to-jump runner with the same keyboard-only style.
If you're weighing options, Insert Operators Equation Puzzle: Reach 5 Targets Exactly covers this in detail.