2D Whale World

Saved games stay in this browser only.

About the game

The whales of 2D Whale World are stuck on a flat, blue sea that is bordered by the orange void, and the opening message tells you what to do: push a whale off to free it. You are a small light-blue square. The whales are brown blocks, and each one casts dotted yellow lines across the board, along its row and its column, and the lines are what carry your moves to them. Step onto a dotted line and the whales respond to the direction you just moved.

Eight levels follow, each introduced by a "level n of 8" screen, and the game ends on "all the 2d whales are freed". The early boards have one or two whales and are mostly about understanding what the lines do; the later ones have several whales whose lines cross each other, so freeing one may shove another somewhere awkward. The game is a short text file for the author's PuzzleScript engine, and the pictures and sounds are produced by the engine.

Playing it here

Click Play and press X to start. The game remembers the level you reached in this browser. On a phone or tablet, on-screen buttons appear. Nothing is sent anywhere.

Controls

Input Action
Arrow keys, W A S D or on-screen pad move your square
Z or U undo the last move
R restart the level
X, C or Space continue past a message

A few things worth knowing

You cannot fall in. Whales can leave the board into the orange void, but you are stopped at the edge.

The lines move with the whales. After a whale moves, its dotted lines are redrawn from its new position, so the map changes under you.

Undo is free. Try a step, watch where the whales go and take it back.

Credits and licence

2D Whale World was made by Stephen Lavelle (increpare) and published under the MIT licence, together with the PuzzleScript engine it runs on, in the PuzzleScript repository. The licence text is linked from this page. The page is the standard standalone export of the engine with the game text inside; we only removed the link to the author's site and the "hack" button that would send the code to another site, and replaced the one small part of the engine that was under another licence (GPL) with our own code.