Institution suite hub: master roadmap + overview
The suite-level home: the thesis (crime spectrum, nature x nurture, policeable), the secured-context principle (prisoner/ward/slave/secure-area), all seven module slots, the full crime loop, build order, prior-art verdicts, and the standing rules -- self-complete and dependency-free, coexist-don't-duplicate judged by quality not sub count, extend by capability not list.
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
# The Institution suite
|
||||
|
||||
A set of RimWorld 1.6 mods about **what an institution does to the people inside it** — and the
|
||||
crime, policing, and justice that put them there. Each mod stands alone and requires none of the
|
||||
others; together they form one system.
|
||||
|
||||
## The thesis
|
||||
|
||||
> Every pawn has a criminal propensity on a spectrum — **nature** (traits) × **nurture**
|
||||
> (circumstance, mood, treatment) — and the colony can **police** it.
|
||||
|
||||
The suite is the two halves of that: colonists commit crimes and a policing layer catches them
|
||||
(pre-arrest), and prison / contraband / wards / secure areas hold and reform them (post-arrest).
|
||||
Arrest is the hinge. Nothing hard-codes "prisoner" — every held-person system keys off a
|
||||
**secured context**: prisoner, ward patient, slave, or secure-area occupant.
|
||||
|
||||
## The mods
|
||||
|
||||
| Mod | What it is | Status |
|
||||
|---|---|---|
|
||||
| [Foul Play](https://git.onetick.ninja/flan/rimworld-foulplay) | throw a container of something off a body; vessels + substances + the **Piss Nuke** flagship | shipping |
|
||||
| [Institution: Contraband](https://git.onetick.ninja/flan/rimworld-contraband) | conceal / improvise / search / confiscate; intake, escape, secure areas | building |
|
||||
| [Institution: Ward](https://git.onetick.ninja/flan/rimworld-ward) | involuntary psychiatric commitment — the third pawn state, neither free nor guilty | shipping |
|
||||
| Institution: Regime | daily schedule (vanilla Restrict) + modest needs + visitation | planned |
|
||||
| Institution: Justice | the crime loop, the policing officer, parole / discharge / manumission | planned |
|
||||
| Institution: Discipline | security classification, punishment-as-order, corruption | planned |
|
||||
| Institution: Gangs | prisoner & colony gangs, rivalries, contraband networks | planned |
|
||||
|
||||
## Principles
|
||||
|
||||
- **Self-complete, dependency-free.** Every mod works alone; none requires another suite mod or any
|
||||
third-party mod. Integrations are always `MayRequire`-soft — features light up if a mod is
|
||||
present and the loop still closes without it.
|
||||
- **Coexist, don't duplicate.** We test against the all-time most-subscribed Workshop mods and
|
||||
never rebuild what a genuinely good mod already does well — judged by quality, not sub count.
|
||||
- **Extend by capability, not by list.** New content registers via `IsWeapon` / `IsDrug` /
|
||||
category, so modded items are covered without being named.
|
||||
|
||||
## The plan
|
||||
|
||||
The full design, module scope, build order, and prior-art verdicts are in
|
||||
[ROADMAP.md](ROADMAP.md). Per-mod roadmaps live in each repo (e.g. Contraband's item build list).
|
||||
|
||||
## Compatibility
|
||||
|
||||
The harness (`Tools/run-compat-test.sh` in the Ward repo) boots a real headless RimWorld with the
|
||||
suite plus the popular psych/prison mods **and** the all-time most-subscribed mods loaded at once,
|
||||
and fails on any error naming our code. Combat Extended gets its own dedicated pass.
|
||||
|
||||
## AI disclosure
|
||||
|
||||
Designed and built with substantial assistance from Claude (Anthropic).
|
||||
+282
@@ -0,0 +1,282 @@
|
||||
# The Institution suite — master roadmap
|
||||
|
||||
A set of RimWorld mods about **what an institution does to the people inside it** — and the crime,
|
||||
policing, and justice that put them there. Each mod stands alone; together they form one system.
|
||||
|
||||
## North star
|
||||
|
||||
> **Every pawn has a criminal propensity on a spectrum — nature (traits) × nurture (circumstance,
|
||||
> mood, treatment) — and the colony can police it.**
|
||||
|
||||
The same seeded disposition engine that drives the piss spree (`WouldFoulPeople` = disposition ×
|
||||
circumstance, fixed per pawn), generalized. The suite is the two halves of that:
|
||||
|
||||
- **Pre-arrest** — colonists commit crimes on a spectrum; a policing layer discovers, investigates,
|
||||
and catches them. Arrest is the hinge.
|
||||
- **Post-arrest** — prison, contraband, improvised weapons, escape, wards, secure areas, the daily
|
||||
life of the held, and the path back out (parole / discharge / manumission).
|
||||
|
||||
## The load-bearing principle: SECURED CONTEXT, not "prisoner"
|
||||
|
||||
Nothing hard-codes "prisoner." The subject of every held-person system is a **secured context** —
|
||||
a pawn held in a controlled space, subject to search, following a regime:
|
||||
|
||||
| Context | Members | Authority | Release path |
|
||||
|---|---|---|---|
|
||||
| Prison | prisoners | warden | **parole** |
|
||||
| Psych ward (Ward mod) | committed patients | orderly / warden | **discharge** (when treated) |
|
||||
| Slavery (Ideology) | slaves | overseer | **manumission** (Ideology) |
|
||||
| Secure area | anyone inside a zone | assigned guard | leave the zone |
|
||||
|
||||
A committed patient rides the vanilla prisoner rail (Ward's `Ward_PsychiatricCare` mode), so
|
||||
contraband, search, schedule, needs, and visitation **already apply to ward patients for free** —
|
||||
and to slaves via a small Ideology-gated extension. Every system below reads
|
||||
`SecuredContextOf(pawn)`, never `IsPrisonerOfColony` directly. Build prisoner-first, against the
|
||||
predicate, and ward + slave + secure-area fall out without a rewrite.
|
||||
|
||||
Design tone: **standards are low on the rim.** Needs and expectations for the held are modest — a
|
||||
prisoner does not expect a spa. Don't over-model comfort; a little goes a long way.
|
||||
|
||||
---
|
||||
|
||||
## Suite modules
|
||||
|
||||
| Mod | Scope | Status |
|
||||
|---|---|---|
|
||||
| **Foul Play** | throw a container of something off a body; vessels + substances + Piss Nuke flagship | built |
|
||||
| **Institution: Contraband** | conceal / improvise / search / confiscate / intake / escape / secure-areas | building |
|
||||
| **Institution: Ward** | involuntary psychiatric commitment — the third pawn state | built |
|
||||
| **Institution: Regime** | daily schedule (vanilla Restrict) + modest needs + visitation, for every secured context | planned |
|
||||
| **Institution: Justice** | the crime loop (commit → discover → investigate → attribute → arrest), policing officer, parole/discharge/manumission | planned |
|
||||
| **Institution: Discipline** | security classification / segregation, punishment-as-order, corruption | planned |
|
||||
| **Institution: Gangs** | prisoner & colony gangs, rivalries, contraband networks | planned |
|
||||
|
||||
Seven mods is the ceiling. Prefer folding a slot into an existing module over minting a new one.
|
||||
|
||||
---
|
||||
|
||||
## Regime — daily life of the held
|
||||
|
||||
### Schedule (use vanilla, don't reinvent)
|
||||
|
||||
RimWorld already has `Pawn_TimetableTracker` + `TimeAssignmentDef` and the Restrict tab. **Extend
|
||||
that to secured pawns** rather than building a new regime UI. Prison Labor (`1899474310`, 176k)
|
||||
already puts force-to-work prisoners in the Restrict grid — build on that pattern, don't fight it.
|
||||
|
||||
- Give secured pawns a timetable; surface it in the Restrict tab.
|
||||
- Two new `TimeAssignmentDef`s cover the prison-specific blocks vanilla lacks: **Yard** (go to a
|
||||
designated yard/commons — ties to Prison Commons) and **Lockup** (confined to cell). Eat/Sleep/
|
||||
Work/Joy map to existing assignments.
|
||||
- A think-tree branch makes secured pawns honour their timetable (they already have a prisoner
|
||||
think-tree branch to hook).
|
||||
- Ward routine and slave work-schedule are the same machinery, different default timetables.
|
||||
|
||||
### Needs (modest — standards are low)
|
||||
|
||||
Do NOT build a full Prison Architect needs sim. One or two low-stakes needs, keyed to the schedule:
|
||||
|
||||
- **Yard / open air** — satisfied by the Yard block. Vanilla already has the Outdoors need; check
|
||||
whether it applies to secured pawns and lean on it before adding one.
|
||||
- **Safety** — a modest mood factor from feeling safe (few violent cellmates, guards present).
|
||||
- Recreation is already covered by Prisoner Recreation (`815726158`) — don't rebuild.
|
||||
|
||||
Keep the magnitudes small. A satisfied schedule = a quiet wing; neglect = the disposition engine
|
||||
tips more pawns over the edge (feeding contraband, breaks, gang recruitment).
|
||||
|
||||
### Visitation
|
||||
|
||||
Off-map visitors and related pawns visit the held. A genuine greenfield gap — Hospitality is
|
||||
guests only and never touches prisons.
|
||||
|
||||
- A **visitation room** role; scheduled visiting hours (a schedule block).
|
||||
- A prisoner/patient with family or faction ties gets visits; the warden/orderly supervises.
|
||||
- Feeds a modest Family/social mood boost. **Thematically strongest for the ward** — a committed
|
||||
patient's family visiting is exactly right — and it is a supply route for contraband (a visitor
|
||||
smuggles something in → Contraband's conceal system).
|
||||
|
||||
---
|
||||
|
||||
## Justice — the crime loop (the missing middle)
|
||||
|
||||
The heart. Without discovery + investigation, "crime" is just a random bad event, not something you
|
||||
police. The loop:
|
||||
|
||||
**commit → discover → investigate → attribute → arrest → (held) → release**
|
||||
|
||||
- **Commit.** A colonist acts on their propensity (nature: traits incl. VTE `2296404655` 646k
|
||||
kleptomaniac/pyromaniac — *integrate as inputs, don't rebuild*; nurture: our stat). Crimes:
|
||||
theft, contraband possession, sabotage, arson, assault, at the serious end murder.
|
||||
- **Discover.** The colony learns a crime happened: missing goods, a body, damage, filth, or a
|
||||
**witness**. Discovery is not automatic — a crime in an unwatched place may go unnoticed.
|
||||
- **Witnesses / informants.** A colonist near the act may witness it → report, be intimidated
|
||||
into silence, or inform for favour. The cheap, characterful detection layer.
|
||||
- **Investigate.** A policing officer works the scene: evidence, opportunity, the stolen goods in
|
||||
someone's concealed stash (ties to Contraband search!), narrowing suspects.
|
||||
- **Attribute.** Evidence points to a pawn. Confidence, not certainty — wrongful accusation is a
|
||||
possible, dramatic failure.
|
||||
- **Arrest.** Vanilla's one law verb. The hinge into the held systems.
|
||||
|
||||
### Policing officer
|
||||
|
||||
Guarding is owned (Guards For Me `1855885448`, 88k — patrol/bodyguard, external threats only), the
|
||||
*catching* is not. Build the officer who investigates and arrests criminal colonists; **lean on
|
||||
Guards For Me's guard role** where present rather than reinventing patrol.
|
||||
|
||||
### Parole / discharge / manumission — release, driven by IDEOLOGY
|
||||
|
||||
The payoff that makes Ward's treatment and good behaviour *mean* something. Release is not a flat
|
||||
timer — the colony's **Ideology precepts** decide the policy (`MayRequire` Ideology; a vanilla
|
||||
fallback for non-Ideology games):
|
||||
|
||||
- A harsh / execution-favouring ideoligion rarely paroles (executes or works-to-death instead).
|
||||
- A rehabilitative / lenient ideoligion paroles readily on reform + good behaviour.
|
||||
- **Parole** (prisoner), **discharge** (ward patient, when treated — the Ward analog),
|
||||
**manumission** (slave, Ideology's own freeing) are one mechanism with three faces.
|
||||
- A released, reformed pawn has **reduced recidivism** — integrate with Prisoner Realism's
|
||||
recidivism (`3760196312`) rather than duplicate it: our reform lowers its return chance.
|
||||
|
||||
Sentencing timers exist (Prisoner Sentencing `3736998871`) — defer to it; add only the
|
||||
ideology-driven *decision*, not another timer.
|
||||
|
||||
---
|
||||
|
||||
## Discipline — control
|
||||
|
||||
- **Classification / segregation — make the wings players already build MEAN something.**
|
||||
Players already hand-build min / medium / max / solitary blocks with zones, cells and locks.
|
||||
RimWorld just has no notion of *who belongs where* or *whether they are correctly placed*. We do
|
||||
not replace the building — we add the intelligence layer on top of it, and it becomes the
|
||||
**router** that connects the whole suite:
|
||||
|
||||
- **Grade (information).** Each secured pawn gets a risk grade computed from disposition × traits
|
||||
× history (escape attempts, contraband made, guards attacked, murder on record). The player
|
||||
stops guessing who is dangerous — the game tells them "this one is max."
|
||||
- **Assignment + misplacement flag (enforcement).** Tag a wing's grade; the system routes
|
||||
prisoners to the matching wing and **warns** when a max-grade pawn sits in a min cell. Vanilla
|
||||
gives zero feedback here today.
|
||||
- **Dynamic re-classification (dynamics).** Grade moves with behaviour: an escape attempt or a
|
||||
shanking **upgrades** them; Ward treatment + good conduct + time **downgrades** them. This
|
||||
wires classification straight into the behaviour loop.
|
||||
- **Grade gates the other systems (the payoff).** Grade drives search frequency (Contraband —
|
||||
max = frisked often), privileges (Regime — yard/visitation/recreation restricted by grade),
|
||||
escape risk (a dangerous pawn in a weak cell escapes more), and reform eligibility (Justice).
|
||||
- **The tension that makes it a decision.** Over-classify (everyone in max/solitary) = safe but
|
||||
mood craters, reform fails, ideology frowns on cruelty, and warden-hours explode.
|
||||
Under-classify (everyone min) = cheap and happy but they walk out. Classifying *correctly* is
|
||||
the game; we supply the information and the consequences that make it one.
|
||||
|
||||
No mod auto-classifies (manual wing-building is emergent player behaviour, not a mod), so the
|
||||
*system* is an uncontested gap even though the physical tiers are common.
|
||||
- **Punishment as a player order.** Issue solitary / lockdown / privilege-revocation as a
|
||||
discipline *action*. Distinct from Prisoner Realism's *passive* solitary toll — we add the
|
||||
order and its interface; defer the mood consequence to Realism where present.
|
||||
- **Corruption.** Wardens/guards take bribes, smuggle, or look away — a guard-integrity stat. Seeds
|
||||
the bent-warden contraband supply route already in Contraband's plan.
|
||||
|
||||
---
|
||||
|
||||
## Gangs
|
||||
|
||||
Untouched by any mod. Prisoners (and colonists) form gangs / factions with rivalries that drive
|
||||
violence and run contraband networks. Ties to disposition (who joins), contraband (what they move),
|
||||
and classification (segregate rivals). The richest, latest module — build after the loop works.
|
||||
|
||||
---
|
||||
|
||||
## Build order (fills the meta-gap: don't build it all at once)
|
||||
|
||||
1. **The crime loop core** — discover + witnesses + investigate + attribute. Without it the whole
|
||||
crime thesis is inert. Build *before* individual crime types.
|
||||
2. **Regime** — schedule (vanilla Restrict) + one or two modest needs. Cheap, high-value, and it
|
||||
feeds the disposition engine (neglect → crime).
|
||||
3. **Visitation** — greenfield, thematically strong for the ward, doubles as a contraband route.
|
||||
4. **Parole / discharge / manumission** — gives Ward and good behaviour a payoff; ideology-driven.
|
||||
5. **Classification**, then **punishment-orders**, then **corruption**.
|
||||
6. **Gangs** — last; needs the rest in place.
|
||||
|
||||
Already in flight (Contraband/Foul Play): hooch, improvised weapons, fire-starter, escape tools,
|
||||
intake search, secure areas. See [Contraband ROADMAP](https://git.onetick.ninja/flan/rimworld-contraband).
|
||||
|
||||
## Compatibility — the non-negotiable
|
||||
|
||||
The suite must load and run cleanly alongside the **all-time most-subscribed Workshop mods**, not
|
||||
just prison-adjacent ones — that is the load order most players actually run. The harness
|
||||
(`Tools/run-compat-test.sh` in the Ward repo) boots a real headless RimWorld with the suite plus
|
||||
this stack loaded at once and fails on any error naming our code.
|
||||
|
||||
Baseline stack (all 1.6, verified subs):
|
||||
|
||||
- **Frameworks:** Harmony (3.2M) · HugsLib (2.5M) · Vanilla Expanded Framework (2.0M) · Humanoid
|
||||
Alien Races (1.1M).
|
||||
- **Ubiquitous gameplay/AI:** Pick Up And Haul (1.7M) · Common Sense (1.05M) · Simple Sidearms
|
||||
(954k) · Vanilla Furniture Expanded (1.08M) · EdB Prepare Carefully (1.67M).
|
||||
- **UI (load-order neighbours):** RimHUD (1.5M) · Allow Tool (1.36M) · Interaction Bubbles (1.15M)
|
||||
· Camera+ (997k).
|
||||
- **Weapon/our-domain risk:** Vanilla Weapons Expanded (985k) · VFE Furniture Security (865k) ·
|
||||
Vanilla Brewing Expanded (589k) · Hospitality (798k).
|
||||
- **Prison-adjacent (design overlap):** Prison Labor · Prison Commons · Locks · Restraints ·
|
||||
Custom Prisoner Interactions · Prisoner Realism · Prisoner Recreation · Dubs Bad Hygiene ·
|
||||
Psychology · Rim Disorders · More Mental Breaks.
|
||||
|
||||
**Combat Extended** (387k, 1.6) gets its OWN dedicated pass, not the mixed stack: it overhauls
|
||||
verbs, projectiles, damage and armour — exactly our thrown-weapon surface — so an ambiguous
|
||||
failure in a 25-mod stack would be useless. Loading-clean-under-CE is a must-have; a tuned CE
|
||||
armour-penetration patch (`MayRequire`) is a strongly-recommended follow-up, not a release blocker.
|
||||
|
||||
How the suite earns this: zero-Harmony cores, Contraband optional via a `LoadFolders` bridge, every
|
||||
DLC/mod tie-in `MayRequire`-gated, and new content registered by capability (`IsWeapon`, `IsDrug`,
|
||||
category) rather than hard-coded lists — so modded weapons, drugs and races are covered without
|
||||
being named.
|
||||
|
||||
## Self-complete, dependency-free — the standing rule
|
||||
|
||||
Two rules, and the second is the sharper one:
|
||||
|
||||
1. **Judge by QUALITY, not sub count. If an incumbent is actually good, keep it.** A genuinely
|
||||
good mod — even a small one — is worth coexisting with rather than rebuilding: don't waste
|
||||
effort duplicating something done well (Prisoner Realism at 11k is a *good* deep sim → keep
|
||||
it). Only build our own where the incumbent is **thin, absent, or mediocre** on one of our
|
||||
crucial loops (Prisoner Recreation just flips vanilla Joy → trivially ours; the 334-sub crime
|
||||
mod is niche → the slot is open). Sub count is a hint, not the test.
|
||||
|
||||
2. **No hard dependencies. Every crucial loop is self-complete.** The suite must be a whole,
|
||||
working system on its own. Third-party mods are **coexistence targets that ENHANCE**, never
|
||||
requirements. Where we integrate (Ideology precepts, Prisoner Realism's recidivism, Prison
|
||||
Labor's regime), it is always `MayRequire`-soft: the feature lights up if the mod is present
|
||||
and the loop still closes without it.
|
||||
|
||||
What this changes vs. a naive "defer to whoever got there first":
|
||||
|
||||
- **Recreation is ours to enable.** Prisoner Recreation (38k) and Prisoner Realism (11k) ship no
|
||||
custom need — they just flip on the *vanilla Joy need* for prisoners. We do the same in our
|
||||
needs system: idempotent, coexists, zero dependency, no citing.
|
||||
- **Release-outcome / recidivism** — build a modest self-complete version (reformed → less return;
|
||||
abused → returns hostile). Prisoner Realism's deeper recidivism coexists; we don't require it.
|
||||
- **Solitary/isolation consequence** — a light version of our own so Discipline is self-complete;
|
||||
Realism's deeper toll coexists.
|
||||
- **Escape** is already self-complete: vanilla mental-break breaks + our disposition-driven arming
|
||||
+ our patient tunnel. Realism's lockpick/ringleaders are enhancements on top, not gaps we leave.
|
||||
|
||||
Genuinely leave alone (giant + redundant + not a gap in our loops): forced labor (Prison Labor
|
||||
176k), hygiene (Dubs Bad Hygiene 632k), crime *traits* (Vanilla Traits Expanded 646k — we consume
|
||||
them as nature inputs), guest hosting (Hospitality 798k). Coexist with all; depend on none.
|
||||
|
||||
### Prior-art sweeps done (2026-07-14/15)
|
||||
|
||||
Uncontested gaps, safe to build clean: contraband/search, improvised weapons, keep-inventory
|
||||
intake, secure-area search, nurture criminality stat, investigating officer, patient escape,
|
||||
visitation, classification, punishment-order, gangs, corruption. Partial (build the uncovered
|
||||
slice only): prisoner timetable, yard/safety/privacy needs, evidence/forensics investigation,
|
||||
active snitch/informant, reform-and-ideology-driven parole. The only prior art in the
|
||||
crime/parole space (Rimworld Law and Order, 334 subs) fails the *popular* bar, so that slot is
|
||||
open — build it without duplicating that niche mod exactly.
|
||||
|
||||
## Architecture already honors rule 2
|
||||
|
||||
Zero hard dependencies anywhere: Foul Play stands alone, Contraband is optional to it (the
|
||||
`LoadFolders` bridge loads only when both are present), Ward stands alone, and every DLC/mod
|
||||
tie-in is `MayRequire`. No suite mod requires another suite mod or any third-party mod.
|
||||
|
||||
## AI disclosure
|
||||
|
||||
Designed and built with substantial assistance from Claude (Anthropic).
|
||||
Reference in New Issue
Block a user