HERO STAR← WIKI
Hero Star screenshot

Daily Brains · six toy heroes, one trick each, and a star for every one of them.

Hero Star is a once-a-day party puzzle in a small 3D realm. A party of chunky toy heroes stands among crystals, water, goblins, dragons and trees, with one gold star for each hero. Move one hero at a time, using each hero's one trick: the Warrior shoves whole lines, the Thief drags whatever is behind her, the Wizard swaps with the first thing he sees, the Priest shields her neighbours, the Bard leads everything near her and the Druid transforms what blocks her. Get every hero onto a star at once, in as few moves as you can. Every board is solved by computer, so par is the proven minimum. It is a hero-party block puzzle in the tradition of the Heroes of Hauling realm of Order of the Sinking Star, cut down to one readable board a day, each weekday in its own realm with one new idea.

▶ PLAY HERO STARVERSION Eby John

STORY & LORE

Six heroes, one trick each

The idea of a party where every member has exactly one verb comes from the hero-party Sokoban puzzles, above all the Hearty Heroes of Hauling in Order of the Sinking Star. Version B follows that realm's rules as closely as public sources allow: the Wizard swaps by moving (there is no swap button), the Priest's shield works on her neighbours and lets a hero stand over water only while under attack, goblins strike next door and finish any dragon beside them, and dragon fire stops at the first thing in its way. The art is all Hero Star's own.

A week of realms

Each weekday is its own realm with its own floor, walls, water and light, and each adds one new idea: the Red Hall on Monday (the Warrior and stepping stones), the Teal Courtyard on Tuesday (the Thief), the Moon Library on Wednesday (the Wizard), Goblin Wood on Thursday (goblins and the Priest), the Sandstone Temple over open water on Friday (dragons and the Bard), the Autumn Grove on Saturday (the Druid and her trees), and the Sinking Star on Sunday, three heroes with buttons and gates and the rest of the week mixed in.

How the boards are made

Boards are generated offline by scripts/hero-star/generate.mjs. A random board for the weekday's recipe is hill-climbed: every candidate is solved by an exhaustive breadth-first search over the full state using the game's own rules file, logic.js, and kept only if par sits in the weekday's band, the search has to work for it, the answer is mostly puzzle rather than walking, every hero does their trick on the optimal line and at most one crystal sits idle. The finalists must pass proofs: switch off any hero's trick and the board cannot be solved (with three heroes: not within par + 2); Monday's water turned to wall must be unsolvable (a stepping stone is needed); a board with a dragon must get strictly shorter without its fire; Sunday's gates turned to wall must be unsolvable. scripts/test-hero-star.mjs repeats every proof on every board in the book and replays each stored answer through logic.js to a win in exactly par.

CHARACTERS & ENEMIES

WarriorPushesHERO

A horned helmet, a big orange moustache and a short sword held upright. Walks into a line of things and shoves the whole line one square: crystals, monsters and other heroes alike. A wall, tree, shut gate or the board's edge stops the line and he stays put. The last thing in a line pushed into water sinks (a crystal becomes a stepping stone, a monster is gone) or falls away into a gap.

ThiefPullsHERO

A purple hood with a mask band and a small loot sack on her back. She cannot push. Every step she takes pulls whatever is directly behind her (a crystal, a monster or a hero) into the square she left. Every time: walking past things carelessly can wreck a plan.

WizardSwapsHERO

A tall floppy hat with a bent tip, a white beard and a short staff with a glowing orb. No swap button: each move he first looks straight ahead, and the first hero, crystal or monster on that line trades places with him. His sight crosses floor, water and gaps; walls, trees and shut gates end it. With nothing in sight he simply walks. When he is chosen, faint lines show what he would swap with.

PriestShieldsHERO

A white wimple, a red stole, hands together and a gold halo resting on her crown. She and every hero beside her (up, down, left, right; the gold glow) are safe from goblins and dragon fire. A shielded hero can even stand over water or a gap, but only while something is attacking them.

BardLeadsHERO

Pink from beret to hem, with a white feather in her beret and a small pink lute held close. Music notes dance round her while she is chosen. When she steps, every crystal, monster and hero within two squares of her (the pink square) copies her step if the square ahead of it is free solid ground; things at the front move first, so a column moves as one. If she cannot step, nothing moves.

DruidChangesHERO

Small antlers with a leaf on each tip and a leaf-edged green mantle. When something blocks her step she transforms it instead of moving: a tree becomes a crystal and back, a goblin or a dragon becomes a harmless crystal beast and back. She cannot change a hero or a wall.

GoblinBitesENEMY

A green menace with enormous ears, small bead eyes and a stubby club held close. It never moves on its own, but any unshielded hero who ends a move next to it is clubbed: the hero tips over, a little ghost floats up, and the board waits for an Undo. A goblin next to a dragon finishes the dragon. Pushed or pulled into water or a gap, it is gone.

