# Ward Seven — a Roblox horror game in a veterinary night clinic

**Prompt:**
> "any other game?" → *a story horror game, like Animal Hospital, with anomolies.*
> Then: "ok downloaded, any other game?" · "how do i play it?" · "theres no desk, wth"

The brief was a genre and two reference points, not a design document: a story horror game set in a
veterinary clinic, in the register of *Animal Hospital*, with anomalies as the mechanic. That is enough to
fix the shape of the whole thing — one shift, one corridor, exactly one thing wrong per night, and a report
you have to be right about.

**Skills used:**
- `roblox-game-development` — standalone `.rbxl` authoring (Lune `roblox.serializePlace`), rbx-dom
  reflection checks, and the mock-engine smoke harness; the stale-`Studio`-lock entry in this skill is why
  the published file now carries its build id in the filename.
- `flagship-quality-bar` — the bar for what ships: real execution output as evidence, negative controls for
  every assertion, honest limits written on the page rather than discovered by the user.
- `isaac-portfolio-publish` — this card, the build analysis, the play guide and the deploy.
- `plan` / `todo` — the six-stage pipeline was sequenced before any game code was written.

**What it is:**
A single 39,597-byte place file that opens directly in Roblox Studio. 2,812 lines of Luau across six
modules: a config (every tunable constant), a pure state machine with no Instances, a sixteen-entry
anomaly catalogue with an explicit `restore` per entry, a procedural ward builder, a server Script and a
client HUD script. Click **Play** and you are standing at the intake desk of Ward Seven at midnight.

**Outcome:**
Six pipeline stages, 650 assertions, zero failures: 139 rules/story, 282 Roblox class and property names,
37 place-file checks after deserialisation, 146 server smoke checks driving eight nights to an ending, 40
client HUD checks against every state the server can send, and 6 build markers read back out of the
*published* file. Both real bugs found in play were reproduced as failing tests first: a capability-refused
`workspace.FallenPartsDestroyHeight` write that killed the entire server Script on frame one (so the ward —
and the desk — never existed), and an intake desk placed half a stud behind the spawn point with
`CanCollide = false` (invisible, intangible, inside the camera).

**Verified failure text, not claims:**
```
FAIL  server script executes without error
      ([string "luau.load(...)"]:170: The current thread cannot write
       'FallenPartsDestroyHeight' (lacking capability PluginOrOpenCloud))
FAIL  ward built for the joined player
RESULT: FAIL — the server never built a ward; stopping here
```
