Rewrite the README for players: what each layer does in play, the wiki linked front-and-center
This commit is contained in:
@@ -1,76 +1,63 @@
|
|||||||
# The Institution suite
|
# Institution — Prison Architect in RimWorld
|
||||||
|
|
||||||
A set of RimWorld 1.6 mods about **what an institution does to the people inside it** — and the
|
**Every pawn has a criminal propensity on a spectrum — nature (traits) × nurture (mood, mistreatment,
|
||||||
crime, policing, and justice that put them there. Each mod is a separate install built on a small
|
treatment) — and the colony can police it. Catching and punishing one pawn changes the disposition of
|
||||||
shared **Core**; together they form one system.
|
the rest.**
|
||||||
|
|
||||||
## The thesis
|
Institution is the whole suite in **one install**, with a **checkbox per layer** in the mod settings
|
||||||
|
(all on by default). It turns RimWorld's forgotten rap sheet into a living justice system — police,
|
||||||
|
prison, parole — mirroring the real separation of powers.
|
||||||
|
|
||||||
> Every pawn has a criminal propensity on a spectrum — **nature** (traits) × **nurture**
|
## 📖 Documentation — [**read the Wiki**](https://git.onetick.ninja/flan/institution/wiki)
|
||||||
> (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
|
The **[Institution Wiki](https://git.onetick.ninja/flan/institution/wiki)** is the full guide: the
|
||||||
(pre-arrest), and prison / contraband / wards / secure areas hold and reform them (post-arrest).
|
gameplay loop, every layer, and how the pieces feed each other. Start at the
|
||||||
Arrest is the hinge. Nothing hard-codes "prisoner" — every held-person system keys off a
|
**[Wiki home](https://git.onetick.ninja/flan/institution/wiki)**, then dive into any layer below.
|
||||||
**secured context**: prisoner, ward patient, slave, or secure-area occupant.
|
|
||||||
|
|
||||||
## Documentation
|
## The six layers
|
||||||
|
|
||||||
The **complete suite wiki lives in this repo** — [**Wiki/Home.md**](Wiki/Home.md) is the front door:
|
Turn any off in **Options → Mod Settings** and it goes inert immediately. All build on a shared
|
||||||
the full gameplay loop, all five layers, and per-layer deep dives, aggregated in one place under
|
**Core** engine that ships inside — no separate dependency.
|
||||||
[`Wiki/`](Wiki/) (`core/`, `contraband/`, `justice/`, `gangs/`, `ward/`). Each layer repo carries its
|
|
||||||
own copy for a standalone install; [`Tools/sync-wiki.sh`](Tools/sync-wiki.sh) refreshes the
|
|
||||||
aggregated view here.
|
|
||||||
|
|
||||||
## The mods
|
| Layer | In play | Wiki |
|
||||||
|
|---|---|---|
|
||||||
|
| **Core** | The engine every layer agrees on: propensity, the criminal record, the treatment engine. Invisible on its own. | [Core](https://git.onetick.ninja/flan/institution/wiki/core/Home) |
|
||||||
|
| **Contraband** | Prisoners conceal what they walked in with, whittle shivs from their cell's furniture, and dig tunnels under the wall. Wardens search the likeliest prisoner first — and a bent warden looks the other way. | [Contraband](https://git.onetick.ninja/flan/institution/wiki/contraband/Home) |
|
||||||
|
| **Policing** | Your own colonists offend on the spectrum. Witnesses and a constable name the culprit; a weighed arrest can end in a cell or a resisted breakout. A climate of order feeds back into everyone — plus riots when it collapses. | [Policing](https://git.onetick.ninja/flan/institution/wiki/policing/Home) |
|
||||||
|
| **Corrections** | Classification grades every prisoner by what they've done (a wall marker grades a whole wing). Discipline hardens or reforms; parole frees the reformed; regime gives them recreation, yard time, and visits. | [Corrections](https://git.onetick.ninja/flan/institution/wiki/corrections/Home) |
|
||||||
|
| **Gangs** | Disposed prisoners band together and move contraband among themselves. Rival gangs fight — inside the wire or out — and the fight is a crime. A well-run colony grows few gangs. | [Gangs](https://git.onetick.ninja/flan/institution/wiki/gangs/Home) |
|
||||||
|
| **Ward** | Commit a prisoner for **psychiatric treatment** instead of punishment: counselling reduces the disorder that broke them and builds a recovery track toward discharge. Neglect them and they deteriorate. | [Ward](https://git.onetick.ninja/flan/institution/wiki/ward/Home) |
|
||||||
|
|
||||||
| Mod | What it is | Needs | Status |
|
## The loop
|
||||||
|---|---|---|---|
|
|
||||||
| [Institution: Core](https://git.onetick.ninja/flan/rimworld-core) | the shared engine — **propensity** (nature × nurture), the **criminal record**, the **secured-context** predicate. Invisible on its own | — | shipping |
|
|
||||||
| [Institution: Contraband](https://git.onetick.ninja/flan/rimworld-contraband) | the physical smuggling loop — conceal / improvise shivs / Prison-Architect tunnels / warden search / corruption | Core | shipping |
|
|
||||||
| [Institution: Justice](https://git.onetick.ninja/flan/rimworld-justice) | corrections & **policing** — classification, deterrence, discipline & reform, parole, regime, and colony crime → witnesses → a weighed arrest | Core, Harmony | shipping |
|
|
||||||
| [Institution: Gangs](https://git.onetick.ninja/flan/rimworld-gangs) | gangs as **contraband economies** — joining by disposition, smuggling networks, rivalry, fights-as-crime | Core, Contraband, Justice | shipping |
|
|
||||||
| [Institution: Ward](https://git.onetick.ninja/flan/rimworld-ward) | involuntary **psychiatric care** — a prisoner committed for treatment, not punishment, on Core's shared treatment engine: counselling reduces the disorder, a recovery track leads to discharge, and neglect deteriorates. Folded into the suite as its psychiatric-care layer | Core, Harmony | shipping |
|
|
||||||
| [Foul Play](https://git.onetick.ninja/flan/rimworld-foulplay) | throw a container of something off a body; a Noita-flasks liquid framework (vessels + substances) with the **Piss Nuke** flagship; bridges to the suite | standalone | shipping |
|
|
||||||
|
|
||||||
The original monolith split along its natural seams in 2026-07: the substrate became **Core**, the
|
Disposition → Crime → Detection → **Arrest** → Contraband / Gangs → Corrections → Parole — and back to
|
||||||
corrections/justice systems became **Justice**, and the gang layer became **Gangs**, leaving
|
the start: reforming or punishing one pawn moves the colony's climate of order, which bends who else
|
||||||
**Contraband** as the physical smuggling loop. Regime (prisoner recreation) folded into Justice, which
|
decides that crime pays here. (A future **Judiciary** layer — a court that tries and sentences — is
|
||||||
now also ships **policing** (colony crime → witnesses → a weighed arrest). **Ward** — once a standalone
|
reserved to sit between arrest and prison.)
|
||||||
sister mod — is folded in as the psychiatric-care layer, consuming Core's shared treatment engine, so
|
|
||||||
the suite is now five layers over one Core, bundled into a single install with a toggle each.
|
|
||||||
|
|
||||||
## Principles
|
## Install
|
||||||
|
|
||||||
- **One shared engine, then build up.** The suite runs on a small **Core** (propensity, record,
|
**Steam Workshop:** subscribe, and enable **Harmony** + **Institution** in the mod list. *(Workshop link
|
||||||
secured context) so every mod agrees about who is dangerous instead of each guessing. Contraband
|
coming with the 0.1.0 upload.)*
|
||||||
and Justice build on Core; Gangs, the capstone, needs Core + Contraband + Justice. Foul Play stands
|
|
||||||
fully alone and merely *bridges* to the suite when it is present. Cross-mod integrations that
|
|
||||||
aren't hard dependencies stay soft — features light up if a mod is present and the loop still
|
|
||||||
closes without it (e.g. Core's deterrence seam is neutral until Justice fills 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
|
**Or drop it straight onto your machine** (auto-detects the Steam Mods folder on Linux/Mac):
|
||||||
|
|
||||||
The full design, module scope, build order, and prior-art verdicts are in
|
```bash
|
||||||
[ROADMAP.md](ROADMAP.md). Per-mod roadmaps live in each repo (e.g. Contraband's item build list).
|
D=$(ls -d ~/Library/Application\ Support/Steam/steamapps/common/RimWorld/RimWorldMac.app/Mods \
|
||||||
|
~/.steam/steam/steamapps/common/RimWorld/Mods \
|
||||||
|
~/.local/share/Steam/steamapps/common/RimWorld/Mods 2>/dev/null | head -1)
|
||||||
|
git clone --depth 1 https://git.onetick.ninja/flan/institution.git "$D/Institution"
|
||||||
|
```
|
||||||
|
|
||||||
## Compatibility
|
Update later with `git -C "$D/Institution" pull`.
|
||||||
|
|
||||||
The in-game harness (`Tools/run-compat-test.sh` in the Ward repo) boots a real headless RimWorld
|
## Requires
|
||||||
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. It
|
|
||||||
needs a licensed RimWorld + xvfb, so it is a LOCAL step, not CI.
|
|
||||||
|
|
||||||
## CI
|
**RimWorld 1.6** and **[Harmony](https://steamcommunity.com/sharedfiles/filedetails/?id=2009463077)**.
|
||||||
|
Pairs with the standalone **Foul Play** (a vessel/substance framework), which bridges in when both are
|
||||||
|
present.
|
||||||
|
|
||||||
Each code repo runs a Gitea Actions workflow (`.gitea/workflows/ci.yml`) on push: **lint def XML**
|
---
|
||||||
(catches malformed XML and relative-xpath silent no-ops) + **dotnet build** against the Krafs
|
|
||||||
RimWorld reference assemblies (no game install needed). Runs on the self-hosted `truenas-runner`
|
|
||||||
(host mode, label `ubuntu-latest`); .NET is provisioned per-run via `setup-dotnet`. Green across
|
|
||||||
Foul Play, Contraband, and Ward; the split-out **Core**, **Justice**, and **Gangs** build clean and
|
|
||||||
are exercised by the full-stack harness, with per-repo CI workflows still to be added.
|
|
||||||
|
|
||||||
|
**License:** CC BY-NC-SA 4.0 · **Version:** 0.1.0 · Attribution in [NOTICE](NOTICE).
|
||||||
|
Modding or curious how it fits together? The design notes live in [ROADMAP.md](ROADMAP.md).
|
||||||
|
|||||||
Reference in New Issue
Block a user