Recorded 26 October 2026 · Claude Code
Saltmarsh, an RPG with no game named, with Qloo and without: Claude Code
A small browser RPG for people who love Wes Anderson's films and Fleetwood Mac, built twice from one sealed guess. The guess made a pastel seaside of favours and a centred-photo shutter; the measurement made a stage manager tuning a radio through static, a band rehearsal and a curtain call.
- Host
- Claude Code 2.1.284
- Model
- claude-opus-5-5[1m]
- Moûsa
- 0.7.1
- Started
- 26 October 2026
- Time
- 19 minutes, 16 turns
- Qloo requests
- 19
- Pictures
- none: imagery drawn in SVG or CSS

hanging the hotel's keyskeeping time on the tambourinethe centred-photo shutter

tuning the radio through the statickeeping time with the bandtalking Marguerite round at the bus shelter
Both designs as they play in a browser: a script sets up each scene and presses the game's own keys, scene for scene; each clip runs 12 seconds.
Play both
The design's own files as the session left them, running sandboxed on a separate origin.
Moûsa · Comparison
For an audience that loves Fleetwood Mac, Wes Anderson, The Grand Budapest Hotel and Moonrise Kingdom
With Qloo and Without Qloo: the same brief, the same frozen prediction and the same stages. Only the source of the taste differs.
0.57
heuristic distance between the two designs, from 0 (alike) to 1
0.24 Palette0.93 Part ids0.76 Words
9 of 9With Qloo: design devices rest on what the model did not predict
10Without Qloo: design devices rest on the model's own prediction, with no Qloo data
Samefrozen prediction in both arms
Side by side
The last reviewed captures of each arm, paired by what they show.
frame


frame · walk

frame · title

frame · radio

frame · rehearsal

frame · stage

frame · town

frame · shutter

frame · tambourine

frame · ending

frame · playtest