DragonBreathes fireENEMY

A round little red dragon with a big snout, small folded wings and a stubby tail. Its fire runs down all four straight lines until it meets something: a crystal, a monster or a tree takes the flames, a hero standing in them is burnt to a crisp (unless shielded), and walls and shut gates stop it. The flames are drawn on the board.

HOW IT PLAYS

Goal

There is one star per hero. The board is solved the moment every hero stands on a star (any hero on any star). Anything else standing on a star blocks it. No hero ever starts on a star, on another hero or on an object.

Moving

Tap a hero or their card (or press 1 to 3, or Tab) to choose who moves. Swipe, tap the square next to them, or use the arrow keys or WASD. Tapping a farther square walks there by plain, safe steps only (no pushing, pulling or swapping on the way, and never into danger). Undo (Z, U, Backspace or Ctrl+Z) and Restart (R) are free and unlimited. The keys work straight after the page loads, and the How to play deck has a page listing them. A blocked move gets a short reason (the Thief cannot push, the gate is shut, and so on).

Turn order

One move: (1) the hero acts and everything it moves lands, sinking into water, drowning or falling into a gap as it lands; gates keep the state they had at the start of the move until it is over. (2) Buttons are read and gates open or close. (3) Goblins finish any dragon beside them. (4) The surviving monsters strike: an unshielded hero next to a goblin or in a dragon's fire is lost, and a hero over water or a gap who is not both shielded and under attack sinks or falls. A move that loses a hero still happens: the hero is clubbed, burnt, sinks or falls, a little ghost floats up, and a banner says what happened. The board then takes no more moves until you Undo (the fatal move counts until it is undone) or Restart. The solver treats a lost hero as a dead end, so par and every stored answer never lose anyone.

The world

Water: a hero who steps, is pushed or is swapped onto water sinks (unless shielded while under attack); a crystal pushed, pulled or swapped in sinks into a stepping stone (floor from then on); a monster drowns. Gaps: open sky; a hero who walks off the edge falls, crystals and monsters fall away for good; the Wizard can see across. Trees cannot be moved and end the Wizard's sight and dragon fire; only the Druid can change one. Buttons and gates (Sunday): while anything stands on a button every gate is open, and a gate never shuts on whatever stands in it.

Scoring

Par is the fewest moves the board can be solved in (each step, push, pull, swap, song or transformation is one move; choosing a hero is free). Solving in par scores 1000 and a gold star, which is a perfect day. Over par scores 1000 x par / moves (never below 100); up to par + 25% (at least 2) is silver, anything else bronze. Give up (tap twice) plays out an optimal answer and scores 0. The share line gives the realm, moves, par, medal and party, with no emoji.

Look and speed

Each realm is real 3D in three.js (vendored r128), built from cheap low-poly shapes with Lambert materials, instanced tiles, walls and grass, and soft blob shadows instead of shadow maps. It renders only when something changes, plus a gentle idle loop (bobbing, blinks, flickering torches, water, dragon fire) at 14 to 24 frames a second that stops when the page is hidden, the board is off-screen or the device asks for reduced motion. Three quality tiers (the lowest has no idle loop and fewer props), and a top-down 2D drawing when WebGL is missing. Hero portraits on the cards are rendered from the same 3D figures. Each board opens with a short camera move (about two seconds) from far over the realm, with distant islets, clouds and birds, down onto the board, and the heroes hop as it lands; any key or tap skips it, and it is left out under reduced motion and on the lowest tier (the 2D drawing grows and fades in instead).

Sound

All procedural Web Audio, no files. Each realm has a dream pad in its own key and mode: every chord tone is two detuned voices spread across the stereo field, through a filter that drifts slowly open and shut, with a soft flute phrase over the drone now and then, a bell now and then and a wind, hall or water bed, all through a long dark reverb. Moves have their own sounds (a footfall and a note of the scale, a heavy shove, a rasping pull, a shimmering swap, a crystal sparkle, a goblin's hup, a dragon's roar of fire), a sad trombone when a hero is lost, a whoosh for the camera move and a rising flourish on a win. A compressor and a limiter sit on the output so nothing clips. It starts on the first tap or key and goes quiet when muted or the page is hidden.

Saves

Progress is saved as you play and stamped with the save version, so a half-played board from version A starts fresh instead of breaking. Version C keeps version B's save format (a list of moves): a board left right after a hero was lost comes back that way, banner and all, and Undo recovers it.

THE PIECES

Everything on the board, rendered by the game itself.

Object
Crystal
Pushed, pulled, swapped, led
Obstacle
Tree
Rooted
Object
Crystal goblin
The Druid's work
Object
Crystal dragon
The Druid's work
Goal
Star
One per hero
Switch
Button and gate
Sunday

