hayao 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/design/00-process/README.md +49 -0
- package/design/00-process/composition.md +148 -0
- package/design/00-process/core-loop.md +146 -0
- package/design/00-process/intent-to-brief.md +128 -0
- package/design/00-process/pillars.md +139 -0
- package/design/00-process/refine-and-handoff.md +156 -0
- package/design/00-process/the-twist.md +108 -0
- package/design/10-anchors/README.md +99 -0
- package/design/10-anchors/age-of-empires.md +103 -0
- package/design/10-anchors/baba-is-you.md +127 -0
- package/design/10-anchors/balatro.md +132 -0
- package/design/10-anchors/celeste.md +136 -0
- package/design/10-anchors/civilization.md +101 -0
- package/design/10-anchors/dead-cells.md +125 -0
- package/design/10-anchors/factorio.md +100 -0
- package/design/10-anchors/hades.md +127 -0
- package/design/10-anchors/into-the-breach.md +125 -0
- package/design/10-anchors/it-takes-two.md +104 -0
- package/design/10-anchors/loop-hero.md +131 -0
- package/design/10-anchors/nuclear-throne.md +130 -0
- package/design/10-anchors/outer-wilds.md +107 -0
- package/design/10-anchors/overcooked.md +102 -0
- package/design/10-anchors/peggle.md +133 -0
- package/design/10-anchors/reigns.md +99 -0
- package/design/10-anchors/return-of-the-obra-dinn.md +108 -0
- package/design/10-anchors/rimworld.md +101 -0
- package/design/10-anchors/shadow-of-mordor.md +106 -0
- package/design/10-anchors/slay-the-spire.md +127 -0
- package/design/10-anchors/starcraft.md +98 -0
- package/design/10-anchors/stardew-valley.md +103 -0
- package/design/10-anchors/tetris.md +122 -0
- package/design/10-anchors/vampire-survivors.md +122 -0
- package/design/20-genres/README.md +62 -0
- package/design/20-genres/action-adventure.md +126 -0
- package/design/20-genres/auto-battler.md +121 -0
- package/design/20-genres/bullet-hell.md +123 -0
- package/design/20-genres/city-builder.md +124 -0
- package/design/20-genres/coop-chaos.md +124 -0
- package/design/20-genres/deckbuilder.md +122 -0
- package/design/20-genres/exploration.md +131 -0
- package/design/20-genres/farming-sim.md +122 -0
- package/design/20-genres/grid-puzzle.md +126 -0
- package/design/20-genres/horde-survival.md +128 -0
- package/design/20-genres/incremental.md +120 -0
- package/design/20-genres/match3.md +120 -0
- package/design/20-genres/metroidvania.md +132 -0
- package/design/20-genres/narrative-decisions.md +122 -0
- package/design/20-genres/physics-arcade.md +124 -0
- package/design/20-genres/precision-platformer.md +127 -0
- package/design/20-genres/racing.md +126 -0
- package/design/20-genres/rhythm.md +125 -0
- package/design/20-genres/roguelike.md +122 -0
- package/design/20-genres/rts.md +169 -0
- package/design/20-genres/stealth.md +125 -0
- package/design/20-genres/survival-horror.md +124 -0
- package/design/20-genres/tactics.md +123 -0
- package/design/20-genres/tower-defense.md +120 -0
- package/design/30-systems/README.md +69 -0
- package/design/30-systems/accessibility.md +110 -0
- package/design/30-systems/boss-design.md +126 -0
- package/design/30-systems/build-diversity.md +120 -0
- package/design/30-systems/collectibles.md +108 -0
- package/design/30-systems/combat-model.md +113 -0
- package/design/30-systems/coop-and-competition.md +118 -0
- package/design/30-systems/counter-systems.md +115 -0
- package/design/30-systems/crafting.md +115 -0
- package/design/30-systems/difficulty-and-dda.md +114 -0
- package/design/30-systems/economy.md +117 -0
- package/design/30-systems/emergent-systems.md +114 -0
- package/design/30-systems/encounter-design.md +107 -0
- package/design/30-systems/enemy-ai.md +121 -0
- package/design/30-systems/enemy-archetypes.md +117 -0
- package/design/30-systems/faction-asymmetry.md +144 -0
- package/design/30-systems/grace.md +124 -0
- package/design/30-systems/mastery-curve.md +116 -0
- package/design/30-systems/meta-progression.md +114 -0
- package/design/30-systems/onboarding.md +115 -0
- package/design/30-systems/procgen-design.md +118 -0
- package/design/30-systems/progression.md +120 -0
- package/design/30-systems/resource-loops.md +112 -0
- package/design/30-systems/reward-schedules.md +124 -0
- package/design/30-systems/save-and-checkpoint.md +113 -0
- package/design/30-systems/session-structure.md +113 -0
- package/design/30-systems/skill-trees.md +111 -0
- package/design/30-systems/status-effects.md +111 -0
- package/design/30-systems/tech-tree.md +112 -0
- package/design/30-systems/telegraphs.md +106 -0
- package/design/30-systems/unit-rosters.md +123 -0
- package/design/40-worldbuilding/README.md +49 -0
- package/design/40-worldbuilding/aesthetic-direction.md +155 -0
- package/design/40-worldbuilding/faction-identity.md +136 -0
- package/design/40-worldbuilding/naming-and-tone.md +130 -0
- package/design/40-worldbuilding/narrative-delivery.md +129 -0
- package/design/40-worldbuilding/theme-vectors.md +134 -0
- package/design/40-worldbuilding/worldbuilding-scaffold.md +132 -0
- package/design/50-patterns/README.md +54 -0
- package/design/50-patterns/anti-frustration.md +121 -0
- package/design/50-patterns/emergence.md +121 -0
- package/design/50-patterns/feedback-loops.md +121 -0
- package/design/50-patterns/juice-choreography.md +124 -0
- package/design/50-patterns/mastery-and-flow.md +121 -0
- package/design/50-patterns/pacing-and-tension.md +120 -0
- package/design/50-patterns/readability.md +121 -0
- package/design/50-patterns/risk-reward.md +120 -0
- package/design/CONTRIBUTING.md +183 -0
- package/design/INDEX.md +133 -0
- package/design/README.md +86 -0
- package/design/_TEMPLATE.md +69 -0
- package/design/index.json +2720 -0
- package/package.json +2 -1
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: anchor-outer-wilds
|
|
3
|
+
title: Outer Wilds
|
|
4
|
+
kind: anchor
|
|
5
|
+
tags: [exploration, knowledge, curiosity, open-world, time-loop, discovery, non-linear]
|
|
6
|
+
summary: Knowledge is the only progression — no upgrades gate the world, only what *you* understand; a curiosity-driven open world you unlock in your own head.
|
|
7
|
+
use-when: The intent is an exploration game where the player's real growth is understanding, and the world is gated by knowledge rather than items or stats.
|
|
8
|
+
composes-with: [genre-exploration, system-progression, system-session-structure, system-onboarding, pattern-readability]
|
|
9
|
+
anchors: []
|
|
10
|
+
verify-with: docs/FUN.md#3-metroidvania
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Outer Wilds
|
|
14
|
+
|
|
15
|
+
**What it is.** An open-world exploration game with **no power progression at all**.
|
|
16
|
+
Your ship and tools never upgrade; the *only* thing that changes across the game is
|
|
17
|
+
**what you know**. The solar system is fully open from minute one — every gate is a
|
|
18
|
+
knowledge gate ("I don't understand how to reach that" → later, "oh, *now* I do").
|
|
19
|
+
A **time loop** resets the world each cycle, so the world is constant and *you* are
|
|
20
|
+
the variable.
|
|
21
|
+
|
|
22
|
+
**Player fantasy.** Pure curiosity, rewarded. The dopamine is the *understanding*
|
|
23
|
+
click — the moment a scrap of lore, a physics quirk, and a place you saw earlier
|
|
24
|
+
snap together into "I know where to go now." You progress by getting *smarter*, and
|
|
25
|
+
nothing can be taken from you but confusion.
|
|
26
|
+
|
|
27
|
+
## Design DNA
|
|
28
|
+
|
|
29
|
+
The engine is **knowledge-as-progression** over a **static, curiosity-gated world**.
|
|
30
|
+
Three parts. First, **no mechanical gates**: the world is fully reachable; the only
|
|
31
|
+
lock is comprehension ([[genre-exploration]]). Second, **the world teaches
|
|
32
|
+
itself**: environmental storytelling and physical clues let players deduce the next
|
|
33
|
+
step — the design *seeds curiosity* and trusts the player to follow it
|
|
34
|
+
([[pattern-readability]], [[world-narrative-delivery]]). Third, **a constant world +
|
|
35
|
+
a changing player**: often a loop/reset ([[system-session-structure]]) so the
|
|
36
|
+
*place* never changes and all progression lives in the player's head. The "aha" is
|
|
37
|
+
the reward, and it can never regress.
|
|
38
|
+
|
|
39
|
+
## Load-bearing structures
|
|
40
|
+
|
|
41
|
+
| Structure | Why it works |
|
|
42
|
+
|---|---|
|
|
43
|
+
| **Knowledge as the only progression** | No upgrades; you advance by *understanding*. Progress can't be lost, and every player earns each insight themselves. → [[system-progression]]. |
|
|
44
|
+
| **Curiosity-gated open world** | Fully open from the start; gates are "I don't get it yet," not locked doors — pull, not permission. → [[genre-exploration]]. |
|
|
45
|
+
| **Self-teaching world** | Clues are environmental and physical; the world *shows* you the next question. → [[pattern-readability]], [[world-narrative-delivery]]. |
|
|
46
|
+
| **Constant world, changing player** | A time loop / reset keeps the place fixed so all change is internal — mastery of *knowledge*, not stats. → [[system-session-structure]]. |
|
|
47
|
+
| **Non-linear discovery** | Threads can be pulled in any order; the player's path *is* their story. → [[pattern-emergence]]. |
|
|
48
|
+
| **The "aha" as the reward** | Understanding-clicks are the payout — the strongest possible intrinsic reward. → [[pattern-mastery-and-flow]]. |
|
|
49
|
+
|
|
50
|
+
## What to steal
|
|
51
|
+
|
|
52
|
+
- **Gate with knowledge, not items**: let the world be open and lock it only behind
|
|
53
|
+
*comprehension*. The reward becomes the player's own insight, which never
|
|
54
|
+
regresses and can't be grinded. → [[genre-exploration]].
|
|
55
|
+
- **Make the world teach itself**: seed physical, environmental clues so the player
|
|
56
|
+
*deduces* the next step. Trust the player; don't quest-marker it. →
|
|
57
|
+
[[world-narrative-delivery]].
|
|
58
|
+
- **A constant world + changing player** (a loop or reset) so all progression is
|
|
59
|
+
internal — and so exploration is safe to be non-linear. → [[system-session-structure]].
|
|
60
|
+
- **Design for the "aha"**: structure clues so distant facts *converge* into an
|
|
61
|
+
understanding-click. That convergence is the whole reward. → [[pattern-mastery-and-flow]].
|
|
62
|
+
|
|
63
|
+
## What's just theme (drop it)
|
|
64
|
+
|
|
65
|
+
- The **space/solar-system fiction** — knowledge-gated exploration works in a
|
|
66
|
+
mansion, a city, a dream, a codebase. → [[world-theme-vectors]].
|
|
67
|
+
- The **literal time loop** — one implementation of "constant world, changing
|
|
68
|
+
player." A hub-and-return or persistent-notebook structure achieves the same.
|
|
69
|
+
- **3D flight/physics** — the DNA is comprehension-gating; it fits 2D, top-down,
|
|
70
|
+
or even a pure text/point-and-click world.
|
|
71
|
+
- **The specific lore/mystery** — content. The *transferable* part is the
|
|
72
|
+
clue-convergence architecture, not the particular secret.
|
|
73
|
+
|
|
74
|
+
## Composes into
|
|
75
|
+
|
|
76
|
+
- [[genre-exploration]] — the parent (discovery/immersive-sim-lite; curiosity and
|
|
77
|
+
knowledge as reward); Outer Wilds is its purest anchor.
|
|
78
|
+
- [[system-progression]] — but progression *in the player's head*, an inversion of
|
|
79
|
+
the usual power curve.
|
|
80
|
+
- [[system-session-structure]] — the loop/reset as the session container.
|
|
81
|
+
- [[system-onboarding]] — the world as its own tutorial; teach-by-curiosity.
|
|
82
|
+
- [[pattern-readability]] — clues must be legible enough to deduce, subtle enough
|
|
83
|
+
to earn.
|
|
84
|
+
|
|
85
|
+
## Twist seams
|
|
86
|
+
|
|
87
|
+
- **Outer Wilds but deduction is the verb** *(mechanic-swap)* — you record and
|
|
88
|
+
*submit* what you've understood, Obra-Dinn-style; knowledge becomes an explicit
|
|
89
|
+
played move. Pairs with [[anchor-return-of-the-obra-dinn]].
|
|
90
|
+
- **Outer Wilds but coop** *(perspective)* — two explorers pool clues; the "aha"
|
|
91
|
+
becomes a shared deduction and communication is the mechanic. Pairs with
|
|
92
|
+
[[genre-coop-chaos]].
|
|
93
|
+
- **Outer Wilds but on a run timer with stakes** *(structure / constraint)* — a
|
|
94
|
+
tight loop where you must *act* on knowledge before the reset, adding pressure to
|
|
95
|
+
curiosity. Pairs with [[system-session-structure]].
|
|
96
|
+
- **Outer Wilds but the world hides, not resets** *(constraint)* — knowledge
|
|
97
|
+
*decays* if unused; you must consolidate insight, inverting the "can't lose
|
|
98
|
+
progress" rule for tension.
|
|
99
|
+
|
|
100
|
+
## See also
|
|
101
|
+
|
|
102
|
+
- [`docs/FUN.md#3-metroidvania`](../../docs/FUN.md) — the locked-door promise and
|
|
103
|
+
*negative gate proofs*; the closest verify neighbour — here the "gate" is
|
|
104
|
+
knowledge, so prove the intended clue-path exists and the un-hinted path doesn't
|
|
105
|
+
trivially bypass it.
|
|
106
|
+
- [[genre-exploration]] · [[anchor-return-of-the-obra-dinn]] ·
|
|
107
|
+
[[world-narrative-delivery]].
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: anchor-overcooked
|
|
3
|
+
title: Overcooked
|
|
4
|
+
kind: anchor
|
|
5
|
+
tags: [coop, chaos, party, communication, time-pressure, kitchen, escalation]
|
|
6
|
+
summary: Couch-coop chaos where the design *forces* communication — a shared task under a clock, split across players so no one can solo it, escalating each level.
|
|
7
|
+
use-when: The intent is a local/coop party game whose fun is frantic coordination; you need interdependence enforced by layout, not politeness.
|
|
8
|
+
composes-with: [genre-coop-chaos, system-coop-and-competition, system-encounter-design, system-difficulty-and-dda, pattern-pacing-and-tension]
|
|
9
|
+
anchors: []
|
|
10
|
+
verify-with: docs/FUN.md#8-tower-defense
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Overcooked
|
|
14
|
+
|
|
15
|
+
**What it is.** A coop cooking game whose real subject is **communication under
|
|
16
|
+
pressure**. A recipe ticket demands a chain of steps; a **timer** demands speed;
|
|
17
|
+
and the **kitchen layout** splits the work so no one player can do it alone. The
|
|
18
|
+
result is a controlled panic where players *must* shout, hand off, and plan — and
|
|
19
|
+
every level cranks the layout to make coordination harder.
|
|
20
|
+
|
|
21
|
+
**Player fantasy.** Beautiful chaos with people you like. The joy is the
|
|
22
|
+
table-slamming, cross-talking scramble — and the shared triumph when a frantic
|
|
23
|
+
kitchen suddenly clicks into a rhythm. You didn't beat the level; *you and your
|
|
24
|
+
crew* did.
|
|
25
|
+
|
|
26
|
+
## Design DNA
|
|
27
|
+
|
|
28
|
+
The core isn't cooking — it's **forced interdependence**. Overcooked engineers
|
|
29
|
+
situations where solo play is impossible, so communication becomes a *mechanic*,
|
|
30
|
+
not a nicety. Two levers do it: **task decomposition** (a dish is a pipeline of
|
|
31
|
+
steps that naturally splits across hands) and **spatial constraint** (counters,
|
|
32
|
+
gaps, moving floors that make one person physically unable to cover the kitchen).
|
|
33
|
+
A **shared clock** ([[pattern-pacing-and-tension]]) turns coordination into
|
|
34
|
+
pressure, and each level **escalates** the layout — a rising difficulty of
|
|
35
|
+
*coordination*, not reflexes. See [[genre-coop-chaos]] for the parent pattern.
|
|
36
|
+
|
|
37
|
+
## Load-bearing structures
|
|
38
|
+
|
|
39
|
+
| Structure | Why it works |
|
|
40
|
+
|---|---|
|
|
41
|
+
| **Forced interdependence** | The layout makes solo impossible, so players *must* coordinate — communication becomes required play, not optional. → [[system-coop-and-competition]]. |
|
|
42
|
+
| **Task decomposition** | A dish is a pipeline (chop→cook→plate→serve) that splits cleanly across hands — instant, legible division of labour. |
|
|
43
|
+
| **Spatial constraint as difficulty** | Counters, gaps, moving/hazard floors gate movement; the *room* is the antagonist, not enemies. → [[system-encounter-design]]. |
|
|
44
|
+
| **Shared clock** | One timer everyone races creates the pressure that makes coordination fail interestingly. → [[pattern-pacing-and-tension]]. |
|
|
45
|
+
| **Escalating layouts** | Each level ratchets the coordination demand (splitting kitchens, conveyor floors) — a difficulty of *teamwork*. → [[system-difficulty-and-dda]]. |
|
|
46
|
+
| **Legible shared state** | Every player can read every ticket, station, and timer at a glance — coordination needs shared readability. → [[pattern-readability]]. |
|
|
47
|
+
| **Instant, blameless retry** | Fail a level, restart at once; the momentum and the laughter carry over. → [[system-save-and-checkpoint]], FUN.md law 5. |
|
|
48
|
+
|
|
49
|
+
## What to steal
|
|
50
|
+
|
|
51
|
+
- **Design interdependence, don't request it**: make solo *impossible* via layout
|
|
52
|
+
and task-split, so communication is a mechanic. Politeness is not a design.
|
|
53
|
+
- **Decompose the task into a pipeline** that maps to hands — the clearest way to
|
|
54
|
+
create "you do this, I'll do that" without a manual. → [[system-coop-and-competition]].
|
|
55
|
+
- **The room as antagonist**: escalate difficulty through *space and layout*, not
|
|
56
|
+
enemy stats — a party game's threat is geometry (cf. FUN.md §5 stealth's safe
|
|
57
|
+
pockets, §8 coverage geometry).
|
|
58
|
+
- **A shared clock + blameless retry**: pressure to make coordination fail funnily,
|
|
59
|
+
and instant restart so failure is a laugh, not a punishment.
|
|
60
|
+
|
|
61
|
+
## What's just theme (drop it)
|
|
62
|
+
|
|
63
|
+
- The **cooking fiction** — the loop is "a decomposable task, split by space, under
|
|
64
|
+
a clock." Firefighting, ship-repair, surgery, moving house all fit. →
|
|
65
|
+
[[world-theme-vectors]].
|
|
66
|
+
- **Specific recipes/stations** — content on the pipeline system; swap freely.
|
|
67
|
+
- **Physical/janky controls** — the humour helps but isn't load-bearing; the
|
|
68
|
+
interdependence is. Precise controls + hard layouts work too.
|
|
69
|
+
- **Local-only** — the DNA is coordination pressure; it survives online with good
|
|
70
|
+
shared-state readability. → [[system-coop-and-competition]].
|
|
71
|
+
|
|
72
|
+
## Composes into
|
|
73
|
+
|
|
74
|
+
- [[genre-coop-chaos]] — the parent genre (couch-coop/party; communication under
|
|
75
|
+
time pressure); Overcooked is its defining anchor.
|
|
76
|
+
- [[system-coop-and-competition]] — forced interdependence and shared-state hooks.
|
|
77
|
+
- [[system-encounter-design]] — composing kitchen layouts as escalating "fights"
|
|
78
|
+
against space.
|
|
79
|
+
- [[system-difficulty-and-dda]] — difficulty expressed as coordination load.
|
|
80
|
+
- [[pattern-pacing-and-tension]] — the shared clock as the tension engine.
|
|
81
|
+
|
|
82
|
+
## Twist seams
|
|
83
|
+
|
|
84
|
+
- **Overcooked but roguelite + you build the track ahead** *(mechanic-swap +
|
|
85
|
+
structure)* — Unrailed: the pipeline is laying rail before a moving train; the
|
|
86
|
+
"kitchen" advances. (The worked twist in [[process-the-twist]].)
|
|
87
|
+
- **Overcooked but asymmetric roles** *(perspective)* — each player has different
|
|
88
|
+
verbs/abilities, so interdependence comes from *complementary powers*, not just
|
|
89
|
+
layout. Pairs with [[anchor-it-takes-two]].
|
|
90
|
+
- **Overcooked but silent** *(constraint)* — no voice/text allowed; coordination
|
|
91
|
+
must route through in-game signals only. Forces diegetic communication.
|
|
92
|
+
- **Overcooked but competitive** *(tonal)* — two crews share one sabotageable
|
|
93
|
+
kitchen; coop pressure becomes PvP. Pairs with [[system-coop-and-competition]].
|
|
94
|
+
|
|
95
|
+
## See also
|
|
96
|
+
|
|
97
|
+
- [`docs/FUN.md#8-tower-defense`](../../docs/FUN.md) — coverage/space as difficulty;
|
|
98
|
+
wave curves that breathe (the escalation shape) — closest verify neighbour for a
|
|
99
|
+
space-and-clock game.
|
|
100
|
+
- [`sandboxes/pathfinding-demo`](../../sandboxes/pathfinding-demo) — grid movement
|
|
101
|
+
the kitchen layout rides on.
|
|
102
|
+
- [[genre-coop-chaos]] · [[anchor-it-takes-two]] · [[system-coop-and-competition]].
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: anchor-peggle
|
|
3
|
+
title: Peggle
|
|
4
|
+
kind: anchor
|
|
5
|
+
tags: [physics-arcade, variable-ratio, juice, reward-schedule, aim, one-input, spectacle]
|
|
6
|
+
summary: Aim, drop a ball, watch physics scatter it through pegs — trivial input wrapped in variable-ratio payoffs and maximal celebration juice.
|
|
7
|
+
use-when: Designing a low-skill-floor game that feels ecstatic through reward scheduling and disproportionate feedback on a single simple action.
|
|
8
|
+
composes-with: [genre-physics-arcade, system-reward-schedules, pattern-juice-choreography, pattern-risk-reward]
|
|
9
|
+
anchors: [anchor-peggle]
|
|
10
|
+
verify-with: docs/FUN.md#19-·-physics-arcade-breakoutpeggle
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Peggle
|
|
14
|
+
|
|
15
|
+
**What it is.** A pachinko-like arcade game: aim a launcher at the top of the
|
|
16
|
+
screen, drop one ball, and watch it ricochet through a field of pegs, lighting
|
|
17
|
+
them up. Clear the orange pegs to win the level. The input is a single angle;
|
|
18
|
+
the payoff is a cascade.
|
|
19
|
+
|
|
20
|
+
**Player fantasy / why it's fun.** *I barely did anything and something
|
|
21
|
+
wonderful happened.* The pull is **maximal juice on minimal input**: you set
|
|
22
|
+
one angle, and the game rewards you with an escalating fireworks show — lucky
|
|
23
|
+
bounces, a "free ball" bucket, and a final slow-mo, orchestral,
|
|
24
|
+
rainbow-explosion victory that's wildly out of proportion to the click that
|
|
25
|
+
caused it.
|
|
26
|
+
|
|
27
|
+
## Design DNA
|
|
28
|
+
|
|
29
|
+
Take a **trustworthy physics sandbox** and lay a **variable-ratio reward
|
|
30
|
+
schedule** over it, then celebrate every outcome — especially the lucky ones —
|
|
31
|
+
with disproportionate feedback. The skill floor is near zero (aim and drop),
|
|
32
|
+
but the *feel* is ecstatic because the physics manufactures surprise and the
|
|
33
|
+
juice amplifies it. The genius is the **gap between input effort and output
|
|
34
|
+
spectacle**: a single trivial action detonates a chain of delightful
|
|
35
|
+
consequences you didn't fully control but feel credit for.
|
|
36
|
+
|
|
37
|
+
The design does two clever things at once. First, it **outsources complexity
|
|
38
|
+
to physics** — the player supplies one number (the angle), and the peg field
|
|
39
|
+
plus deterministic bounces generate all the richness, so the game is deep
|
|
40
|
+
without the input being hard. Second, it **launders luck into feeling like
|
|
41
|
+
skill**: because you *chose* the shot, a lucky twelve-peg cascade reads as
|
|
42
|
+
*your* triumph, not the RNG's gift. The variable-ratio schedule supplies the
|
|
43
|
+
surprise; the aim supplies the ownership; together they make a near-zero-skill
|
|
44
|
+
action feel earned.
|
|
45
|
+
|
|
46
|
+
The hidden design work is honest physics — swept collision so the ball never
|
|
47
|
+
tunnels, energy conservation so bounces feel real — because the whole payoff
|
|
48
|
+
depends on *trusting* the scatter. A ball that clips through a peg or gains
|
|
49
|
+
speed from a bounce breaks the illusion instantly; the ecstasy is only
|
|
50
|
+
possible on a foundation the player never doubts.
|
|
51
|
+
|
|
52
|
+
## Load-bearing structures
|
|
53
|
+
|
|
54
|
+
| Structure | Why it works |
|
|
55
|
+
|---|---|
|
|
56
|
+
| **One trivial input, cascading output** | Aim + drop is all the player does; physics + pegs generate the complexity. The effort/reward gap IS the fun. |
|
|
57
|
+
| **Trustworthy swept-collision physics** | Closed-form time-of-impact = no tunneling ever; energy honesty (a bounce never speeds the ball up) makes the scatter feel real, not glitchy. FUN.md truth. [[genre-physics-arcade]]. |
|
|
58
|
+
| **Variable-ratio surprise** | Lucky multi-peg bounces and the free-ball bucket are unpredictable payoffs — the schedule that keeps you dropping "one more ball." [[system-reward-schedules]]. |
|
|
59
|
+
| **Disproportionate celebration** | Slow-mo, zoom, orchestral sting, screen-filling explosion on the last orange peg — feedback far exceeds the input. [[pattern-juice-choreography]]. |
|
|
60
|
+
| **Read the board, place the bet** | Skill lives in *choosing the shot* — angling for clusters, banking off walls — turning luck into a decision. [[pattern-risk-reward]]. |
|
|
61
|
+
| **Aim-search proves winnability** | Pure state → clone-and-fire candidate aims → count clears: winnability AND a difficulty meter for free. FUN.md law 7. |
|
|
62
|
+
| **Escalating per-ball scoring** | Points ramp within a single drop (peg after peg), so even one ball has an arc. [[pattern-feedback-loops]]. |
|
|
63
|
+
|
|
64
|
+
## What to steal
|
|
65
|
+
|
|
66
|
+
- **Widen the gap between input effort and output spectacle.** One trivial
|
|
67
|
+
action → a cascade of consequence. This is the whole feel; steal it into any
|
|
68
|
+
arcade toy.
|
|
69
|
+
- **Overlay a variable-ratio schedule on physics.** Let lucky bounces and
|
|
70
|
+
bonus buckets manufacture surprise; the unpredictability is the compulsion.
|
|
71
|
+
See [[system-reward-schedules]].
|
|
72
|
+
- **Celebrate disproportionately.** Slow-mo + zoom + audio sting on the win
|
|
73
|
+
moment. Feedback should *exceed* the action — that's the Peggle signature.
|
|
74
|
+
[[pattern-juice-choreography]] / `docs/JUICE.md`.
|
|
75
|
+
- **Make honest physics the foundation.** Swept collision (no tunneling),
|
|
76
|
+
energy conservation — the surprise only delights if the ball is *trusted*.
|
|
77
|
+
Wire via [[genre-physics-arcade]].
|
|
78
|
+
- **Use aim-search bots** to prove every level is clearable within the ball
|
|
79
|
+
budget and to *rate* its difficulty (FUN.md law 7). Pure state means you
|
|
80
|
+
clone the board, fire candidate aims, and count clears — winnability proof
|
|
81
|
+
and a difficulty meter from the same loop.
|
|
82
|
+
- **Give the trivial input a *decision*.** Skill lives in *choosing the shot*
|
|
83
|
+
— banking off a wall, aiming for a cluster, going for the free-ball bucket.
|
|
84
|
+
Layer a real read over the simple action so mastery has somewhere to grow.
|
|
85
|
+
[[pattern-risk-reward]].
|
|
86
|
+
|
|
87
|
+
## What's just theme (drop it)
|
|
88
|
+
|
|
89
|
+
- **The unicorns / Peggle Masters fiction.** Cosmetic; the loop is theme-free.
|
|
90
|
+
- **The rainbow "Ode to Joy" victory.** The *disproportionate celebration* is
|
|
91
|
+
structural; the specific song/rainbow is a [[pattern-juice-choreography]]
|
|
92
|
+
instance you'd re-skin.
|
|
93
|
+
- **The specific power-ups.** Bomb/multiball/etc. are *reward-schedule
|
|
94
|
+
variants*; the categories matter, the names don't —
|
|
95
|
+
[[system-reward-schedules]].
|
|
96
|
+
- **Peg colours (orange = must-clear).** *A subset of targets defines the win*
|
|
97
|
+
is structural; the colour is readability flavour — [[pattern-readability]].
|
|
98
|
+
|
|
99
|
+
## Composes into
|
|
100
|
+
|
|
101
|
+
- [[genre-physics-arcade]] — its canonical anchor; trustworthy-flight physics
|
|
102
|
+
lives there.
|
|
103
|
+
- [[system-reward-schedules]] — variable-ratio payoff exemplar.
|
|
104
|
+
- [[pattern-juice-choreography]] — disproportionate-celebration reference.
|
|
105
|
+
- [[pattern-risk-reward]] — reading the board to place a shot.
|
|
106
|
+
- [[pattern-feedback-loops]] — escalating per-ball scoring.
|
|
107
|
+
|
|
108
|
+
## Twist seams
|
|
109
|
+
|
|
110
|
+
- **Peggle but the pegs are a deck you place before the drop**
|
|
111
|
+
*(mechanic-swap)* — you build the board, then fire; aim becomes
|
|
112
|
+
construction. Pulls in [[genre-deckbuilder]] / [[anchor-loop-hero]]
|
|
113
|
+
planning.
|
|
114
|
+
- **Peggle but two players share one board and alternate drops**
|
|
115
|
+
*(perspective)* — every bounce sets up or spoils the rival's next shot.
|
|
116
|
+
Feeds [[system-coop-and-competition]].
|
|
117
|
+
- **Peggle but one ball for the whole level** *(constraint)* — no retries per
|
|
118
|
+
level; the trivial input becomes a high-stakes single bet, converting
|
|
119
|
+
variable-ratio joy into push-your-luck tension. Sharpens
|
|
120
|
+
[[pattern-risk-reward]].
|
|
121
|
+
- **Peggle but the pegs fight back** *(mechanic-swap)* — pegs move, shield, or
|
|
122
|
+
shoot on a telegraph between your drops; the calm arcade toy gains a
|
|
123
|
+
reactive-threat layer. Pulls in [[system-telegraphs]] and shifts the read
|
|
124
|
+
from static to dynamic.
|
|
125
|
+
|
|
126
|
+
## See also
|
|
127
|
+
|
|
128
|
+
- [[genre-physics-arcade]] · [[system-reward-schedules]] ·
|
|
129
|
+
[[pattern-juice-choreography]]
|
|
130
|
+
- `docs/FUN.md#19-·-physics-arcade-breakoutpeggle` — swept collision, energy
|
|
131
|
+
invariant, aim-search verify.
|
|
132
|
+
- `sandboxes/physics-lab/` — swept-collision / no-tunnel reference.
|
|
133
|
+
- `sandboxes/juice-lab/` · `docs/JUICE.md` — the celebration choreography.
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: anchor-reigns
|
|
3
|
+
title: Reigns
|
|
4
|
+
kind: anchor
|
|
5
|
+
tags: [narrative, choice, swipe, meters, stewardship, cards, decisions]
|
|
6
|
+
summary: Swipe-choice narrative — binary decisions nudge four meters you must keep between two ditches, so ruling is an act of doomed balance, not victory.
|
|
7
|
+
use-when: The intent is a minimal-input, choice-driven game where the tension is balancing competing meters and every decision is double-edged.
|
|
8
|
+
composes-with: [genre-narrative-decisions, system-reward-schedules, system-difficulty-and-dda, system-collectibles, pattern-risk-reward]
|
|
9
|
+
anchors: []
|
|
10
|
+
verify-with: docs/FUN.md#21-narrative-decisions-reigns-like
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Reigns
|
|
14
|
+
|
|
15
|
+
**What it is.** A narrative game reduced to one gesture: **swipe left or right**. An
|
|
16
|
+
advisor presents a situation on a card; you choose one of two answers; the choice
|
|
17
|
+
nudges **four meters** (church, people, army, treasury). Every meter has *two*
|
|
18
|
+
lethal edges — too low *and* too high both kill you. Ruling is **stewardship**: not
|
|
19
|
+
winning, just staying alive between the ditches one more reign.
|
|
20
|
+
|
|
21
|
+
**Player fantasy.** The impossible throne. Every decision helps one faction and
|
|
22
|
+
hurts another; you can never satisfy everyone, only *balance* them. The pull is the
|
|
23
|
+
grim comedy of doomed juggling — and the itch to see the next situation, because
|
|
24
|
+
the deck is full of tiny stories you've only glimpsed.
|
|
25
|
+
|
|
26
|
+
## Design DNA
|
|
27
|
+
|
|
28
|
+
The engine is **meters between two ditches, fed by double-edged binary choices**.
|
|
29
|
+
Three parts. First, **two-sided meters**: a resource you must keep in a *band*, not
|
|
30
|
+
maximise — depletion and excess both kill ([[genre-narrative-decisions]]). Second,
|
|
31
|
+
**every choice is a tradeoff**: no move is pure gain; helping one meter costs
|
|
32
|
+
another, so there's no dominant policy ([[pattern-risk-reward]]). Third, **minimal
|
|
33
|
+
input, maximal consequence**: one swipe, but it ripples through four systems — the
|
|
34
|
+
depth is in the *content* (the card deck), not the controls. Judgement must beat
|
|
35
|
+
any fixed policy (FUN.md §21: 19/20 vs always-left's 0/20).
|
|
36
|
+
|
|
37
|
+
## Load-bearing structures
|
|
38
|
+
|
|
39
|
+
| Structure | Why it works |
|
|
40
|
+
|---|---|
|
|
41
|
+
| **Two-lethal-edge meters** | Keeping a resource in a *band* (not maxed) makes every gain a future risk — the core stewardship tension. → [[genre-narrative-decisions]]. |
|
|
42
|
+
| **Double-edged binary choices** | Every option helps one meter and hurts another; no dominant policy, so judgement matters. → [[pattern-risk-reward]]. |
|
|
43
|
+
| **One-gesture input** | Swipe left/right; the entire skill is *reading and deciding*, not executing. Radical accessibility. → [[system-accessibility]]. |
|
|
44
|
+
| **Card-deck content** | Situations are data cards drawn against state; content *is* the game, and it's cheap to author and lint. → [[system-collectibles]]. |
|
|
45
|
+
| **Conditional/flagged cards** | Cards unlock from prior choices, threading arcs and callbacks through a shuffled deck. → [[system-emergent-systems]]. |
|
|
46
|
+
| **Death as the loop** | You *will* die; each reign is a run, and the deck keeps dealing new stories. → [[system-session-structure]]. |
|
|
47
|
+
|
|
48
|
+
## What to steal
|
|
49
|
+
|
|
50
|
+
- **Two-sided meters**: a resource you keep *in a band* creates far richer tension
|
|
51
|
+
than one you maximise — every gift is a future liability. → [[genre-narrative-decisions]].
|
|
52
|
+
- **Make every choice double-edged**: if any option is pure upside, delete it
|
|
53
|
+
(FUN.md §21: "no no-op choices"). The tradeoff *is* the game.
|
|
54
|
+
- **Content-as-data**: author situations as linted cards (unique ids, bounded
|
|
55
|
+
effects |Δ|≤20, every needs-flag settable) so editorial judgement becomes CI.
|
|
56
|
+
- **One gesture, deep consequence**: minimal input keeps the design about
|
|
57
|
+
*decisions*, and makes it trivially accessible. → [[system-accessibility]].
|
|
58
|
+
|
|
59
|
+
## What's just theme (drop it)
|
|
60
|
+
|
|
61
|
+
- The **medieval-monarch fiction** — swipe-meters-stewardship fits a ship captain,
|
|
62
|
+
a startup CEO, a dungeon master, a parent. → [[world-theme-vectors]].
|
|
63
|
+
- **The four specific factions** — the count and identities are tuning; 2–5
|
|
64
|
+
two-sided meters all work. → [[system-difficulty-and-dda]].
|
|
65
|
+
- **The literal swipe** — left/right is one binary-choice UI; buttons or dialogue
|
|
66
|
+
options carry the same DNA.
|
|
67
|
+
- **Death-by-succession framing** — the "reign" wrapper is flavour on "a run ends,
|
|
68
|
+
a new one deals fresh cards." → [[system-session-structure]].
|
|
69
|
+
|
|
70
|
+
## Composes into
|
|
71
|
+
|
|
72
|
+
- [[genre-narrative-decisions]] — the parent genre; Reigns is its defining anchor
|
|
73
|
+
(impossible stewardship; meters between two ditches).
|
|
74
|
+
- [[pattern-risk-reward]] — every card is a double-edged, teeth-bearing choice.
|
|
75
|
+
- [[system-difficulty-and-dda]] — meter volatility and card weighting are the
|
|
76
|
+
difficulty knobs.
|
|
77
|
+
- [[system-collectibles]] — the card deck as content the player uncovers.
|
|
78
|
+
- [[system-accessibility]] — one-gesture input as a floor-level design.
|
|
79
|
+
|
|
80
|
+
## Twist seams
|
|
81
|
+
|
|
82
|
+
- **Reigns but the meters are a factory** *(mechanic-swap)* — swipes route
|
|
83
|
+
throughput between competing subsystems; stewardship becomes logistics. Pairs
|
|
84
|
+
with [[anchor-factorio]].
|
|
85
|
+
- **Reigns but two rulers, one kingdom** *(perspective)* — coop where each player
|
|
86
|
+
owns two of the four meters and swipes can undermine the partner. Pairs with
|
|
87
|
+
[[system-coop-and-competition]].
|
|
88
|
+
- **Reigns but the deck is a colony sim** *(structure)* — a RimWorld director deals
|
|
89
|
+
the cards from live colony state; systemic drama in swipe form. Pairs with
|
|
90
|
+
[[anchor-rimworld]].
|
|
91
|
+
- **Reigns but cozy** *(tonal)* — the "ditches" are gentle (a garden, a friendship)
|
|
92
|
+
and death is retirement; balance without dread. Pairs with [[anchor-stardew-valley]].
|
|
93
|
+
|
|
94
|
+
## See also
|
|
95
|
+
|
|
96
|
+
- [`docs/FUN.md#21-narrative-decisions-reigns-like`](../../docs/FUN.md) — content
|
|
97
|
+
lint (unique ids, bounded effects, no no-op choices); balanced-policy bot
|
|
98
|
+
survives; always-left loses 0/20; every doom fires its own ending.
|
|
99
|
+
- [[genre-narrative-decisions]] · [[pattern-risk-reward]] · [[system-collectibles]].
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: anchor-return-of-the-obra-dinn
|
|
3
|
+
title: Return of the Obra Dinn
|
|
4
|
+
kind: anchor
|
|
5
|
+
tags: [deduction, mystery, logic, reasoning, verification, non-linear, knowledge]
|
|
6
|
+
summary: Deduction as the core loop — the game gives you evidence and *trusts your reasoning*, confirming answers only when you've triangulated a solvable set.
|
|
7
|
+
use-when: The intent is a logic/mystery game where the played verb is *inferring* facts from evidence, and the design must be provably solvable without guessing.
|
|
8
|
+
composes-with: [genre-exploration, system-onboarding, system-progression, pattern-readability, pattern-mastery-and-flow]
|
|
9
|
+
anchors: []
|
|
10
|
+
verify-with: docs/FUN.md#1-grid-puzzle-sokoban
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Return of the Obra Dinn
|
|
14
|
+
|
|
15
|
+
**What it is.** A mystery where the core verb is **deduction**. You walk frozen
|
|
16
|
+
death-scenes aboard a lost ship and must name every fate: *who* this is, *how* they
|
|
17
|
+
died, *by whose hand*. The game hands you evidence — faces, voices, clothing,
|
|
18
|
+
positions — and **trusts you to reason**. It never tells you an answer; it only
|
|
19
|
+
*confirms* a set of three correct fates at once, so you must **triangulate** until
|
|
20
|
+
your logic is certain.
|
|
21
|
+
|
|
22
|
+
**Player fantasy.** You are a detective the game *respects*. It refuses to
|
|
23
|
+
hand-hold — no hint arrows, no "you're close." The high is the deduction click:
|
|
24
|
+
cross-referencing a dozen scattered facts until a name that was a guess becomes a
|
|
25
|
+
*certainty you proved*. You didn't find the answer; you **reasoned** it.
|
|
26
|
+
|
|
27
|
+
## Design DNA
|
|
28
|
+
|
|
29
|
+
The engine is **deduction as the played move, over a provably solvable evidence
|
|
30
|
+
set**. Three parts. First, the verb is *inference*, not action: the player
|
|
31
|
+
assembles facts into conclusions ([[genre-exploration]]'s cousin — exploration of
|
|
32
|
+
an *idea-space*). Second, **the game trusts your reasoning**: it withholds
|
|
33
|
+
confirmation, so the reward is *your own certainty*, not a checkmark
|
|
34
|
+
([[pattern-mastery-and-flow]]). Third — critically — **the mystery must be
|
|
35
|
+
solvable by logic alone**: every fact is derivable from evidence without guessing,
|
|
36
|
+
which is a *solver proof* exactly like a puzzle's (FUN.md §1, [[genre-grid-puzzle]]).
|
|
37
|
+
The "confirm in batches of 3" mechanic is anti-brute-force: it rewards *deduction*
|
|
38
|
+
over *permutation*.
|
|
39
|
+
|
|
40
|
+
## Load-bearing structures
|
|
41
|
+
|
|
42
|
+
| Structure | Why it works |
|
|
43
|
+
|---|---|
|
|
44
|
+
| **Deduction as the verb** | The player *reasons*, doesn't act; the whole loop is turning evidence into conclusions. → [[genre-exploration]]. |
|
|
45
|
+
| **Provably-solvable evidence** | Every fact is derivable by logic — no guess required. This is a solver proof and is *non-negotiable*. → [[genre-grid-puzzle]], FUN.md §1. |
|
|
46
|
+
| **Withheld confirmation** | The game won't say "right" until you've earned certainty; the reward is your *own* conviction. → [[pattern-mastery-and-flow]]. |
|
|
47
|
+
| **Batch-of-3 gating** | Confirming fates in threes defeats brute-force permutation and forces genuine triangulation. → [[pattern-risk-reward]]. |
|
|
48
|
+
| **Non-linear evidence** | Facts can be gathered and cross-referenced in any order; the player builds their own inference chain. → [[pattern-emergence]]. |
|
|
49
|
+
| **Difficulty by inference depth** | Early fates need one clue, late ones need many chained deductions — a curve of *reasoning*, not reflex. → [[system-progression]]. |
|
|
50
|
+
| **The notebook as UI** | A ledger of hypotheses the player fills in — the deduction made *manipulable*. → [[pattern-readability]]. |
|
|
51
|
+
|
|
52
|
+
## What to steal
|
|
53
|
+
|
|
54
|
+
- **Make deduction the verb**: give the player evidence and let them *conclude*.
|
|
55
|
+
The played move is reasoning, and it's a genre almost nobody occupies. →
|
|
56
|
+
[[genre-exploration]].
|
|
57
|
+
- **Prove it's solvable by logic** before you ship a single mystery: every answer
|
|
58
|
+
must be derivable from evidence, no guessing. This is a solver proof — treat it
|
|
59
|
+
exactly like [[genre-grid-puzzle]] winnability (FUN.md §1).
|
|
60
|
+
- **Withhold confirmation** so the reward is the player's *own certainty*. Then
|
|
61
|
+
gate confirmation (batches, cost) to defeat brute force. → [[pattern-risk-reward]].
|
|
62
|
+
- **A notebook/ledger UI** that makes the player's reasoning *manipulable* — the
|
|
63
|
+
interface for the invisible verb. → [[pattern-readability]].
|
|
64
|
+
|
|
65
|
+
## What's just theme (drop it)
|
|
66
|
+
|
|
67
|
+
- The **1800s-shipwreck fiction** — deduction-over-evidence fits a crime scene, a
|
|
68
|
+
code audit, a genealogy, a haunted house, a spreadsheet of lies. →
|
|
69
|
+
[[world-theme-vectors]].
|
|
70
|
+
- The **1-bit dithered art** — a striking aesthetic pick ([[world-aesthetic-direction]]),
|
|
71
|
+
not part of the loop. Any legible style works.
|
|
72
|
+
- **The frozen-time death scenes** — one delivery mechanism for evidence;
|
|
73
|
+
documents, interviews, or logs deliver the same facts.
|
|
74
|
+
- **The specific 60 fates** — content. The transferable part is the *solvable
|
|
75
|
+
evidence graph* and the batch-confirm anti-guess mechanic.
|
|
76
|
+
|
|
77
|
+
## Composes into
|
|
78
|
+
|
|
79
|
+
- [[genre-exploration]] — the parent, but exploring an *idea-space* (evidence →
|
|
80
|
+
conclusions) rather than a physical world.
|
|
81
|
+
- [[genre-grid-puzzle]] — shares the *solvable-by-logic* proof obligation; a
|
|
82
|
+
deduction game is a puzzle whose state is the player's knowledge.
|
|
83
|
+
- [[system-onboarding]] — early easy fates teach the deduction loop by doing.
|
|
84
|
+
- [[system-progression]] — difficulty rises with required inference depth.
|
|
85
|
+
- [[pattern-mastery-and-flow]] — the deduction-click is the flow reward.
|
|
86
|
+
|
|
87
|
+
## Twist seams
|
|
88
|
+
|
|
89
|
+
- **Obra Dinn but knowledge-gated exploration** *(structure)* — evidence unlocks by
|
|
90
|
+
*understanding*, not by walking; deduction + Outer Wilds. Pairs with
|
|
91
|
+
[[anchor-outer-wilds]].
|
|
92
|
+
- **Obra Dinn but coop deduction** *(perspective)* — two detectives hold different
|
|
93
|
+
evidence and must *argue* to a shared conclusion; communication becomes the
|
|
94
|
+
mechanic. Pairs with [[genre-coop-chaos]].
|
|
95
|
+
- **Obra Dinn but procedurally generated cases** *(mechanic-swap)* — a solver
|
|
96
|
+
guarantees each generated mystery is logic-solvable, giving endless deduction.
|
|
97
|
+
Pairs with [[system-procgen-design]] and the winnability proof of [[genre-grid-puzzle]].
|
|
98
|
+
- **Obra Dinn but you can be *wrong* and it costs you** *(constraint / tonal)* —
|
|
99
|
+
confirmations are risky bets with consequences; deduction under stakes, not
|
|
100
|
+
free retries.
|
|
101
|
+
|
|
102
|
+
## See also
|
|
103
|
+
|
|
104
|
+
- [`docs/FUN.md#1-grid-puzzle-sokoban`](../../docs/FUN.md) — solver-provable
|
|
105
|
+
solutions; unwinnable = unshippable. A deduction game inherits this obligation:
|
|
106
|
+
prove every fate is derivable by logic.
|
|
107
|
+
- [[genre-exploration]] · [[anchor-outer-wilds]] (the knowledge-progression
|
|
108
|
+
sibling) · [[genre-grid-puzzle]].
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: anchor-rimworld
|
|
3
|
+
title: RimWorld
|
|
4
|
+
kind: anchor
|
|
5
|
+
tags: [colony-sim, story-generator, ai-director, emergent, drama, pacing, simulation]
|
|
6
|
+
summary: A colony sim built as a story generator — an AI director paces crises against your state so the *narrative*, not a win screen, is the product.
|
|
7
|
+
use-when: The design wants players to leave with stories, not scores; you need a director that authors drama over a deep sim.
|
|
8
|
+
composes-with: [genre-city-builder, system-emergent-systems, system-difficulty-and-dda, system-enemy-ai, system-resource-loops]
|
|
9
|
+
anchors: []
|
|
10
|
+
verify-with: docs/FUN.md#17-citycolony-builder
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# RimWorld
|
|
14
|
+
|
|
15
|
+
**What it is.** A colony sim whose real product is **stories**. You keep a handful
|
|
16
|
+
of flawed characters alive on a hostile map, but the game's genius is the **AI
|
|
17
|
+
storyteller** — a director that watches your state and *paces* raids, disasters,
|
|
18
|
+
and lulls to build tension and release like a screenwriter, not a random-event
|
|
19
|
+
table. You don't win RimWorld; you *tell someone about* your RimWorld.
|
|
20
|
+
|
|
21
|
+
**Player fantasy.** The anecdote you can't wait to share: the pyromaniac who
|
|
22
|
+
saved the colony, the winter you ate your own dead. The pull is that every crisis
|
|
23
|
+
lands on *characters you know*, and the director times them so the disaster
|
|
24
|
+
arrives exactly when it'll hurt — and mean — the most.
|
|
25
|
+
|
|
26
|
+
## Design DNA
|
|
27
|
+
|
|
28
|
+
Fun here is **emergent narrative** — story as the output of interacting systems,
|
|
29
|
+
not authored scenes. Two engines make it work. First, a deep, legible **sim of
|
|
30
|
+
needs and traits** (mood, injuries, relationships, resources) so consequences
|
|
31
|
+
*chain* into stories. Second, an **AI director** ([[system-emergent-systems]],
|
|
32
|
+
[[system-difficulty-and-dda]]) that reads your current state and schedules events
|
|
33
|
+
for *dramatic* effect — hit you when you're strong, breathe when you're
|
|
34
|
+
reeling — turning a difficulty curve into a plot. The characters are the stakes;
|
|
35
|
+
the director is the author; the sim is the ink.
|
|
36
|
+
|
|
37
|
+
## Load-bearing structures
|
|
38
|
+
|
|
39
|
+
| Structure | Why it works |
|
|
40
|
+
|---|---|
|
|
41
|
+
| **AI storyteller / director** | Paces events against live state (wealth, health, morale) for tension→release, not flat randomness. The heart. → [[system-difficulty-and-dda]]. |
|
|
42
|
+
| **Characters with traits & relationships** | Named pawns with quirks and bonds make every consequence *personal* — the stakes that turn events into stories. → [[system-emergent-systems]]. |
|
|
43
|
+
| **Deep need/mood sim** | Hunger, sleep, mood, breaks; needs interact and cascade (a bad meal → a tantrum → a fire). Consequence chains = plot. |
|
|
44
|
+
| **Interacting subsystems** | Medicine, temperature, food, defence, social — each affects the others; second-order events emerge nobody scripted. → [[pattern-emergence]]. |
|
|
45
|
+
| **No win state** | Open-ended survival; the "goal" is the story you generate, which removes the "solved, done" cliff. → [[system-session-structure]]. |
|
|
46
|
+
| **Legible cause-and-effect** | You can always trace *why* it went wrong — the story is coherent, so it's tellable. → [[pattern-readability]]. |
|
|
47
|
+
|
|
48
|
+
## What to steal
|
|
49
|
+
|
|
50
|
+
- The **director-as-author**: schedule events against player state for dramatic
|
|
51
|
+
shape (strike when strong, relent when reeling), not uniform randomness. This is
|
|
52
|
+
the single most stealable idea here. → [[system-difficulty-and-dda]].
|
|
53
|
+
- **Named, flawed characters** as the stakes: a trait/relationship layer turns
|
|
54
|
+
"a unit died" into "*Grigori* died." Personalisation is what makes emergence
|
|
55
|
+
*tellable*. → [[system-emergent-systems]].
|
|
56
|
+
- **Consequence chains**: design needs/systems that *cascade*, so one bad event
|
|
57
|
+
spawns three — the raw material of story.
|
|
58
|
+
- **Traceable failure**: keep cause-and-effect legible (FUN.md §17: the exposed
|
|
59
|
+
score) so the player can narrate what happened.
|
|
60
|
+
|
|
61
|
+
## What's just theme (drop it)
|
|
62
|
+
|
|
63
|
+
- The **sci-fi frontier** setting — the loop is a survival colony of *anything*
|
|
64
|
+
(a ship, a village, an office, a hive). Theme is a [[world-theme-vectors]] pick.
|
|
65
|
+
- **The specific event menagerie** (raids, blights, solar flares) — those are
|
|
66
|
+
content slotted into the director; the *director* is the transferable part.
|
|
67
|
+
- **Top-down colony-management UI** — one presentation of "watch a system, nudge
|
|
68
|
+
it." A card game or a text log could host the same director.
|
|
69
|
+
- **Real-time-with-pause** — the sim can be turn/tick-based; timing is sim time
|
|
70
|
+
(FUN.md law 6), and pausing to think is a [[system-save-and-checkpoint]] concern.
|
|
71
|
+
|
|
72
|
+
## Composes into
|
|
73
|
+
|
|
74
|
+
- [[genre-city-builder]] — the parent colony/management genre (the exposed score,
|
|
75
|
+
negative synergies).
|
|
76
|
+
- [[system-emergent-systems]] — RimWorld is the canonical *story-generator* case:
|
|
77
|
+
memory, relationships, and reputation producing systemic narrative.
|
|
78
|
+
- [[system-difficulty-and-dda]] — the storyteller is dynamic difficulty *as
|
|
79
|
+
drama*, not just as a fairness knob.
|
|
80
|
+
- [[system-enemy-ai]] — raiders/threats the director deploys.
|
|
81
|
+
- [[pattern-emergence]] — interacting subsystems as the source of unscripted story.
|
|
82
|
+
|
|
83
|
+
## Twist seams
|
|
84
|
+
|
|
85
|
+
- **RimWorld but one character** *(perspective / constraint)* — no colony; the
|
|
86
|
+
director paces a single life's crises. The story-generator shrinks to a memoir.
|
|
87
|
+
- **RimWorld but the director is visible and adversarial** *(mechanic-swap)* — the
|
|
88
|
+
storyteller is a named opponent you can bargain with or sabotage; drama becomes
|
|
89
|
+
a duel. Pairs with [[genre-narrative-decisions]].
|
|
90
|
+
- **RimWorld but cozy** *(tonal)* — strip lethality; the director paces *heart-warming*
|
|
91
|
+
beats (a wedding, a harvest, a reunion) instead of raids. Pairs with
|
|
92
|
+
[[anchor-stardew-valley]].
|
|
93
|
+
- **RimWorld but swipe-to-decide** *(structure)* — collapse the sim into
|
|
94
|
+
card-choices the director deals from colony state. Pairs with [[anchor-reigns]].
|
|
95
|
+
|
|
96
|
+
## See also
|
|
97
|
+
|
|
98
|
+
- [`docs/FUN.md#17-citycolony-builder`](../../docs/FUN.md) — the exposed score;
|
|
99
|
+
negative synergies create the only real decisions; scoring-honesty audit.
|
|
100
|
+
- [[system-emergent-systems]] · [[system-difficulty-and-dda]] ·
|
|
101
|
+
[[anchor-shadow-of-mordor]] (the other systemic-memory anchor).
|