Phaser AE

Word ladders

Pro packv3.0.0-0WordNew

Turn COLD into WARM one letter at a time: cord, card, ward, warm. Every step must be a real word, and the fewer steps the better. The pack makes the puzzles, checks the steps and always knows the shortest way to the goal.

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

Released October 21, 2026

Word ladders: 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

A puzzle comes from a seed: the pack picks a start word, searches outward from it one changed letter at a time, and takes a goal whose shortest ladder falls in the step range you ask for, preferring the far end. Or you set the start and goal yourself, and the pack checks they are words and that a ladder joins them. The same seed always gives the same puzzle, so a day number makes a daily one.

Each step is checked: one letter changed from the last word, a word in the list, not on the ladder already, and steps still allowed. A refusal comes with a reason a player can be shown. Every rung reports which letter changed, so a game can light it up.

The pack keeps the par (the fewest steps from the start) and, after every step, how many steps are left from where the player stands without going back through the ladder. A hint is the next word on such a shortest way, and when a player has walked into a dead end, it says so. A ladder is a seed and a list of steps on the kernel history, so undo, saves and replays come free.

Features

  • Seeded puzzles — a start and goal whose shortest ladder falls between minSteps and maxSteps.
  • Set puzzles — your own start and goal, checked for a ladder between them.
  • Any word length — three-letter sprints to six-letter climbs, as far as the words connect.
  • Changes, or edits too — moves: 'edit' lets a step add or take away a letter, so ladders grow and shrink.
  • Step limits — a ladder is lost when its limit is used up.
  • Reasons for refusals — not one change, not a word, used already, out of steps.
  • Changed letters — each rung says which position changed, ready to highlight.
  • Par, steps left and hints — the shortest way from the start and from wherever the player stands.
  • A solver — solveLadder and ladderNeighbours work on any list, in a game or a tool.
  • Undo, saves and replays — a seed and a list of steps.

Good for

  • Daily word ladders, one seeded four-letter puzzle a day with its par to beat.
  • Classic doublets, set puzzles like COLD to WARM or HEAD to TAIL.
  • Timed or limited ladders, a race against a step limit.
  • Themed ladders, over a list of your own words.
  • Word-golf variants, where a step may add or remove a letter.
  • Teaching spelling, small changes between real words.

Make it yours

A ladder takes its seed or a set start and goal, the length and step range of generated puzzles, the words list, the moves rule (change or edit), a step limit, and how many starts to try. The pack draws nothing, so the rungs, the keyboard and the celebration are yours; letter-tiles draws them in the gallery demo.

Two different games from the same pack: a four-letter daily puzzle with a par of three to six and no limit; and a five-letter ladder of five to eight steps where letters may be added or taken away, against a limit of ten steps.

A quick look

A puzzle, a step and a hint:

const ladder = createWordLadder({ seed: day });                    // four letters, a par of 3 to 6
const view = ladder.observation();                                 // start, goal, rungs, par, remaining, phase
ladder.check('cord');                                              // { ok: true } or { ok: false, reason }
ladder.step('cord');                                               // adds a rung
ladder.hint();                                                     // { word, remaining, reason }
createWordLadder({ seed: 0, start: 'cold', goal: 'warm' }).solve(); // ['cold', 'cord', 'card', 'ward', 'warm']

Works with

  • english-words — required: the words every rung must be, and lists of your own.
  • letter-tiles — draws the rungs, lights the changed letter and gives a tap keyboard.
  • word-guess — when the game is guessing one hidden word rather than walking to one.

Good to know

  • It is the rules only: the game draws the ladder.
  • Par runs through the whole word list, so it may use uncommon words; pass a filtered list for gentler puzzles.
  • Long words connect poorly: a seven-letter puzzle with a long range may not exist, and generation then throws.
  • There is no score or timer; compare steps with par and keep time yourself.

More Word packs

Show all →