
Two Worlds

Only what the light touches is real
You carry a lantern. Its light covers a 3×3 square. Inside that square the drowned spirit world is real, and everywhere else you are standing in the living world. Water you cannot cross becomes stone once the light falls on it. A wall that only exists in the spirit world becomes solid the same way. Every puzzle asks the same question in a new way: which nine cells do you want to be real right now?
- 38 hand-tuned levels in four chapters: The Shore, The Carrying, The Drowned and The Deep. Every level is checked by a solver, so each has a proven shortest solution and a par to beat.
- Carry the lantern or steer it. Set it down to leave a lit patch behind you, or stand on a shrine and steer the light across the board from a distance.
- Shades hunt you through the drowned world and freeze the moment your light touches them. Dotted trails always show where each one will go next.
- Hold Tab to flood the whole board with the drowned world and plan your route.
- Turn based, with unlimited undo and a solver hint (H) if you are stuck. Want pressure? The pace setting on level select gives the dark a turn every 1.2 or 0.6 seconds while you hesitate.
- Colour-blind friendly: the two worlds differ in shape as well as colour, blue against orange.
Controls
Keyboard
- WASD: walk
- Arrow keys: steer the light while you stand on a shrine (remote levels)
- Space: set the lantern down or pick it up (carried levels)
- . wait a turn · Z undo · R restart · H hint
- Hold Tab: see the whole drowned world
- Esc or P: pause (in fullscreen the browser takes the first Esc, so use P). The pause menu's "What's what" explains every tile.
- F: fullscreen · C on the title: credits · P on level select: change the pace
Gamepad: left stick or d-pad walks, right stick steers the light, A carries, B undoes, Y restarts, X hints, LB or LT held peeks, Start pauses.
Click the game once, then press any key; browsers keep the sound off until you do.
Made with AI
Two Worlds was made in about three days for a weekly AI coding jam with a friend (theme: "two worlds"). Generative AI was used throughout. The code, the level layouts, and the in-game and page text were written by Claude (Anthropic) through Claude Code, with Sam directing, playtesting and choosing. The level set was tuned with a solver and a design audit that the AI also wrote. The pixel art, fonts, sound effects and music samples are human-made assets, credited below. None of them were AI-generated. Built with Godot 4.7.2.
Credits
- Tiles: 1-Bit Pack by Kenney (CC0)
- Type: Kenney Fonts by Kenney (CC0)
- Sound: Sonniss GDC Game Audio Bundles
- Music: a generative score played from samples in Erang's free Dungeon Synth and Dungeon Synth Tome II packs (The Five Seasons Library)
- Engine: Godot (MIT)
| Published | 13 days ago |
| Status | Released |
| Platforms | HTML5 |
| Author | sam_hi |
| Genre | Puzzle |
| Made with | Godot |
| Tags | Godot, Pixel Art, Short, Singleplayer, Sokoban, Turn-based |
| AI Disclosure | AI Assisted, Code, Text |






Comments
Log in with itch.io to leave a comment.
The art direction is really nice. This could fit Pixel-Deck extremely well
Thanks! It's not mine! Props go to kenny.nl