About

This is an open platform for Sokoban, the classic push puzzle. Anyone can upload a level or a skin. A solver checks each level before it is published, so every level you find here can be finished.

This is the web home of Stargazer, the daily puzzle game for iPhone. Levels and skins made here open in the app, and the app's Fallen Stars levels are all playable here.

Level format

Levels use standard XSB notation, one character per cell:

#  wall        .  goal          $  box
*  box on goal @  player        +  player on goal
(space) floor

Rows can be different lengths; missing cells on the right are floor. Anything the player cannot reach counts as wall. A level needs one player, at least one box, and the same number of boxes and reachable goals. Each level also has a small JSON manifest with its id, title, author, difficulty and source. The full spec is in the repository under docs/level-format.md.

Skin format

A skin is six square images, all the same size: wall, floor, goal, box, box-on-goal and player, plus an optional player-on-goal. PNG or SVG, 128 pixels is the recommended size. Floor is drawn under everything; goal, box and player are drawn over it. Walls are drawn only where they touch floor. The full spec is in the repository under docs/skin-format.md.

Keys

Arrow keys or WASD move. Z undoes. R restarts. On a phone, swipe on the board.

Planned, not built yet

Accounts, leaderboards, ratings and comments, and curated collections. For now uploads are anonymous and the only moderation tool is a report button.