Skip to content

Live · Browser game

Shiftland

Slide tectonic plates to raise peaks and let the sea in until every goat, village and lighthouse is happy, across 26 islands. A GitHub Game Off 2026 entry.

Three.js / TypeScript / Vite / Web Audio

Shiftland’s final island, The Summit: coloured tectonic plates with rails, a goat on a raised stone peak, penguins on an ice floe, red-roofed houses, palms, a lighthouse on a high bluff, a buoy and an oasis pool, set in a blue sea.
Preview captured November 7, 2026. Open the demo to interact.

Overview

A tectonic-shift puzzle game made for GitHub Game Off 2026 (theme: SHIFT). Each small island is cut into plates that slide along rails. Where a plate pushes into its neighbour the land rises into mountains; where it pulls away the sea pours in. Goats want peaks, villages want to stay low and whole, lighthouses want a coast, buoys want open sea, oases want a still lake and penguins want a floe by the water. Make every one of them happy at once, in as few shifts as you can, across 26 islands in meadow, coast, desert, tundra and a finale.

Before you try it

It plays in the browser on itch.io, with progress saved in that browser. It needs WebGL. The source is public to read on GitHub but all rights are reserved; it is not open source.

What to try

  1. Shift a plate

    Drag a plate along its rail, or select it and use the arrow keys. A live preview shows what each shift will raise or flood before you let go, and the cards at the bottom say which pieces are still unhappy and why.

  2. Chase par

    Every island has a par: the fewest shifts that solve it. Undo (Z) and Restart (R) are free, so try a line, back out and look for a shorter one.

  3. Ask for a hint

    Stuck? Press H. The hint starts from the island as you left it, so it also tells you when the current position can no longer be solved and what to undo. M opens the map of every island.

How it works

A solver behind every island
One rules module is shared by the game, a solver and the tests. Every island is solver-checked: it can always be solved, and its par is the true minimum. Hints run the same search in a Web Worker, so asking for one never freezes the game.
Art and sound made in code
The islands, animals, buildings and sea are built from Three.js geometry and shaders, and every sound is synthesized with Web Audio at runtime. There are no imported models, textures or recorded sounds.
Played to the end by real input
Scripted players finish every island at par from a clean save with a mouse, with touch and with the keyboard, and a random-input run checks the game state after every move.

I build browser games to order. Each one is scoped and quoted after a free fit check.

Custom browser game

Your idea, scoped and quoted before any work starts

quote after fit check

Ask about a game

or write to [email protected]