GALLERY

THE WEEK

196 boards in the book, 28 per weekday; no board comes back for 196 days. Par is the proven minimum for every board. Since version E every board also passes the design bench (scripts/hero-star/quality.mjs): nothing on it can be taken away without changing par, it has at most 12 genuinely different best lines (30 with three heroes), and neither a greedy player nor a two-move lookahead solves it within par + 2. Each weekday's first board teaches the day's idea on its own; after it the list climbs the bench's difficulty measure.

DayRealmPartyElementsSizeParBoards
Monday (Gentle)The Red HallWarriorWater and stepping stonesmostly 5x5 (up to 5x6)10-18 (avg 14.3)28
Tuesday (Easy)Teal CourtyardWarrior + ThiefWater, gapsmostly 5x6 (up to 6x6)14-24 (avg 21.0)28
Wednesday (Steady)Moon LibraryWizard + Warrior or ThiefGaps, water5x6 to 6x7 (some smaller)14-26 (avg 23.1)28
Thursday (Tricky)Goblin WoodPriest + Warrior, Thief or WizardGoblinsmostly 5x6 (up to 6x7)14-28 (avg 25.0)28
Friday (Tough)Sandstone TempleBard + Warrior, Thief, Wizard or PriestDragons (and goblins)mostly 5x6 (up to 6x7)18-30 (avg 26.7)28
Saturday (Hard)Autumn GroveDruid + any one of the other fiveTrees (and monsters)mostly 5x6 (up to 6x7)16-32 (avg 25.3)28
Sunday (Fiendish)The Sinking StarThree of the six (eight rotating parties)Buttons and gates, everything elsemostly 6x7 (down to 5x5)20-36 (avg 30.3)28

WEEK ONE: EACH DAY'S IDEA ON ITS OWN

The first board of each weekday is its teaching board: the day's new idea is the whole puzzle. These notes give the idea away, so skip them if you would rather find it.

DayParThe idea
Monday10Get behind the crystal and push it into the water: one stepping stone is the whole crossing.
Tuesday15The Thief drags the crystal over to the Warrior's line; one long shove then sinks it and carries her across on top of it.
Wednesday18The Wizard swaps places with the Thief, and her pull drags him along behind her where he could never walk.
Thursday14The Warrior does all the pushing, always standing where the Priest's shield covers him from the goblin.
Friday18The Bard's song walks the dragon and the Wizard together; the Wizard then swaps with the Bard to reach his star.
Saturday16The Druid turns a tree into a crystal, and the Warrior shoves a whole column, Druid and all, until the crystals drop off the edge.
Sunday20Two heroes hold the button down while the Bard leads the dragon out of the lane past the gate.

VERSION HISTORY

VERSION E2026-11-01
  • Level-design pass. A new design bench, scripts/hero-star/quality.mjs, scores any board with the game's own rules: clutter (each crystal, monster, tree, water tile, gap, button and gate is taken away in turn, and the board re-solved: same par without it means it was clutter), the number of genuinely different best lines (move-order shuffles of two heroes counted once), two naive players (a greedy one and a two-move lookahead) that must not solve it near par, the counter-intuitive moves on the best line, the traps beside it, how much of par is plain walking, and how big the board is on a phone.
  • The old book averaged 53 out of 100 on the bench and only 27 of its 196 boards were free of clutter. Every board has been gone over: 107 kept their layout with the clutter taken out and empty edges trimmed (about four pieces a board), 34 were reworked from the old layout by a quality-driven search, and 48 are new from that search (scripts/hero-star/motif.mjs); 7 were already clean. The book now averages 84, every board is clutter-free, none falls to a naive player, and the median board has two best lines.
  • Boards are smaller and tighter: most are 5x5 or 5x6 instead of 6x7, with fewer pieces, and the hero's trick does more of the work. Pars are a little lower (Monday averages 14.3, Sunday 30.3) and still sit in each day's band; Monday stays gentle without being trivial.
  • Each weekday now opens with a teaching board for its idea (see the week-one table), and the rest of the 28 climb the bench's difficulty measure. The parties and elements of each day are unchanged.
  • Every board is still re-proved by scripts/test-hero-star.mjs (exact par, the stored answer wins at par without losing a hero, every hero's trick and the day's element needed), and the test now also holds every board to the design bars, using checked-in bench results (scripts/hero-star/quality.json, keyed by a hash of each board) with a sample re-analysed in full on every run. It runs on worker threads and takes about 15 seconds.