Before any data: the model's own prediction
Frozen before Qloo was asked, so what Qloo adds can be told apart from what the model already assumed. An entry a measured name matches is marked; the match is liberal, so it only lowers what counts as new.
The design the model would make from it alone
A symmetrical pastel pixel-art seaside town (Saltmarsh) seen like a diorama, split into chapter title cards, where the player walks a small grid, talks to deadpan eccentrics, collects lost items for them and finds the pieces of a song on a record player, ending in a bittersweet sunset farewell.
#f2c6c2#f6e3b4#9ec1b8#c9584a#3e3a5cType: Jost and Courier Prime
#title-card#town-map#dialogue-box#inventory#chapter-card#ending-card- symmetrical centered framing
- chapter title cards
- pastel seaside diorama
- vinyl record and song fragments
- 1970s film grain
The audience it expected
Adults who love Wes Anderson's symmetrical, pastel, deadpan films and Fleetwood Mac's warm, melancholy 1970s soft rock. They like nostalgic, handmade, bittersweet stories about found family and gentle eccentrics, and they care about craft and curated detail.
Pacing
symmetrical framingdeadpan whimsyslow lingering takeschapter title cardsnostalgic 1970s grain
Surfaces
pastelvintagehandmaderetro 70sdollhouse dioramafilm grain
Tone
bittersweetmelancholic measuredwhimsicalnostalgicwistful
Shared qualities
quirky measuredcoming of agefound family matched Familyeccentric charactersnostalgiaromantic
Art styles
pixel arthand-drawnflat pastel illustrationstop-motiondiorama
The works it expected them to love
Games
Stardew ValleyNight in the Woods measuredFirewatch measuredGrisMonument ValleyA Short Hike
Films
Lost in Translation measuredLittle Miss SunshineAlmost Famous measuredAmélieLady BirdPaddington 2
TV
Twin PeaksFleabagGilmore GirlsArrested DevelopmentRussian Doll
Music
Stevie NicksThe KinksSimon & GarfunkelBig ThiefThe Velvet Underground measuredJoni Mitchell
Books
The Secret HistoryNorwegian WoodThe Royal Tenenbaums screenplay matched The Royal Tenenbaums (film)Franny and ZooeyThe Catcher in the Rye measured
Sealed at the freeze: SHA-256 aeaf7d0b808bdcd0a22c7cc263abbbd67b305dca0d289a83c3aedafcb3dc1643. The prediction shown here still matches it.
What Qloo measured
What this audience loves, the qualities those works share and the tags ranked for it. New means the prediction did not contain it.
Look qualities
- artistic newin The Velvet Underground, Talking Heads and The Unfinished Swan · ×4 as often as across audiences
- Intimate newin Empire Falls, Run and Bob Dylan · ×1.7 as often as across audiences
- Theatrical newin Talking Heads, David Bowie and Rushmore · ×3.14 as often as across audiences
- Raw newin Run, Neil Young and Bob Dylan · ×2.25 as often as across audiences
- Moody newin Quirke, National Treasure and Stay · ×2.06 as often as across audiences
Mood qualities
- melancholic predictedin Run, Firewatch and Night in the Woods · ×3.5 as often as across audiences
- thought-provoking newin Her, RiME and The Witness · ×3.81 as often as across audiences
- tense newin Firewatch, INSIDE and Oxenfree · ×2.53 as often as across audiences
- innovative newin Talking Heads, Neil Young and Jeff Buckley · ×1.93 as often as across audiences
- Reflective newin Boyhood, Lost in Translation and Frances Ha · ×1.44 as often as across audiences
Meaning qualities
- Drama loving newin Sweetbitter, Submarine and Frances Ha · ×2.63 as often as across audiences
- Loyal newin The No. 1 Ladies' Detective Agency, Bob Dylan and Nick Drake · ×1.57 as often as across audiences
- Family predictedin Keeping Faith, The Darjeeling Limited and Familiar Grounds · ×2.09 as often as across audiences
- Addiction newin National Treasure and Lou Reed · ×2.5 as often as across audiences
- Love newin Neil Young, Her and Tom Waits · ×1.51 as often as across audiences
Games
- Firewatch predicted3D · Stylized · Low-poly
- INSIDE new2.5D · realistic · minimalistic
- Night in the Woods predicted2D hand-drawn · Stylized/Illustrative · melancholic
- The Unfinished Swan new3D · artistic · minimalist
Films
- Her newThought provoking · Technology ethics · Love
- Boyhood newUnvarnished domesticity · Reflective · Memory
- Lost in Translation predictedReflective · Age disparate romance · Postmodern
- Rushmore newTheatrical · Resourceful · Charming
Films, lesser known
- City of God newAtmospheric · Kinetic · Collage like
- Familiar Grounds newQuiet minimalism · Atmospheric · Psychological
Layer by layer
Each arm's devices for the same layer of the design.
palette
With Qloo
Low-poly dusk over a dark tidal marsh, oxblood curtains at the edge
#16383a#2b6b62#e8722a#f5c542#6e1423#7d8a3aWithout Qloo
Sugar-almond seaside on faded seventies stock
#ee9f95#a9d6cb#e2b13c#7f8f4e#4b2e3e#b9cfe8typography
With Qloo
Playbill fat face over a typewritten script
Playbill fat face over a typewritten script
Rozha One
Playbill fat face over a typewritten script
Cutive Mono
Without Qloo
Centred geometric title cards, typewritten dialogue
Centred geometric title cards, typewritten dialogue
Jost
Centred geometric title cards, typewritten dialogue
Courier Prime
imagery
With Qloo
Faceted marsh set pieces and a tailored stage manager
Without Qloo
Flat pastel diorama under film grain
#grain-overlaymotion
With Qloo
Hard curtain sweep between scenes, beat-locked lights
Without Qloo
Lingering holds and an iris close
voice
With Qloo
Deadpan lines, a pause, then the true thing
The tide is coming in. The band is not.
I kept the setlist. I don't know why. Yes, I do.
Nobody tunes out a person. You just lose the frequency.
Without Qloo
Deadpan neighbours, wistful asides
I have hung these keys since 1974. They have never once hung themselves.
The tide does not wait. Neither, I am told, do ferries.
layout
With Qloo
Dress the stage in mirror symmetry
#stage-gridWithout Qloo
Mirror-symmetric town on one pier axis
#pier-axis#hotel-cutawaystructure
With Qloo
Get the band back before high tide
#tide-clock#final-showWithout Qloo
One last summer day: four favours, four songs, one tide clock
Four neighbours. One day. Then the ferry.
#tide-clock#favour-ledgerThe held goodbye at the ferry
Whatever she says is lost under the ferry horn.
Saltmarsh grows smaller, and then it is a postcard.
#ferry-goodbyeinteraction
With Qloo
Radio dial tuned through static
#radio-dialBoathouse rehearsal in three falling lanes
#rhythm-laneWithout Qloo
The level shutter: a portrait only takes when the frame is dead centre
Hold still. Symmetry is a kind of kindness.
#shutter-frameTambourine for a retired singer: play back a half-remembered song
#tambourine-laneEach arm's own review
The agent of each arm judged its own captures against its own plan.
With Qloo
Round 2: 6 met, 0 partly, 0 missed.
All six criteria are met after the repairs: the sun and cast card on the marsh, the rehearsal key strip, the faceted windows and the ticket-stub keys. The play-test, run again after the repairs, still passes all 43 checks across both endings. The in-canvas hint bar is still a plain dark strip, and the sound is simple synthesis.
Check: 1.00, 9 of 9 devices in the files.
Without Qloo
Round 2: 5 met, 0 partly, 0 missed.
All five criteria are met in round 2, and the scripted play-test capture (r2-frame-playtest) passed every check from the title through all four favours, both endings and play again. One generic choice remains in the town view, the candy-striped bandstand roof, which I replace in the build after this last round, so no capture shows the fix.
Check: 1.00, 10 of 10 devices in the files.
Limits
- One pair is one sample. Model variance alone makes two designs differ, so one distance does not isolate what Qloo changed; repeat the pair before calling a difference the data's effect.
- The distance is a heuristic over the palettes, part ids and words of the files the two arms changed differently. It does not measure quality or what people prefer.
- The headline counts devices anchored to what the prediction did not contain. It shows that the data changed the specification, not that the result is better.
What the agent did
64 Moûsa calls, 4 refused by a validator and repaired; 13 reads, 47 writes and 7 shell commands. Tool names, stages and outcomes only: no file contents, commands or model text.
Main session
- tool search
- mousa_status
- skill mousa:taste-brief
- taste_profile plan
- taste_profile plan
- tool search
- materials find
- design_validate prediction
- design_validate prediction
- taste_profile baseline
- agent mousa:mousa-baseline
- agent mousa:mousa-designer
- design_compare compare
- design_report comparison
The baseline agent, without Qloo
- skill mousa:design
- tool search
- mousa_status
- read ×4
- materials find
- read ×3
- design_validate reading
- design_validate dna
- design_validate plan
- materials fetch
- write ×5
- shell error
- tool search
- other tool error
- shell error
- write ×6
- design_check
- design_capture
- write ×2
- design_capture
- design_capture
- design_capture
- design_capture
- design_capture
- design_validate review refused: TASTE_PROTOCOL_INVALID
- design_validate review
- write ×6
- design_check
- design_capture round 2
- design_capture round 2
- design_capture round 2
- design_capture round 2
- design_capture round 2
- design_capture round 2
- design_validate review
- write
- design_check
- design_report session
The Qloo agent
- skill mousa:taste-brief
- skill mousa:design
- tool search
- mousa_status
- taste_profile measure
- shell ×2
- shell error
- read ×4
- materials find
- taste_ask shortlist
- taste_ask pacing
- design_validate reading refused: TASTE_PROTOCOL_INVALID
- design_validate reading
- design_validate dna
- design_validate plan
- materials fetch
- write ×3
- tool search
- other tool error
- shell ×2 error
- design_check
- design_capture round 1
- write ×8
- read ×2
- write ×3
- design_capture round 1
- design_capture round 1
- design_capture round 1
- design_capture round 1
- design_capture round 1
- design_validate review refused: TASTE_PROTOCOL_INVALID
- design_validate review refused: TASTE_PROTOCOL_INVALID
- design_validate review
- write ×12
- design_check
- design_capture round 2
- design_capture round 2
- design_capture round 2
- design_capture round 2
- design_capture round 2
- design_capture round 2
- design_validate review
- write
- design_check
- design_report session
Run it again
Models vary from run to run, so a new session reaches its own design; the prediction it freezes and the measurement are compared in the same way.
The request
/mousa:compare Build the game twice, with Qloo and without it, from one frozen prediction, then compare the two. The brief: Make a small RPG that plays in the browser, for people who love Wes Anderson's films and the music of Fleetwood Mac. Use the Moûsa plugin, so both how the game looks and how it plays rest on what this audience actually loves: let the Design DNA cover the mechanics (interaction and structure: what the player does, how the game progresses, how it ends) as well as the look. Facts to keep exactly: - Title: Saltmarsh - One page: index.html with a canvas and plain JavaScript in this folder; no build step, no external library, no network request - Keyboard controls, shown on screen - About five minutes of play from the start to an ending, and a way to play again - One small world the player can move around in, with at least three different things to do in it - Every mechanic the game has must be playable, not only described Build it in this folder. Write all text in English.
The command
From the repository at commit f6d391b:
node scripts/run-claude-code-live.mjs --run --brief-file examples/briefs/rpg-wes-anderson.md- Your own Qloo API key as QLOO_API_KEY in this repository's .env.
- Claude Code, signed in.
- The brief, examples/briefs/rpg-wes-anderson.md, which entered the repository in 3a7b6e2, after the run began: take it from that commit.
The record's files
The same evidence as data and as pictures, for reading without this site.
The report on its ownrecord.jsonThe whole report as one pictureThe card
