---
id: systemic-worlds
status: active
supersededBy: []
lang: en
title: 'Systemic worlds, randomness and NPC behavior'
description: >-
  A systemic world applies shared rules to multiple objects so players can
  predict new combinations from known interactions.
intro: >-
  A systemic world applies shared rules to multiple objects so players can
  predict new combinations from known interactions. Each overview separates
  player actions, state changes and alternative rules. Examples are hypothetical
  design scenarios, not claims about a named game. A prototype check states an
  observable question for the next iteration. Existing detailed references
  remain separately linked from the direction map.
updatedAt: '2026-10-21'
sources:
  - title: 'Robert Nystrom: State'
    url: >-
      https://github.com/munificent/game-programming-patterns/blob/master/book/state.markdown
    description: >-
      The author’s original discussion of states and transitions; rule
      implementation context, not evidence for every editorial variant.
counts:
  families: 6
  branches: 6
  variants: 24
url: 'https://gamemechanics.pro/en/mechanics/systemic-worlds/'
markdownUrl: 'https://gamemechanics.pro/content/mechanics/en/systemic-worlds.md'
license: CC-BY-4.0
codeLicense: MIT
attribution: gamemechanics.pro contributors
provenance: >-
  Original bilingual editorial overviews authored for gamemechanics.pro on
  2026-10-20 and reviewed on 2026-10-21. Scenarios are hypothetical design
  examples; prototype checks describe work to perform, not completed playtests.
  Primary sources support the stated techniques and implementation context, not
  every proposed variant.
---
# Systemic worlds, randomness and NPC behavior

A systemic world applies shared rules to multiple objects so players can predict new combinations from known interactions. Each overview separates player actions, state changes and alternative rules. Examples are hypothetical design scenarios, not claims about a named game. A prototype check states an observable question for the next iteration. Existing detailed references remain separately linked from the direction map.

## Mechanics and variants

<a id="mechanics"></a>

### 1. Systemic interactions and immersive sims

<a id="t260"></a>
id: t260
canonicalId: systemic-worlds--t260
url: https://gamemechanics.pro/en/mechanics/systemic-worlds/#t260

Shared object properties produce several solutions, allowing players to transfer known rules into unanticipated combinations.

#### Mechanic variants

<a id="t260-variants"></a>
- Materials determine responses to effects. <a id="t260-v1"></a>
- Environments carry effects between objects. <a id="t260-v2"></a>
- Tools work beyond a scripted target. <a id="t260-v3"></a>
- Consequences persist after the player leaves. <a id="t260-v4"></a>

Design example: A metal crate becomes a conductor, pressure-plate weight or movable cover under shared rules.

Prototype check: Test one property across object classes so visually identical rules do not hide inconsistent exceptions.

