A Sierra-style adventure in the Police Squad!/Naked Gun universe, on MRPGI — which reimplements AGI, the engine Sierra shipped Police Quest on. The premise: Police Quest's pedantic procedure x Police Squad!'s farce. The game grades you on correct procedure with a straight face, and the reward for perfect procedure is catastrophe anyway. Per John, the famous Police Quest II bugs are shipped deliberately as canon gags. - RESEARCH.md — all six Police Squad! episodes, all four films (incl. Neeson's Frank Drebin Jr, 2025), the recurring cast, and the ZAZ comedy grammar. - DESIGN.md — the joke engine, the two Drebins across three eras (Drebin Sr's 1982 cases render in a monochrome EGA subset for the 1950s M Squad look), an eleven-case campaign, and the PQ2 glitch-to-feature table. - cases/case-01-substantial-gift — playable. Five rooms, 100 points, full win path verified headlessly at 95/100 plus four authored Sierra deaths. Procedure gates, dusting for latents, and Miranda rights in the correct order are all pure JSON; no engine features were invented for it. - tools/sprites.py — all 24 sprites generated locally on MODELBEAST (flux_local -> bg_remove_local -> trim/downscale), reproducible by seed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
49 lines
2.9 KiB
JSON
49 lines
2.9 KiB
JSON
{
|
|
"name": "Offices of Dr. Elias Frame, Orthodontist",
|
|
"enter_text": "An orthodontist's surgery. Somewhere behind a partition, a drill is running, and someone is being very brave about it.",
|
|
"music": 2,
|
|
"strokes": [
|
|
{ "Rect": { "x": 0, "y": 0, "w": 160, "h": 168, "color": 7, "meaning": "Floor" } },
|
|
{ "Rect": { "x": 0, "y": 0, "w": 160, "h": 56, "color": 15, "meaning": "Wall" } },
|
|
{ "Rect": { "x": 0, "y": 54, "w": 160, "h": 3, "color": 0, "meaning": "None" } },
|
|
{ "Rect": { "x": 0, "y": 57, "w": 160, "h": 111, "color": 7, "meaning": "Floor" } },
|
|
{ "Rect": { "x": 12, "y": 10, "w": 44, "h": 32, "color": 8, "meaning": "None" } },
|
|
{ "Rect": { "x": 16, "y": 14, "w": 36, "h": 4, "color": 15, "meaning": "None" } },
|
|
{ "Rect": { "x": 16, "y": 22, "w": 26, "h": 4, "color": 15, "meaning": "None" } },
|
|
{ "Rect": { "x": 16, "y": 30, "w": 32, "h": 4, "color": 15, "meaning": "None" } },
|
|
{ "Rect": { "x": 96, "y": 8, "w": 52, "h": 38, "color": 8, "meaning": "None" } },
|
|
{ "Rect": { "x": 102, "y": 14, "w": 40, "h": 3, "color": 15, "meaning": "None" } },
|
|
{ "Rect": { "x": 102, "y": 22, "w": 28, "h": 3, "color": 15, "meaning": "None" } },
|
|
{ "Rect": { "x": 102, "y": 30, "w": 34, "h": 3, "color": 15, "meaning": "None" } },
|
|
{ "Rect": { "x": 102, "y": 38, "w": 20, "h": 3, "color": 15, "meaning": "None" } },
|
|
{ "Rect": { "x": 0, "y": 0, "w": 4, "h": 168, "color": 0, "meaning": "Wall" } },
|
|
{ "Rect": { "x": 156, "y": 0, "w": 4, "h": 168, "color": 0, "meaning": "Wall" } },
|
|
{ "Rect": { "x": 0, "y": 164, "w": 160, "h": 4, "color": 0, "meaning": "Wall" } }
|
|
],
|
|
"spawn": [80, 70],
|
|
"exits": [1, null, null, null],
|
|
"objects": [
|
|
{
|
|
"name": "dentalchair",
|
|
"sprite": "dentalchair",
|
|
"x": 46,
|
|
"y": 130,
|
|
"look": "The chair. Reclined, lamp swung aside, a paper bib still on the headrest. Whoever was in it this morning left in a hurry and left their bib.",
|
|
"synonyms": "chair seat lamp bib",
|
|
"use_text": "You sit in the chair. It is, against all expectation, the most comfortable thing you have sat in for eleven years. You get up before anybody sees."
|
|
},
|
|
{
|
|
"name": "braces",
|
|
"sprite": "braces",
|
|
"x": 116,
|
|
"y": 118,
|
|
"look": "A plaster cast of an adult upper and lower jaw, wired for a full fixed appliance, sitting on the counter with a card taped to the stand. The card is a billing card.",
|
|
"synonyms": "cast mould teeth wire card bill ledger appliance",
|
|
"requires_flag": "print_matched",
|
|
"use_text": "You read the billing card. DECKER, S. — full upper and lower fixed appliance. Fitted three weeks ago. Balance outstanding: $4,000.00. Payment terms: THIRTY DAYS. Stamped twice in red: FINAL NOTICE. Twenty-eight days ago she asked her manager for an advance of four thousand dollars, and he kept twelve thousand in a drawer, and he said no.",
|
|
"sets_flag": "motive_found",
|
|
"points": 5
|
|
}
|
|
]
|
|
}
|