nomeansnoquest/rooms/room0.json
m3ultra 2650c8b024 v1.1 — full MODELBEAST painting pass + jazzcore soundtrack
All six rooms are now flux_local matte paintings quantized by the engine (basement, gig, alley, office, Roskilde, field), with rooms reduced to invisible sim ops: walkability, depth, water, the footlight chases, and the NO MEANS NO! spray painted OVER the brick painting. The office desk gets a real walk-behind from the priority bands. Soundtrack: tools/gen_music.py synthesizes five loop-safe mood overrides (music/*.wav) in the band's own meters — 7/4 walking bass for the basement, the 9/8 riff floored for gig and Roskilde, chromatic noir for the alley, puck-rock bounce for the office, a 5/4 drone for the field. Fixed the office east-door lane (crates pinched the exit trigger) and removed the alley's unreachable north exit. Playthrough: 60/60, won, byte-identical twice, one intentional death.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 21:18:00 +10:00

367 lines
6.3 KiB
JSON

{
"name": "The Basement, 1979",
"enter_text": "Wood panel, concrete, one bare bulb. John's kit crowds the rug; the 180-pound Portastudio owns the workbench. Through the wall, Mom's washer keeps better time than most drummers.",
"background": "basement",
"ops": [
{
"Rect": {
"x": 0,
"y": 0,
"w": 320,
"h": 118,
"ink": {
"color": null,
"pri": "Keep",
"ctl": {
"Set": 1
},
"hot": null
}
}
},
{
"Rect": {
"x": 0,
"y": 118,
"w": 320,
"h": 72,
"ink": {
"color": null,
"pri": "Band",
"ctl": {
"Set": 0
},
"hot": null
}
}
},
{
"Rect": {
"x": 0,
"y": 118,
"w": 84,
"h": 44,
"ink": {
"color": null,
"pri": "Keep",
"ctl": {
"Set": 1
},
"hot": null
}
}
},
{
"Rect": {
"x": 240,
"y": 118,
"w": 80,
"h": 24,
"ink": {
"color": null,
"pri": "Keep",
"ctl": {
"Set": 1
},
"hot": null
}
}
},
{
"Rect": {
"x": 244,
"y": 36,
"w": 26,
"h": 36,
"ink": {
"color": 30,
"pri": "Keep",
"ctl": {
"Set": 1
},
"hot": null
}
}
},
{
"Rect": {
"x": 247,
"y": 40,
"w": 20,
"h": 9,
"ink": {
"color": 176,
"pri": "Keep",
"ctl": {
"Set": 1
},
"hot": null
}
}
},
{
"Rect": {
"x": 247,
"y": 53,
"w": 20,
"h": 3,
"ink": {
"color": 19,
"pri": "Keep",
"ctl": {
"Set": 1
},
"hot": null
}
}
},
{
"Rect": {
"x": 247,
"y": 59,
"w": 14,
"h": 3,
"ink": {
"color": 19,
"pri": "Keep",
"ctl": {
"Set": 1
},
"hot": null
}
}
},
{
"Rect": {
"x": 247,
"y": 65,
"w": 17,
"h": 3,
"ink": {
"color": 19,
"pri": "Keep",
"ctl": {
"Set": 1
},
"hot": null
}
}
}
],
"scale": {
"horizon_y": 100,
"min_scale": 0.72,
"full_y": 186
},
"spawn": [
180,
160
],
"exits": [
null,
1,
3,
null
],
"exit_flags": [
"",
"",
"demo_done",
""
],
"exit_blocked": [
"",
"",
"No demo, no destiny. The Portastudio is right there.",
""
],
"hotspots": [
{
"name": "gig poster",
"rect": [
242,
34,
30,
40
],
"msgs": {
"look": "D.O.A. — TONIGHT — UVic. Vancouver's finest, one ferry away. John already circled it.",
"do": "You're going. Obviously you're going. (Up the stairs, east.)"
}
},
{
"name": "washer",
"rect": [
0,
84,
84,
76
],
"msgs": {
"look": "Mom's washing machine, mid-cycle. A wet 4/4 that never rushes and never drags.",
"listen": "Chunk. Chunk. Chunk. Honestly? Tighter than most bands you've seen.",
"do": "It's Mom's. Some things are sacred."
}
},
{
"name": "window",
"rect": [
186,
34,
46,
36
],
"msgs": {
"look": "Grey Victoria daylight through glass that hasn't been washed since the Diefenbaker administration."
}
},
{
"name": "workbench",
"rect": [
116,
88,
82,
28
],
"msgs": {
"look": "The workbench holds the TEAC four-track like an altar holds a relic."
}
},
{
"name": "stairs",
"rect": [
244,
60,
76,
56
],
"msgs": {
"look": "Up to daylight, dinner, and — tonight — a ferry to a D.O.A. show."
}
}
],
"props": [
{
"name": "portastudio",
"sprite": "portastudio",
"x": 156,
"y": 101,
"synonyms": "four-track teac tascam recorder deck",
"msgs": {
"look": "The TEAC Portastudio. 180 pounds of overdubbing possibility. It wants tape and it wants a reason.",
"do": "It powers up with a hum like a small appliance dreaming big.",
"listen": "Tape hiss. The sound of potential."
}
},
{
"name": "castle box",
"sprite": "castlebox",
"x": 218,
"y": 154,
"synonyms": "box junk castle",
"msgs": {
"look": "A box of gear from Castle, the cover band you both did time in. Cables, setlists nobody needs, and — is that a fresh reel of tape?"
},
"solid": true
},
{
"name": "drum kit",
"sprite": "drumkit",
"x": 112,
"y": 150,
"synonyms": "drums kit",
"msgs": {
"look": "John's kit, tuned like a jazz kit because he IS a jazz kid. The high school band has no idea what it's incubating.",
"play": "You are a bassist. There are laws."
},
"solid": true
}
],
"npcs": [
{
"name": "John",
"sprite": "john",
"x": 152,
"y": 164,
"portrait": "john-face",
"wander": 10,
"msgs": {
"look": "Your kid brother. Eight years younger, already swings harder than drummers twice his age."
},
"dialogue": [
{
"says": "Sticks spin in his fingers. “So? Are we a band, or are we two guys who own instruments?”",
"choices": [
{
"text": "We need a sound of our own first.",
"goto": 1
},
{
"text": "Heard D.O.A. play UVic tonight.",
"goto": 2
},
{
"text": "Later, John.",
"goto": -1
}
]
},
{
"says": "“No guitar player, eh? Fine. You be the guitar. I'll be the horn section.” He plays a bar of 9/8 like it's nothing.",
"choices": [
{
"text": "That. Exactly that.",
"goto": -1
}
]
},
{
"says": "“Then what are we still doing in the basement? GO. Take notes. Loud ones.”",
"choices": [
{
"text": "On it.",
"goto": -1
}
]
}
]
},
{
"name": "Mom",
"sprite": "mom",
"x": 98,
"y": 146,
"portrait": "mom-face",
"wander": 6,
"msgs": {
"look": "Mom, running the laundry room like mission control."
},
"dialogue": [
{
"says": "“Play all you like, love — the whites are done at eight.” She pauses. “The loud one in 7/4 was nice.”",
"choices": [
{
"text": "You could tell it was 7/4?",
"goto": 1
},
{
"text": "Thanks, Mom.",
"goto": -1
}
]
},
{
"says": "“I've been listening to that washer for twenty years, Robert. I know time when I hear it.”",
"choices": [
{
"text": "...Mom might be the best musician in the house.",
"goto": -1
}
]
}
]
}
],
"music": 1,
"script": "room0.rhai"
}