VERSION D2026-11-01
  • Character restyle: every hero, goblin and dragon is rebuilt as a simple painted toy figure: a base, a body, a head, one hat or hood and at most one prop held close. Faces are small dark bead eyes with no drawn smiles or cheeks; the Warrior keeps his moustache. Warrior: horned helmet and short sword. Thief: hood with mask and a small loot sack. Wizard: tall floppy hat, beard and short staff. Priest: wimple, stole and a halo resting on the crown. Bard: all pink, with a beret, a feather and a small lute. Druid: small leafy antlers and a leaf mantle. Goblin: big ears and a stubby club. Dragon: snout and small folded wings. Every figure fits inside its own tile, tall hats are lower, a fallen hero lies across its own tile and a burnt hero turns to soot with a faint ember glow. The 2D view uses the same bead eyes. Character and monster pictures re-shot.
VERSION C2026-11-01
  • Heroes can be lost. A move that puts a hero beside a goblin, in dragon fire, onto water or off the edge now happens: the goblin clubs them, the fire burns them to a crisp, the water or the sky takes them, and a little ghost floats up. A banner says what happened with a big Undo; the board takes no more moves until you undo or restart. The fatal move counts until undone.
  • The rules engine returns the lost state instead of refusing the move; the solver treats it as a dead end, so every board's par is unchanged and every stored answer is re-proved to lose no one.
  • Keys: plain Z undoes (as well as Ctrl/Cmd+Z, U and Backspace), arrows or WASD move, 1 to 3 or Tab choose a hero, R restarts, Esc closes a page. They work straight after load. The How to play deck gets a Keys page, and a quiet key line sits under the buttons on desktops with room for it.
  • More character: the Warrior gets a fur-trimmed cloak, chunky pauldrons, a battle-axe, a starred shield and braided moustache ends; the Thief a patched hood, a dagger pair, a sly grin and coins spilling from her sack; the Wizard a starry robe with a moon, a longer beard, a buckled floppy hat and a clawed orb staff; the Priest layered robes, prayer beads, a holy book and a glowing halo; the Druid a leaf cloak, leafy antlers, a gnarled sprouting staff and a mushroom on her shoulder. The Bard is pink from cap to boots, with a pink lute and ribbon, rosy cheeks and dancing music notes when chosen; her hero colour is pink everywhere. Goblins carry spiked clubs and wear raggedy loincloths; dragons have plated bellies, flapping wings and a puff of smoke.
  • An intro camera move on every board: from far over the realm (distant islets, clouds, birds) down onto the board in about two seconds, the heroes hopping as it lands. Any key or tap skips it; it is skipped under reduced motion and on the lowest tier.
  • New sound: richer dream pads per realm (detuned stereo voices, a drifting filter, an occasional flute phrase, a longer reverb), new move, swap, push, pull, crystal, goblin, dragon, death, whoosh and win sounds, and a compressor and limiter on the output.
  • Rules text in How to play, the toasts and this wiki now describe the real thing: heroes can be lost and Undo brings them back.
VERSION B2026-11-01
  • Six heroes: the Priest, Bard and Druid join the Warrior, Thief and Wizard, each on their own weekday, with a realm per weekday (Red Hall, Teal Courtyard, Moon Library, Goblin Wood, Sandstone Temple, Autumn Grove, Sinking Star).
  • Rules rewritten to follow the Heroes of Hauling: the Warrior pushes any line (heroes and monsters too), the Thief pulls anything, the Wizard swaps automatically by moving (the Swap button is gone), plus goblins, dragon fire, water and stepping stones, gaps, trees, buttons and gates. A move that would lose a hero is refused.
  • Stone blocks became crystals; pits and plates became water and buttons.
  • The engine keeps one thing per square, and every board is checked so nobody starts on a hero, an object or a star.
  • A new book of 196 boards (28 per weekday, no repeat within 196 days), each re-proved by the test: exact par by full-state search, the stored answer replays to a win in par, every hero's trick and the day's element needed.
  • New look: chunky toy heroes with idle bobbing and blinks, charming goblins and dragons, realm-coloured tiles, torches, banners, grass, flowers, water and distant islets; jewel-toned chrome with Cinzel titles. Low-rate idle animation that pauses off-screen and for reduced motion; quality tiers and the 2D fallback kept.
  • New achievements (Goblin Proof, Dragon Dancer, Shape Shifter, Monster Wrangler); saves are version-stamped so version A progress starts fresh.
  • A procedural soundscape per realm (pad, bells and a wind or water bed, all Web Audio) with soft musical move sounds; it starts on the first tap and goes quiet when muted or hidden.
VERSION A2026-10-28
  • First version: three heroes (push, pull, swap), plates and gates, pits; one island a day from a solver-verified book.
  • Book of 222 islands (32, 32, 32, 32, 32, 30, 32 for Monday to Sunday), exact par, every trick proven needed.
  • 3D diorama in three.js with a 2D fallback; achievements, streaks, share line.