Squares: furniture · Gold: coins · Colors: rare rings · Cyan: Arcana / Shadey · Pink: heal / companions · Green: door / Filch
Teal: Haunted Manor · Chapter 4
A Little Mischief
Same creaky manor. Much sillier ghosts. Codert, Mutton, and Lucky are on a coin hunt—and someone has their eye on your wand.
13 levels. 3 disco trams. 12 coins each.
Room for a little wonderDodge sofas, weave around dining sets, and sneak past bookcases and pianos. Furnished mansion rooms connect through carpeted passageways, with open routes for chases and clever ambushes.
13 levels. 30 HP. At 0 HP, rally back with Space or tap Get up! Nearby Lucky and Mutton cheer you on. Keep your coins, regain 15 HP, and turn the chase around!
Bonk a ghost for a 3-second KO. Aim at Lucky or Mutton: E empowers, R gives a friendly pat. Only crystal or ring power makes ghosts go poof—staff boosts never do.
She's a shapeshifting lookout: senses ghosts, holds them still, and tugs back stolen wands. Train her to spring disguise ambushes.
She gathers coins and brings power back to you. Train her to hide in shadowy wall cover and pounce on unsuspecting ghosts.
The Midnight Disco Express
A little room to groove
Three tram rides, thirteen original songs! Levels 4, 8 and 12 each have their own playlist. Lucky and Mutton share the spotlight with guest singers Shadey and Filch. Collect 12 coins, dance, and enjoy—no chasing ghosts or timer.
Clear the manor to unlock the optional Candy Vault: no ghosts, no hurry, just sweets.
How to play
- E / Empower — Aim at an ally within 5 steps. For 8 seconds they move 50% faster and recover skills twice as fast. 12-second staff cooldown. No Arcana is granted.
- R / Pat — Aim at a nearby ally for a gentle reward and a happy heart. Once every 15 seconds per ally, a pat also takes 2 seconds off their skill cooldowns. No XP or coins are created.
- WASD / Arrow keys — Move
- Mouse — Look. Click to capture, or hold and drag if capture is unavailable.
- Shift — Dash
- Click / Space — Staff bonk. Ordinary bonks KO ghosts for 3 seconds, even the thief. Only active crystal/ring Arcana can vaporize ghosts or count as a powered boss hit. Bonks never hurt your allies.
- F — Mutton Reach. Hold a ghost still, or tug your wand back within reach.
- G — Lucky Fetch. She collects coins and brings power back. Fetch overrides her trained hiding-and-pounce tactic.
- H — Shadey Double, after recruitment. Her 6-second decoy draws ghosts and distracts the nearby thief; 18-second cooldown. Train her to KO nearby ghosts and choose a practiced disguise.
- B / Shop — Recruit Shadey (60 coins) or Filch (45). Explore mazes to earn XP, then buy three ranks of training. Skills activate automatically. XP, training and recruits carry between runs; spending never affects door progress.
- Health — Start with 30 HP. Hearts heal 5 HP. Coins heal 1 HP below 20% health. At 0 HP, tap Space or Get up! to fill the rally meter within 10 seconds. Holding Space does not count. Each nearby teammate cheers automatically. Revive with 15 HP and 5 seconds of protection; coins, training, and floor progress stay put. Esc pauses the rally. If time runs out, the run ends.
- Rings — Just one per level, with no replacement if collected or eaten. Fire, Mend, Ice, and Lightning fill 100 Arcana for 9 seconds, even without your wand. Mend also heals 5 HP. Blue crystals add 30 charge (2.7 seconds) and replenish one every 18 seconds, or 12 in the final showdown, up to the floor's supply cap.
- Ring thieves — After an 8-second head start, nearby ghosts can seek out a ring and stop for a 1.4-second munch. Bonk or KO them to interrupt, use Shadey as a distraction, or send Lucky to fetch it first. Frightened ghosts cannot eat rings. Blue crystals are safe from snacking.
- M / Map button — Open the full manor map. The ghosts wait while you plan your route.
- Esc / Pause button — Pause
- Touch — Left stick to move, drag the right side to look. Tap Bonk for ghosts, or face an ally and tap Empower or Pat. Companion skill buttons still work as before.
Behind the sheets · Learn Three.js
A tiny workshop, using the same characters as the game. Natural animal shapes, supernatural laundry. Try the slider: nothing here changes your run.
The 3D preview couldn't start on this device. You can still follow the guide below.
0× stops the fabric ripples; 2× exaggerates them. This changes wave size, not speed. No wind, gravity or cloth physics are being simulated.
- 1. Shape + surface = a mesh
Geometry is the shape; a material tells light how its surface looks. A Mesh combines both. In world.js, makeGhostMesh builds a dome that widens into a pleated sheet. MeshStandardMaterial makes it look like matte fabric; the eyes use an unlit material so they stay bright in the dark.
- 2. Animate a little every frame
In world.js, animateSheet nudges the geometry's points (vertices) with sine waves. Lower points move more than the crown, giving a loose hem without physics. animateAnimal rotates Groups used as leg pivots; companions.js calls it as the animals walk. dt is the seconds since the previous frame, keeping motion consistent across frame rates.
- 3. Your first small experiment
In world.js, find animateSheet and change wave * 0.07 * edge to wave * 0.035 * edge. Preview again: that ripple becomes half as wide. Restore 0.07 when you're done. Change one number at a time, compare, and keep what you like. Next try the ear height in makeLuckyMesh.
- 4. Shadey's shape-changing trick
In shop.js, Shadey puts a chest, cat, ferret and sheet inside one THREE.Group. setForm toggles their visible properties: only one shape shows at a time. Her glowing floor ring marks the decoy. Ghosts are given her map tile as a temporary target. After a lesson, the training hub lets you choose which practiced disguise she uses. These are four rehearsed forms, not the limit of her shapeshifting in the story.
- 5. Teach a character a tactic
In training.js, Lucky's tactic has three states: cover, hide and pounce. A path moves her to a wall-side hiding place, a timer gives her a chance to wait, and then a faster path becomes her leap. pose changes her crouch and jump height. ko only sets a ghost's stunTimer; it never calls poof. Try changing the pounce movement speed from 12 to 10 to see a slower leap. A state machine is just one small behavior at a time—not a physics simulation.
Your Codert drawing sets the silhouette, blue gloves, red scarf and wand. Your HUD gives the meter colors; your item and ring sketches define shapes and rules. To help next, draw Lucky and Mutton from the front and side, show their size beside Codert, and add one expression or pose for each. Rough drawings with notes are enough. A 2D drawing guides a 3D model; it doesn't automatically become one.
A stumble. Not the end.
10.0seconds leftCome on, Codert!
Tap Space or the button to rally. Fill the meter before the countdown ends—holding the key won't count!
Ghosts wait while you rally. Coins and floor progress are safe. Each tap adds 12 power.
Teal: Haunted Manor · Chapter 4
Paused
The ghosts can practice their terrible dance moves while you take a moment.
The Midnight Disco Express
The tram record collection
Thirteen original numbers: six Lucky-and-Mutton duets and seven mischievous Shadey-and-Filch guest songs. Classical flourishes, disco drums, and a different melody for every song. Instrumentals and lyric captions are free. Actual sung voices are an optional credit-paid extra.
Each ride cycles through its own songs: five on level 4, four on level 8, and four on level 12. Browsing here won't change the ride's playlist. Your earlier saved duet, if any, stays in the bonus archive.
Shadey and Filch's guest performances need no companion unlock. Their maze skills still unlock in the shop as before.
The generated performance may vary. Captions divide the recording into eight approximate lyric sections; this is not word-perfect karaoke.
Optional: generate a sung version of the selected song. The price is per song, in platform credits—not your manor coins. Review the cost and confirm to generate. Saved vocals replay free; instrumentals, captions and all gameplay need no generation.
The manor's companion shop
Little paws, clever plans
Each manor coin also adds 1 to your purse. Recruitment and training never reduce your door-key progress. Your recruits, XP and learned skills stay with you between runs.
Shadey · The reformed mimic
Shadey has learned her lesson. No more biting the customers. Like Mutton, she's a shapeshifter—and now she'd rather fool the ghosts than you. She has even practiced looking innocent.
Explore together · Learn together
The mischief training club
Lucky and Mutton are girls, and every friend brings a different specialty. Earn XP in the manor, then turn good instincts into clever teamwork.
- 1 · Explore: each new tile gives every recruited friend 1 XP. Helpful actions earn extra.
- 2 · Learn here: lessons need 20 / 70 / 150 total XP and cost 15 / 30 / 45 coins. XP is never spent.
- 3 · Play: learned tactics trigger automatically. G still prioritizes Lucky's power delivery; H starts Shadey's decoy.
KO means a temporary 4–6 second time-out. Ghosts wake up afterward. Only active crystal or ring power can vaporize them.
Manor coins only—no real-money purchases. Lucky and Mutton are free teammates. Candy Vault sweets don't earn coins or exploration XP. The whole maze waits while you train.
Teal: Haunted Manor · Chapter 4
Manor map
Squares: furniture · Gold: coins · Colors: rare rings · Cyan: Arcana / Shadey · Pink: heal / companions · Green: door / Filch
You are the white arrow. Each mansion wing has just 12 gold coins, shared across its rooms and passageways. Collect all 12 for the door key; level 13 also needs the thief outwitted. Bonus sweets are separate. Everything waits while you plan.
Teal: Haunted Manor · Chapter 4
