Puzzle · Sokoban
Push and Fork
Stab a fork into a crate, push a few blocks, then rewind the world while the forked crate replays its recorded path — a time-bending twist on Sokoban block-pushing.
Overview
Stab a fork into a crate and the room becomes recordable. Push and Fork is a single-screen block-pushing puzzle that looks like ordinary Sokoban until you plant the fork, at which point it turns into a game about saved timelines. Every move you make after the stab gets stored; when you pick the fork back up, the whole world rewinds to the moment of the stab, and then the stabbed crate steps through its recorded path a second time while you are free to walk a different route. The upshot is that one block effectively lives in two histories, and rooms are built around leaving a crate doing useful work in the replay while your character takes another path to the exit. Built in HTML5 by Samuel Gélineau, who goes by gelisam, together with a small team for GitHub's Game Off 2012, the game leans hard into the jam's Git vocabulary: the carried fork is both a literal utensil and a version-control branch in time, and the little octopus creature scattered through the art is itself a piece of fork-bent jewelry by the artist Doctor-Gus. Daniel Cook's free PlanetCute tileset supplies the chunky, readable tiles. Difficulty ramps from plain pushing into rooms that demand two or three layered replays, and bonus levels unlock as you progress.
How to Play
Move with the Arrow keys, WASD, or the vim-style HJKL layout — all three are wired in, and each tap shifts your character one tile. To use the fork, press Z, X, F, Ctrl, or Space. Carry it into a block to stab, then keep pushing crates and walking as usual; press the fork key again to lift it, which rewinds every entity to the stab and replays only the forked crate's recorded moves. R or Esc restarts the level or skips the replay animation. Each room is a self-contained grid with a door to reach, and most cannot be solved without recording a block's journey and then exploiting the replay while you act a second time.
Tips & Strategy
Before stabbing, work the room backwards from the door you cannot reach: decide which crate must end up where, then design a recorded sequence that delivers it there, because the fork only replays the stabbed crate, not any other block you shoved during the window. Treat the recording phase as a free scout — you can deliberately shove crates into dead ends to test whether a path opens, since lifting the fork erases every consequence except the stabbed crate's trajectory. Watch the replay finish before you move, because the recorded crate can collide with you and with freshly pushed blocks, ending an otherwise sound plan. Stack stabs in sequence on later rooms: record one crate, let it replay, then stab a second crate on top of the running timeline. A fast R-reset is always cheaper than committing to a half-finished idea, so restart the moment a plan feels off rather than pushing through a tangled history.
Controls
- Keyboard
- Arrow keys, WASD, or HJKL to move one tileZ, X, F, Ctrl, or Space to stab the fork into a block and lift it againR or Esc to restart the level or skip the replay animation
- Mouse
- Not used; the game is keyboard-only.
Features
- Sokoban-style block pushing on single-screen tile grids
- Fork records a timeline, rewinds the world, then replays only the stabbed crate path
- Three keyboard layouts supported: arrows, WASD, and vim HJKL
- HTML5 game built on Daniel Cook's free PlanetCute tileset
- GitHub Game Off 2012 entry by Samuel Gelineau (gelisam)
- Bonus levels unlock as you clear rooms