Dress Up reports · ^du_report(11) · 2026-10-18 · about Messed Up Dress Up, a game made with M and N · after ^du_report(10)

A cast of friends

How are new costumes made, and could the friend's own design system make the whole cast of an adventure game like Hugo, Hero's Quest (Quest for Glory), King's Quest or Monkey Island: its kings and guards, wizards and witches, trolls and pirates, standing, walking and talking in its places?

Short answers.
  1. Most of a cast can be made today. 27 people of such games, by place (a castle, a village, magic folk, the wilds, the sea and its pirates, a haunted house), each made with the friend's own settings and nothing else: 4 need nothing more (The witch, A ghost, The wolf, The diver); the rest lack a piece or two, and the same few pieces again and again.
  2. Three pieces would finish most of them: something held (8 of 27: a staff, a sceptre, a hammer), a hat or a crown (8), and a beard (5).
  3. People can stand in places now, by hand: the king's room with the king and queen sat on their thrones and two guards, and the beach with its pirates, were made in the game, each person drawn where they stand and sorted among the place's things. What is missing is a person as a thing of the place, so a kid can put one there.
  4. On the black laptop, standing people are nearly free and walking ones are not: a person walking is drawn again every frame (1.7 to 2.8 ms on the Ubuntu laptop, 6 to 10 ms on the slow tier), so one at a time, unless their walk is drawn once and shown in turn.
  5. A costume today is code in several places; as one record each (its clothes, head, back, what it holds), the next costume costs its drawings and little else.

How a costume is made today

The 🎭 Costume tab offers 20 kinds. Fifteen are animals, each one row of a table (ANIMALS, js/06-costumes.js), drawn by shared code: a hood with the animal's ears and face, fur or feathers in a pattern, paws or hooves, a tail; thirteen of them are whole suits, and the falcon and the bald eagle a hood, wings and a tail worn over the clothes. The other five, the witch, the fairy, the ghost and the two diving suits, are each written into the friend's drawing (drawNow, js/18-drawing.js) case by case. Gear (a snorkel, a mask, an air tank, and their leaking bubbles) goes with any of them but the old diving suit. Ticket ^ticket(288) added the diving suits as 0.0.260 and 0.0.261; ticket ^ticket(371) fixed their tank and hose in 0.0.303.

costumefirst incommitsits own lines todaywhat it does
🐯 tiger0.0.176 (and 82 of stripes)suit, hood, tail, paws
🐈‍⬛ black cat0.0.167suit, hood, tail, paws
🦁 lion0.0.1615suit, hood and mane, tail, paws
🐻 bear0.0.115suit, hood, tail, paws
🦅 peregrine falcon0.0.1916hood, wings and tail over the clothes
🦝 raccoon0.0.1411suit, hood and mask, ringed tail, paws
🐈 bobcat0.0.158suit, hood with tufts, tail, paws
🐆 leopard0.0.165suit, hood, tail, paws, rosettes
🦅 bald eagle0.0.1814hood, wings and tail over the clothes
🐆 cheetah0.0.134suit, hood, tail, paws
🐈‍⬛ black jaguar0.0.132suit, hood, tail, paws
🦅 falcon suit0.0.143 (and ~50 shared by both bird suits)feathers, hood, arm wings for hands, talons, tail
🦅 bald eagle suit0.0.144feathers, hood, arm wings for hands, talons, tail
🐺 wolf0.0.119suit, hood, bushy tail, paws
🦌 deer0.0.1433suit, hood and antlers, tail, hooves
🧙 witch0.0.113165long dress, hat over tucked hair, boots, a broom held, a cat on the shoulder
🧚 fairy0.0.2912245tunic, wings on the back, shoes, a wreath
👻 ghost0.0.33272a sheet in place of the whole friend
🤿 scuba suit0.0.260329suit, fins
⚓ old diving suit0.0.260374suit, helmet, boots, a hose to the surface
🥽 gear: snorkel, mask, tank, leaks0.0.2601-3 each17 + 18 + 36 + 57worn with any kind but the old diving suit

Counted by a helper reading the code and its history (its scripts: drivers/costumes-count.py, drivers/costumes-shared.py). Commits: those whose changed lines name the kind (its id, its own helpers or settings), the costume list itself and the split of the code into parts left out; a lower bound, since 35 more commits changed the shared animal code (hoods, tails, wings, fur) without naming a kind. Its own lines today: read by hand, comments included, only the lines that exist for that kind alone; the animals share about 380 lines of hood, fur, tail and wing code. Each animal's first version is 0.0.1: they were made on 10-09 to 10-11, before the game's versions were numbered.

