The Gravity Flip Game runs on two deliberate actions, Advance and Flip + Advance, applied to a fixed corridor across five deterministic levels, and clearing all five levels always awards exactly 1,000 points. Every column from column two onward contains exactly one obstacle on either the floor or the ceiling, and that obstacle never moves, randomizes, or disappears between attempts. The runner only changes position when you issue one of the two actions, and a Flip + Advance toggles gravity, switches the runner to the opposite side, and moves into the next column as one indivisible step. If the destination side is blocked, the entire move fails atomically, leaving your position, side, gravity, score, and recorded path exactly as they were. There is no background timer, so a slow device, a paused browser tab, or a screen-reader pause cannot move the runner on its own.

gravity flip game
gravity flip game

Advance vs Flip + Advance: The Two Actions That Run the Game

Advance and Flip + Advance are the only legal moves in the Gravity Flip Game. Advance keeps your current gravity direction and the runner's current side, then moves the runner one column forward into the next fixed column. Flip + Advance reverses gravity, transfers the runner to the opposite side, and then enters that next column. Both actions also change the segment position by one column because the runner only changes state through your input, not through elapsed time.

The distinction matters because Flip + Advance is atomic. Gravity direction and side change together before the collision check, so a flipped move can still collide if the destination side holds the obstacle. A failed flip does not partially succeed; it fails completely and the runner remains exactly where it was. This is real stateful movement rather than a decorative animation, which is why every safe action visibly updates both the runner position and the completed path on the board.

ActionSide AfterGravity AfterPosition ChangeUse When
AdvanceSame sideSame direction+1 columnThe next column's obstacle is on the opposite side of the runner.
Flip + AdvanceOpposite sideReversed+1 columnThe next column's obstacle is on the runner's current side.

How to Read a Column Before You Commit

Each level uses one persistent fixed corridor. Column one is the safe starting position with the runner on the floor and gravity pointing down. Every later column contains exactly one obstacle, and that obstacle is on either the floor or the ceiling. The corridor exposes three readable things per column: the visible obstacle side, the runner's current side when the runner is on that column, and the completed path side for any column the runner has already traversed.

You read the next visible column, identify which side the obstacle sits on, and decide whether staying on your current side or flipping to the opposite side avoids that block. Because obstacles do not randomize and do not move, your decision is based on visible geometry rather than probability. The text status reports whether the runner follows the floor or the ceiling, whether gravity is up or down, and the exact column progress. Reading those three signals in order keeps your planning aligned with the recorded state and prevents a guess that drifts away from the actual board.

How to Play the Gravity Flip Game

  1. Open the Gravity Flip Game and observe the corridor; column one is the safe starting position on the floor with downward gravity.
  2. Scan column two and identify which side, floor or ceiling, holds the obstacle in that column.
  3. Click Advance if the obstacle sits on the opposite side of your current runner position, or click Flip + Advance if the obstacle sits on your current side.
  4. Watch the runner move one column; the text status updates side, gravity direction, and column count after every safe action.
  5. Repeat the read-and-decide loop for every remaining column in the level while avoiding a second distinct collision.
  6. After clearing the final column, the level awards exactly 200 points and the next level begins on the floor, column one, with downward gravity and a fresh one-node path.
  7. Continue across all five deterministic levels, earning 200 points per level, until the run stops on the exact 1,000-point completion state.
  8. Use Restart at any time to reconstruct the exact first-level opening state, including floor side, down gravity, column one, empty failure set, zero score, and a one-node floor path.

Why Flip + Advance Is a Single Atomic Decision

The product treats Flip + Advance as one indivisible decision rather than a flip followed by an advance. Gravity direction and runner side update together before the collision check, so the recorded state and the visual representation can never disagree. If you flip onto a column whose destination side holds the obstacle, the move fails as a whole: the runner does not partially flip, partially advance, or corrupt the recorded path. Position, side, gravity, score, and completed path remain unchanged after a failed action.

This atomicity extends to action normalization. The game accepts the visible "Flip + Advance" label regardless of surrounding spaces or letter case and normalizes the plus-sign form to an internal hyphenated action. Unknown commands, non-string values, empty text, completed sessions, and deadlocked sessions are all atomic no-ops that change nothing. Repeated failed actions that share the same signature with the same segment in the same level are deduplicated and do not count toward the second collision. A repeated failure only ends the level when it produces a second, distinct failure signature.

The Two-Collision Rule and How Deadlock Works

Each level uses a two-distinct-failure rule. The first failed decision stores a signature that includes the level number, current segment, and a normalized action. If you try the same action at the same segment and fail again, the game deduplicates that attempt and the level continues. Once you take a different action or move to a new segment and collide again, a second distinct signature is created and the level deadlocks immediately.

Once deadlocked, both controls and every reducer call are frozen until Restart. Restart is the only way out: it 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. Restart does not preserve progress. Because there is no timer and no automatic recovery, deadlock is a real failure state, not a visual artifact. Reading the next column carefully and committing to the safe side before clicking is the only way to avoid a deadlock.

Five Levels, 1,000 Points: How Scoring Adds Up

The five original levels contain 4, 4, 5, 5, and 6 obstacle columns respectively. Because each safe action only moves one column, every level has exactly as many decision points as obstacle columns plus the starting column. Clearing the final column of a level awards exactly 200 points, so each level contributes exactly 200 and the five level awards sum to 5 × 200 = 1,000 points across a complete run. Those column counts and per-level awards are disclosed by the product contract and verified by an independent test oracle.

LevelObstacle ColumnsPoints Awarded
14200
24200
35200
45200
56200

The next level begins deterministically on the floor with downward gravity, column one, and a fresh one-node path. The fifth level retains its full completed path so the end state remains inspectable. Local best-score behavior comes from the shared GameShell, but the game itself does not upload decisions, paths, collisions, or scores for processing. Every run with the same decision sequence produces the same outcome, including score and final position.

Controls: Keyboard, Buttons, and Touch

Keyboard control is scoped to the focusable game area instead of a global window listener. Press A or Right Arrow to advance, and press F to flip and advance. Native buttons provide the same actions with at least a 44-pixel interaction height for touch input and standard Enter or Space activation. Because there is no timer, focus movement and screen-reader exploration cannot cause an accidental delayed step.

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. The visible board always shows the column geometry, so reading the next obstacle does not require hidden answer annotations, hidden route data, or test-only attributes. Test identifiers contain only neutral column indices and control names, and the corridor is accessible without hiding its game geometry.