- [Robert Nystrom: State](https://github.com/munificent/game-programming-patterns/blob/master/book/state.markdown)

### 2. Physical materials, deformation and destruction

<a id="t262"></a>
id: t262
canonicalId: systemic-worlds--t262
url: https://gamemechanics.pro/en/mechanics/systemic-worlds/#t262

Materials determine responses to force and damage; deformation and destruction create a new interaction structure.

#### Mechanic variants

<a id="t262-variants"></a>
- Elasticity restores shape after a load. <a id="t262-v1"></a>
- Plasticity preserves a dent after contact. <a id="t262-v2"></a>
- Brittleness splits objects above a threshold. <a id="t262-v3"></a>
- Fragments inherit selected original properties. <a id="t262-v4"></a>

Design example: A thin panel bends open while a glass divider breaks into separate obstacles.

Prototype check: Test traversal and fragment interactions after saving and loading a destroyed scene.

- [Robert Nystrom: State](https://github.com/munificent/game-programming-patterns/blob/master/book/state.markdown)

### 3. Ecology, food chains and environmental recovery

<a id="t263"></a>
id: t263
canonicalId: systemic-worlds--t263
url: https://gamemechanics.pro/en/mechanics/systemic-worlds/#t263

An ecosystem connects food availability, population sizes and environmental conditions, allowing interventions to propagate.

#### Mechanic variants

<a id="t263-variants"></a>
- Predators limit prey populations. <a id="t263-v1"></a>
- Plants recover under suitable conditions. <a id="t263-v2"></a>
- Pollution changes a site's suitability for a species. <a id="t263-v3"></a>
- Recovery starts by removing the damage source. <a id="t263-v4"></a>

Design example: Cleaning a stream brings back insects, then fish and finally birds that feed on them.

Prototype check: Test long unattended simulation and explain simplifications rather than claiming real ecological accuracy.

- [Robert Nystrom: State](https://github.com/munificent/game-programming-patterns/blob/master/book/state.markdown)

### 4. Character routines, needs and memory

<a id="t265"></a>
id: t265
canonicalId: systemic-worlds--t265
url: https://gamemechanics.pro/en/mechanics/systemic-worlds/#t265

Routines connect needs, available places and event memory to produce understandable daily character routes.

#### Mechanic variants

<a id="t265-variants"></a>
- Schedules set expected places at specified times. <a id="t265-v1"></a>
- Needs interrupt plans for recovery. <a id="t265-v2"></a>
- Memory changes attitudes toward familiar places. <a id="t265-v3"></a>
- Unavailable destinations trigger fallback behavior. <a id="t265-v4"></a>

Design example: A craftsperson goes for lunch but chooses a cheaper canteen after a wallet theft.

Prototype check: Test closed workplaces and missed appointments so NPCs do not endlessly attempt unavailable actions.

- [Robert Nystrom: State](https://github.com/munificent/game-programming-patterns/blob/master/book/state.markdown)

### 5. Creature training and taming

<a id="t266"></a>
id: t266
canonicalId: systemic-worlds--t266
url: https://gamemechanics.pro/en/mechanics/systemic-worlds/#t266

Creature training connects signals, actions and consequences to establish a clear, limited command vocabulary over time.

#### Mechanic variants

<a id="t266-variants"></a>
- Reinforcement increases a selected response's likelihood. <a id="t266-v1"></a>
- Context limits transfer of learned commands. <a id="t266-v2"></a>
- Trust unlocks more complex joint actions. <a id="t266-v3"></a>
- Rest prevents endless uninterrupted practice. <a id="t266-v4"></a>

Design example: A creature learns to retrieve a marked object and later attempts it among distractors in another room.

Prototype check: Test reward attribution to an action and distinguish refusal, misunderstood commands and fatigue.

- [Robert Nystrom: State](https://github.com/munificent/game-programming-patterns/blob/master/book/state.markdown)

### 6. Simulated societies, populations and autonomous communities

<a id="t269"></a>
id: t269
canonicalId: systemic-worlds--t269
url: https://gamemechanics.pro/en/mechanics/systemic-worlds/#t269

An autonomous community distributes roles and resources without direct commands to each member, producing observable collective outcomes.

#### Mechanic variants

<a id="t269-variants"></a>
- Job-choice rules change employment structure. <a id="t269-v1"></a>
- Migration responds to differences in living conditions. <a id="t269-v2"></a>
- Social links transmit information among members. <a id="t269-v3"></a>
- Collective decisions aggregate different preferences. <a id="t269-v4"></a>

Design example: A mine attracts workers, raises housing demand and changes the availability of craftspeople.

Prototype check: Trace aggregate statistics to agent actions and avoid presenting a simplified simulation as a social forecast.

- [Robert Nystrom: State](https://github.com/munificent/game-programming-patterns/blob/master/book/state.markdown)

## Sources and examples

Sources support particular techniques or methodology, not every family variant. Design examples and mechanic combinations are illustrative.

- [Robert Nystrom: State](https://github.com/munificent/game-programming-patterns/blob/master/book/state.markdown): The author’s original discussion of states and transitions; rule implementation context, not evidence for every editorial variant.