What a new one touches today

  1. Its name in the 🎭 Costume tab's list of kinds (js/20-controls.js:273).
  2. A row in the tab for each of its settings (js/20-controls.js:280), and for each a rule saying when it shows, each repeating the kind's test (SHOWN_WHEN, js/20-controls.js:871: 56 such rules for costumes, 13 for the witch alone).
  3. A default for each setting (DEFAULTS.costume, js/01-state.js:515; 57 keys in one flat list).
  4. Its drawings, as functions returning SVG in the face's or the body's units (js/06-costumes.js; the diving suits' helmet, corselet, hose, mask, snorkel, tank).
  5. A shoe, if it has its own feet (shoeSvg, js/08-body.js:245; and how far that foot reaches, FOOT_REACH, which the fins still lack).
  6. In the friend's drawing (drawNow), 13 separate edits for the diving suits: a flag for the kind; what replaces the shirt and pants; the underwear guard (which lists five kinds); the feet's seven-way choice; each piece put in at its depth (the back, the legs, the torso, the head), each inside its visibility layer; and `!diver` beside `!C` in six places that hide the hair and ears under a hood or a helmet.
  7. A check of every pose and facing: what is on the back must turn with the back, what hangs must keep the world's up. Ticket ^ticket(371) found the tank on the belly while crawling toward us, and the hose turning with a body lying flat, the same night.
  8. Rules that cross settings (set(), js/20-controls.js:657: leaving a diving suit takes the mask, snorkel and tank off).
  9. A check of its own (tools/checks/dive288.mjs, gear371.mjs); the sweep of every costume picks a new kind up by itself.

What would make the next one cheaper

An animal is already cheap: one row of ANIMALS brings its colors, the palette, Surprise me and its natural look; the jaguar and the cheetah are 2 to 4 lines of their own. What costs is the other kind, and the costs repeat: a flag and a clause in each of drawNow's shared guards, a showing rule per setting that repeats the kind's test, defaults kept apart from their controls, and lists of kinds in three files (felines, birds, the clawed, the diving suits). One record for each costume would hold it all: its label; its settings (each control with its key, its choices and its default, so the tab's rows, the defaults and the showing rules come from one place); what replaces the clothes (or nothing, so the underwear may show); its feet and hands; its head (whether it covers the hair, which replaces the six guards, and its drawing); what goes on its back, what it holds, what sits on its shoulder; its room in the picture's frame; and its drawings, called by drawNow at fixed places, each already inside the visibility layer and the pose's turns, so a thing on the back cannot land on the belly (ticket ^ticket(371)'s bug). Gear becomes records too, each saying what it is worn with. Animal rows can carry their ears, face marks and tail as data, which would remove most of the kind-by-kind branches in the hood and tail code. The saving is mostly in places to edit and pose bugs, less in lines: the diving suits' 268 lines were about four fifths drawing, which a costume always needs.

The cast, made with the friend's own settings

Each person is a friend made in the game (0.0.305) through its own settings, as a kid's taps make one: the skin, the face, the hair, the shirt and pants or a costume, the hands and feet. Under each, what they still lack. The dressing room frames each one to fit, so a fairy's wide wings make her look smaller here; in a place everyone is at one scale. Tap a picture to see it alone.

🏰 The castle

The king, made in the game
The king
  • a crown
  • a beard
  • a cloak with an ermine edge
  • a sceptre (something held)
The queen, made in the game
The queen
  • a crown
A guard, made in the game
A guard
  • a helmet
  • armour (plates, a breastplate)
  • a spear or a halberd
The princess, made in the game
The princess
  • a tiara

🏘️ The village

The shopkeeper, made in the game
The shopkeeper
  • an apron
  • a counter to stand behind (a place's thing)
The blacksmith, made in the game
The blacksmith
  • a leather apron
  • a hammer (something held)
  • a beard
The healer, made in the game
The healer
  • a shawl (nice to have)
The innkeeper, made in the game
The innkeeper
  • an apron
  • a mug (something held)

✨ Magic folk

The wizard, made in the game
The wizard
  • a beard
  • a staff (something held)
  • stars on the robe instead of webs
The witch, made in the game
The witch
  • nothing: the game has it all
The fairy godmother, made in the game
The fairy godmother
  • a wand (something held)
A ghost, made in the game
A ghost
  • nothing: the game has it all
A katta (a cat person), made in the game
A katta (a cat person)
  • clothes over the fur (a vest, a sash): a suit replaces the clothes today

🌲 The wilds

The troll, made in the game
The troll
  • a club (something held)
  • a size of their own beside the hero (each person sized in a place)
A goblin, made in the game
A goblin
  • a smaller size beside the hero
A bear, made in the game
A bear
  • walking on all fours (the crawl, with a bear's shape)
The wolf, made in the game
The wolf
  • nothing: the game has it all
The dryad, made in the game
The dryad
  • no wings (a fairy without them)

🏴‍☠️ The sea and the pirates

The pirate captain, made in the game
The pirate captain
  • a tricorn hat
  • an eye patch
  • a beard
  • a peg leg (one leg drawn as wood)
  • a hook for a hand
  • a parrot on the shoulder (as the witch's cat)
A pirate, made in the game
A pirate
  • a bandana
  • an earring
The ghost pirate, made in the game
The ghost pirate
  • a hat
  • a beard
  • the ghost's own face kept with a costume over it
The voodoo lady, made in the game
The voodoo lady
  • a head wrap
  • beads
The diver, made in the game
The diver
  • nothing: the game has it all

🕯️ The haunted house

The servant, made in the game
The servant
  • a hunched back (a pose that bends the body)
  • a lantern (something held)
The vampire, made in the game
The vampire
  • a cape (on the back, as the tank or wings)
  • a high collar
The mummy, made in the game
The mummy
  • bandages over the head (a hood, as a suit has)
A skeleton, made in the game
A skeleton
  • bones: a skeleton costume (the game draws a skeleton as a place's thing, ticket 283's list, not as a friend)

What they lack, most often

piecepeoplewho
something held (a sceptre, a staff, a hammer, a club, a wand, a mug, a lantern, a spear)8The king, A guard, The blacksmith, The innkeeper, The wizard, The fairy godmother, The troll, The servant
a hat or a crown (a crown, a tiara, a helmet, a tricorn, a bandana, a head wrap)8The king, The queen, A guard, The princess, The pirate captain, A pirate, The ghost pirate, The voodoo lady
a beard5The king, The blacksmith, The wizard, The pirate captain, The ghost pirate
a body changed (a peg leg, a hook, a hunched back, bones, all fours)4A bear, The pirate captain, The servant, A skeleton
an apron3The shopkeeper, The blacksmith, The innkeeper
something on the back (a cloak, a cape)2The king, The vampire
a size of their own beside the hero2The troll, A goblin
a costume worn with clothes or a face kept (a cat person's vest, the ghost's face under a hat)2A katta (a cat person), The ghost pirate
armour1A guard

People in a place

The king's room of N's castle: the king and queen sat on the two thrones, a guard either side, the friend in front
The king's room: the king and queen sat on its thrones (its seats), a guard by each suit of armour.
The beach: the pirate captain and a pirate facing each other, the friend, the ghost pirate and the voodoo lady
The beach: the captain and a pirate face each other; the ghost pirate and the voodoo lady behind the friend, a sandcastle in front of her.

Made in the game: each person drawn by the game at their spot in the place (so at its depth and size there, and sat on a seat as the friend sits), their drawing kept, and all put into one scene at their depths. By hand, with a script; the steps below make it a thing a kid does.

A person's drawing, measured

personms a drawing, walkingshapesKB
king2.4769.7
guard1.87810.0
wizard2.610714.9
witch2.713114.8
fairy godmother2.814719.5
katta1.710210.2
troll1.88510.9
pirate captain1.8769.6
diver2.010812.0
mummy1.7647.3

On the Ubuntu laptop (Intel i7), in the app's browser: the median of 24 drawings of each walking (a stride's moment each, so nothing of theirs cached); the same person put in as a still copy took 0.4 to 1.4 ms. GitHub's slow tier (the page 4 times slower, the frame-rate gate's stand-in for the black laptop): a drawing of the friend walking took 6 to 10 ms in ticket 340's runs (no bubble makers), against 1.5 to 3.5 ms at full speed.

Found on the way

What to build first, in small steps

  1. 1. A person, standing: "🧑 person" in a place's things, holding a friend's settings (copied from the friend you have made), drawn once as a still picture at its spot and depth, solid at its feet, saved with the place. The king's room, made by hand here, becomes something a kid does with taps.
  2. 2. Something held: a hand that holds a thing, in either hand, generalizing the witch's broom: a staff, a sceptre, a hammer, a wand, a lantern, a mug, a spear. Wanted by 8 of the 27.
  3. 3. A hat or a crown: a head slot over the hair, generalizing the witch's hat and the old diving helmet: a crown, a tiara, a helmet, a tricorn, a bandana, a head wrap. Wanted by 8 of the 27.
  4. 4. A beard: a face part under the mouth, in the hair's color or its own, short to long. Wanted by 5.
  5. 5. A costume as data: one record for each costume (its clothes, its head, its back, what it holds, its settings, its own drawing hooks), so a new one is a record and its drawings, not edits in five files (see the first section).
  6. 6. Talking: a speech bubble in the picture over the scene's, lines typed in the world designer, said when the friend comes near.
  7. 7. Walking a path: a person walking between two spots, their walk cycle drawn once and shown in turn, so a few can walk at once on the black laptop.

How this was put together

Written on 2026-10-18 by Claude, for Matthew, from ticket 357: Matthew: "let's do a report, in queue long-run, about making new costumes, and creating all of the NPCs for a game like Hugo, or Hero's Quest (Quest for Glory), or Kinds Quest, or Monkey Island, all with our character design system." Prompted by ticket ^ticket(288) (the diving suits and gear). The cast is in data/cast.json: each person's settings, applied in the app's browser through the game's own set() (every setting took), and the friend's picture kept as SVG (moving parts left out). The two places were made the same way, each person drawn at their spot, then put together. The costumes' inventory comes from reading the code and its history (data/costumes.json). The drawing times were measured in the app's browser on the Ubuntu laptop; the slow tier's from ticket 340's runs on GitHub. The page is built by drivers/build.py.