From 38b2806401b5d7552c49a4bea72c751d0c91a928 Mon Sep 17 00:00:00 2001 From: type-two Date: Mon, 27 Jul 2026 19:17:04 +1000 Subject: [PATCH] Deploy to monsterrobot.games/games/policesquadquest/ + page shell MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Live: https://monsterrobot.games/games/policesquadquest/ web/index.html is our arcade page shell, matching the house style set by morpquest (boot splash, gold README tab, controls and the shelf explained). tools/webbuild.sh copies it over the engine's default after baking, so the cases/ shelf directory stays nothing but games. Hosting, established by reading the boxes rather than the docs: the deploy-map note pointing at /opt/dealgod/images/engine/ on the dealgod VPS is stale for this domain — that path now falls through to the arcade index. monsterrobot.games is actually served by forum-nginx on the GAMES VPS (humanjing@100.71.119.27) from a bind mount of /home/humanjing/monsterrobot.games, and games are plain directories under games/ picked up by try_files with no nginx change at all. Deployed exactly like /games/morpquest/, which is the same engine. Verified live: all four assets 200 with correct application/wasm content-type, our title (not the arcade fallback), the shelf renders, a case loads and plays, and the parser round-trips over the wire. Nothing existing was touched — fresh directory, no config edited, no cache purge needed for a new path. Co-Authored-By: Claude Fable 5 --- README.md | 26 ++++++++++++-- tools/webbuild.sh | 5 +++ web/index.html | 86 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 114 insertions(+), 3 deletions(-) create mode 100644 web/index.html diff --git a/README.md b/README.md index 4a9595b..7fbafc2 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,10 @@ isn't → Richard Cane → a New Year's ball drop, a pair of lost trousers, and barn owl in a 1950s hat who is lit by a different decade than everything around him. +## Play it online + +**[monsterrobot.games/games/policesquadquest/](https://monsterrobot.games/games/policesquadquest/)** + ## Web build The whole campaign bakes into a single self-contained wasm — title screen, @@ -102,9 +106,25 @@ all sixteen cases, ~2.1 MB: ./tools/webbuild.sh ``` -Output lands in `MRPGI/web/dist/` (wasm + `index.html` + the macroquad JS -shim). Preview it with any static server; deploy by copying that directory to -the host. The shelf's title comes from [cases/collection.json](cases/collection.json). +Output lands in `MRPGI/web/dist/` (wasm + our page shell from +[web/index.html](web/index.html) + the macroquad JS shim). The shelf's title +comes from [cases/collection.json](cases/collection.json). + +Deploy — monsterrobot.games is served by **forum-nginx on the games VPS** +(`humanjing@100.71.119.27`) from a bind mount of +`/home/humanjing/monsterrobot.games`. Games are plain directories under +`games/`; the server block's `try_files $uri $uri/ /index.html` picks them up +with no nginx change. Same pattern as `/games/morpquest/`: + +```bash +./tools/webbuild.sh +rsync -az --delete ~/Documents/MRPGI/web/dist/ \ + humanjing@100.71.119.27:/home/humanjing/monsterrobot.games/games/policesquadquest/ +``` + +Then curl the live URL cache-busted to confirm. Note the deploy-map's older +note about `/opt/dealgod/images/engine/` on the dealgod VPS is stale for this +domain — that path no longer serves monsterrobot.games. ## Regenerating art diff --git a/tools/webbuild.sh b/tools/webbuild.sh index 6c02689..deba019 100755 --- a/tools/webbuild.sh +++ b/tools/webbuild.sh @@ -9,4 +9,9 @@ set -e ENGINE="${MRPGI:-$HOME/Documents/MRPGI}" cd "$(dirname "$0")/.." "$ENGINE/web/build.sh" "$(pwd)/cases" + +# build.sh looks for a page shell beside the baked dir; ours lives at the repo +# root so the cases/ shelf stays nothing but games. +cp web/index.html "$ENGINE/web/dist/index.html" +echo "page shell: web/index.html" echo "preview locally: cd $ENGINE/web/dist && python3 -m http.server 8899" diff --git a/web/index.html b/web/index.html new file mode 100644 index 0000000..3f749c6 --- /dev/null +++ b/web/index.html @@ -0,0 +1,86 @@ + + + + + + POLICE SQUAD QUEST + + + + +
POLICE SQUAD QUESTtuning the late movie…
+ + +
+

POLICE SQUAD QUEST

+

Sixteen cases. Three generations of Frank Drebin, 1939 to 2025. The game + grades you on correct police procedure with a completely straight face, and + the reward for perfect procedure is catastrophe anyway.

+

The shelf

+

choose a case · Enter + to play · Esc inside a case returns you here. Start + anywhere; each case stands alone. Act Zero is 1958 and is not funny on + purpose.

+

Playing

+

←↑↓→ or click to walk · type verbs + + Enter (look, take badge, dust counter, mirandize sally…) + · 16 pick a dialogue reply · + Esc leaves a chat · F1 CRT scanlines · + F2 sound.

+

Advice from the files

+

Sign out your badge AND your sidearm. Read the rights in order. Fill in + the form. The form is always the answer.

+

REGULATIONS ARE REGULATIONS.

+

Every case is 100 points. Several are lethal. One of them is worth 140. + Nobody reads the reports.

+

Made with

+

The MRPGI engine + (a Rust reimagining of Sierra's AGI), ~300 sprites generated locally and + crushed into 160×168 EGA, and a great deal of paperwork.

+
+ + + + +