Phaser AE

Key-and-door tile puzzles

Pro packv3.0.0-12DArcade

The rules of the top-down tile-effect puzzle: walk a tile at a time, collect the chips, open the socket and reach the exit, through doors, elements, sliding floors and monsters. Levels are text maps, and a solver finds the way through your own.

This is a Pro pack. Upgrade to Phaser Pro to use it in your games.See Phaser Pro →

Released October 19, 2026 · updated October 20, 2026

Key-and-door tile puzzles: a screenshot of its demo
A note about these graphics

Expansion packs don't come with graphics. This screenshot is one way of drawing what the pack does, made for its demo: none of the sprites, tiles or backgrounds in it are in the pack.

That's by design. A pack is a game's logic, mechanics and effects, and it works with whatever art you give it. Some packs draw effects, backdrops or 3D scenes of their own, but none carries a game's sprites.

So the look is yours. Make the art on phaser.io, bring your own, or let your agent draw it in code: the same pack can look like anything.

What it does

The player moves one tile a step on a grid of terrain. Collecting chips counts down to the socket, which opens when enough are in, and stepping on the exit clears the level. Keys open doors of their own colour, and green keys are kept. Water drowns the player without flippers, fire burns without fire boots, ice slides them on without skates, and force floors push them without suction boots, while a thief takes the boots away. The player pushes blocks, and a block pushed into water fills it with dirt, which turns to floor when walked on. Bombs destroy what steps on them, teleports send the arrival out of the next teleport that has room, pop-up walls rise behind the player, the green button toggles walls and the blue button turns tanks round.

The monsters each follow their own rule. Bugs and paramecia follow walls on opposite sides, fireballs and gliders turn their own ways, balls bounce, tanks drive straight on, walkers and blobs wander, and teeth chase the player. Monsters keep off dirt, gravel, items and doors, and off fire and water unless they are the kind that can cross them. Touching one is death, and so is running out of time on a timed level.

The game draws nothing: view gives the terrain of every cell and every mover with its kind, cell and direction, and drain gives events, chip, key, door, boots, push, splash, teleport, slide, die with its cause, and more, for animation and sound. The whole game snapshots to plain JSON and restores. solveLevel searches the game's own states breadth first, chip by chip, for a way through, and the autopilot plays a level's stored way or one it finds.

Features

  • Chips, socket and exit — a chip count per level, all of them by default, and an optional time limit.
  • Keys and doors — red, blue, yellow and green, with green keys kept.
  • Elements and boots — water, fire, ice and force floors, with flippers, fire boots, skates and suction boots, and a thief to take them.
  • Blocks and dirt — pushed blocks fill water; dirt and gravel keep monsters off.
  • Board changers — bombs, teleports, pop-up walls, toggle walls with a green button, and a blue button for tanks.
  • Nine monsters — bugs, paramecia, fireballs, gliders, balls, tanks, walkers, blobs and teeth, each with its own movement.
  • Text levels — one character per tile, with starting facings for monsters, a hint and a stored solution.
  • Solver and autopilot — a breadth-first search over the game's own states, and a player for attract modes.
  • Validation, events and snapshots — every fault in a level listed, every rule reported, saves as plain JSON.

Good for

  • Tile-effect puzzle games in the style of Chip's Challenge, with keys, boots and monsters.
  • Level packs and editors, since a level is rows of text and the validator and solver check your work.
  • Teaching puzzles, with one mechanic a level and a hint tile to explain it.
  • Timed puzzle challenges, with a clock that kills on zero.
  • Attract modes and demos, with the autopilot walking a level's way through.

Make it yours

A level is a name, a text map of terrain and movers, the chips the socket needs, the time in seconds or none, the hint, the monsters' first facings and a stored solution. The game takes the list of levels, the starting level, the seconds a move takes and the seed for the wanderers. The four built-in levels teach keys and doors, the elements, monsters and blocks, and switches and teleports, and are there to replace with your own.

Two materially different uses: a calm untimed puzzle pack of your own levels about ice and force floors, with a hint tile on each and no monsters; and a fast timed set where the move time is shortened, teeth chase the player and tanks are turned with the blue button to open the way.

A quick look

A game driven by held keys and drawn from its view:

const cc = game.chipsChallenge.create();
cc.move(keys.dir);
cc.step(dt);
const v = cc.view();
v.terrain.forEach((t, i) => drawTile(t, i % v.width, Math.floor(i / v.width)));
for (const m of v.movers) drawMover(m.kind, m.cell, m.dir);

Works with

  • boulder-dash — for caves of falling boulders and diamonds instead.
  • pusher — for crate-pushing puzzles with undo and deadlock checks.
  • tiles-2d — to draw the board as a tilemap.

Good to know

  • Clone machines, traps, recessed walls, invisible and blue walls, ice corners and the slide-delay rules of later versions are not modelled.
  • The player cannot step off a force floor against its push.
  • The solver goes chip by chip to the nearest next one, so it is quick but can miss levels that punish the order of chips, and it stops at its node budget, 200,000 by default.
  • The pack draws nothing; your game presents the view and the events.

More Arcade packs

Show all →