Mechanics Design — Systems & Interactions
Define, document, and validate the systems that make up how your game actually plays — from individual mechanics to emergent system interactions.
Inputs
- Game concept or GDD (use
/game-concept or /game-design-document first)
- Core design pillars
- Target feel (fast/slow, simple/complex, deterministic/random)
Step 1: Mechanic Inventory
List every mechanic the game will have. Categorize by type:
| Category |
Examples |
| Locomotion |
Walk, run, jump, dash, climb, swim, fly, teleport |
| Combat |
Attack, block, dodge, parry, aim, reload, cast |
| Interaction |
Pick up, use, talk, examine, activate, hack |
| Resource |
Gather, craft, trade, consume, equip, upgrade |
| Social |
Recruit, command, negotiate, betray, gift |
| Meta |
Save, load, pause, map, inventory, settings |
Mechanic Definition Template
For each core mechanic, define:
## Mechanic: [Name]
**Input:** [What the player does — button, gesture, decision]
**Process:** [What the system calculates]
**Output:** [What changes in the game state]
**Feedback:** [What the player sees/hears/feels]
**Depth:** [How mastery changes the experience]
Example — Dodge Roll:
Input: Press B + direction
Process: i-frames(0.3s), velocity(8m/s, 0.4s), stamina(-15)
Output: Player repositioned, temporarily invulnerable
Feedback: Whoosh SFX, blur trail VFX, camera slight shake
Depth: Frame-perfect dodge → counter window opens
Step 2: System Architecture
Map how systems connect:
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ COMBAT │────→│ HEALTH/DMG │────→│ DEATH/ │
│ SYSTEM │ │ SYSTEM │ │ RESPAWN │
└──────┬──────┘ └──────┬───────┘ └─────────────┘
│ │
│ ┌──────┴───────┐
│ │ EQUIPMENT │
│ │ SYSTEM │
│ └──────┬───────┘
│ │
┌──────┴──────┐ ┌──────┴───────┐
│ ABILITY │────→│ RESOURCE │
│ SYSTEM │ │ SYSTEM │
└─────────────┘ └──────────────┘
System Interaction Matrix
| System A × System B |
Combat |
Inventory |
Movement |
Progression |
| Combat |
— |
Weapon affects damage |
Position affects range |
XP gain |
| Inventory |
Consumables in fight |
— |
Weight affects speed |
Unlock tiers |
| Movement |
Dodge mechanics |
Drop on death |
— |
New traversal |
| Progression |
New abilities |
Capacity increase |
Speed upgrades |
— |
Step 3: Core Loop Engineering
Loop Layers
MICRO LOOP (seconds):
See threat → Choose action → Execute → Read feedback → Adapt
Frequency: Every 1-5 seconds
Emotion: Tension, flow, reflex
MESO LOOP (minutes):
Enter area → Explore/fight → Find resources → Upgrade → Move on
Frequency: Every 5-15 minutes
Emotion: Curiosity, accomplishment, decision-making
MACRO LOOP (session):
Set goal → Attempt run/quest → Succeed or fail → Unlock progress → New goal
Frequency: Every 30-90 minutes
Emotion: Satisfaction, anticipation, mastery
META LOOP (long-term):
Complete chapter → Unlock new region/mode → Master systems → Endgame
Frequency: Over hours/days/weeks
Emotion: Investment, identity, completionism
Feedback Loop Types
| Type |
Effect |
Example |
Watch For |
| Positive |
Success breeds more success |
Kill enemy → get XP → level up → kill faster |
Runaway power / trivial late game |
| Negative |
Failure creates correction |
Low HP → screen red → play cautious → survive |
Death spirals / frustration |
| Balancing |
System self-regulates |
Rubber-banding in racing |
Feels unfair if visible |
| Reinforcing |
Commitment deepens |
Invest in build → more effective → invest more |
Trap players in bad builds |
Step 4: Numeric Foundation
Core Formulas
Damage = (BaseDamage × WeaponMultiplier × SkillBonus) - (TargetArmor × ArmorEfficiency)
Time-to-Kill = TargetHP / (DPS - EffectiveArmor)
Resource Generation Rate:
Early game: 10 units/min
Mid game: 25 units/min (with upgrades)
Late game: 60 units/min (with automation)
Difficulty Scaling:
EnemyHP = BaseHP × (1 + (0.15 × ZoneLevel))
EnemyDmg = BaseDmg × (1 + (0.10 × ZoneLevel))
Economy Sink/Source Balance
SOURCES (currency in) SINKS (currency out)
───────────────────── ────────────────────
Quest rewards: 40% Equipment: 35%
Enemy drops: 30% Consumables: 25%
Selling items: 20% Upgrades: 20%
Exploration: 10% Services/fast-travel: 15%
Cosmetics: 5%
Step 5: State Machines
Define key entity states:
PLAYER STATES:
Idle ──[input]──→ Moving
Moving ──[attack]──→ Attacking
Attacking ──[hit]──→ Stagger (0.2s) ──→ Idle
Any ──[damage while HP>0]──→ Hurt (0.5s) ──→ Previous
Any ──[HP≤0]──→ Dead ──[respawn]──→ Idle
ENEMY AI STATES:
Patrol ──[detect player]──→ Alert
Alert ──[in range]──→ Engage
Engage ──[HP < 30%]──→ Flee | Berserk
Engage ──[player out of range]──→ Search (10s) ──→ Patrol
Step 6: Mechanic Validation Checklist
Output
Save to artifacts/game-design/[project-name]-mechanics.md
Guidelines
- Mechanics are verbs — if you can't describe it as a player action, it's a system, not a mechanic
- Elegance over complexity — Chess has 6 piece types; Go has 1
- Design for the 80% case first, then handle edge cases
- Every number should be a variable in a config file, not a magic constant
- If two systems don't interact, question whether you need both
- Prototype the riskiest mechanic first — use
/game-prototyping
- See
/game-balancing for tuning numeric values after implementation
1---2name: mechanics-design3description: Design and document core game mechanics, systems interactions, feedback loops, and emergent behavior. Use when defining how the game plays at a systems level. Also trigger for "game mechanics", "gameplay systems", "game loop", "game rules", "combat system", "crafting system", or "progression system".4---56# Mechanics Design — Systems & Interactions78Define, document, and validate the systems that make up how your game actually plays — from individual mechanics to emergent system interactions.910## Inputs1112- Game concept or GDD (use `/game-concept` or `/game-design-document` first)13- Core design pillars14- Target feel (fast/slow, simple/complex, deterministic/random)1516## Step 1: Mechanic Inventory1718List every mechanic the game will have. Categorize by type:1920| Category | Examples |21|----------|---------|22| **Locomotion** | Walk, run, jump, dash, climb, swim, fly, teleport |23| **Combat** | Attack, block, dodge, parry, aim, reload, cast |24| **Interaction** | Pick up, use, talk, examine, activate, hack |25| **Resource** | Gather, craft, trade, consume, equip, upgrade |26| **Social** | Recruit, command, negotiate, betray, gift |27| **Meta** | Save, load, pause, map, inventory, settings |2829### Mechanic Definition Template3031For each core mechanic, define:3233```markdown34## Mechanic: [Name]3536**Input:** [What the player does — button, gesture, decision]37**Process:** [What the system calculates]38**Output:** [What changes in the game state]39**Feedback:** [What the player sees/hears/feels]40**Depth:** [How mastery changes the experience]4142Example — Dodge Roll:43 Input: Press B + direction44 Process: i-frames(0.3s), velocity(8m/s, 0.4s), stamina(-15)45 Output: Player repositioned, temporarily invulnerable46 Feedback: Whoosh SFX, blur trail VFX, camera slight shake47 Depth: Frame-perfect dodge → counter window opens48```4950## Step 2: System Architecture5152Map how systems connect:5354```55┌─────────────┐ ┌──────────────┐ ┌─────────────┐56│ COMBAT │────→│ HEALTH/DMG │────→│ DEATH/ │57│ SYSTEM │ │ SYSTEM │ │ RESPAWN │58└──────┬──────┘ └──────┬───────┘ └─────────────┘59 │ │60 │ ┌──────┴───────┐61 │ │ EQUIPMENT │62 │ │ SYSTEM │63 │ └──────┬───────┘64 │ │65┌──────┴──────┐ ┌──────┴───────┐66│ ABILITY │────→│ RESOURCE │67│ SYSTEM │ │ SYSTEM │68└─────────────┘ └──────────────┘69```7071### System Interaction Matrix7273| System A × System B | Combat | Inventory | Movement | Progression |74|---------------------|--------|-----------|----------|-------------|75| **Combat** | — | Weapon affects damage | Position affects range | XP gain |76| **Inventory** | Consumables in fight | — | Weight affects speed | Unlock tiers |77| **Movement** | Dodge mechanics | Drop on death | — | New traversal |78| **Progression** | New abilities | Capacity increase | Speed upgrades | — |7980## Step 3: Core Loop Engineering8182### Loop Layers8384```85MICRO LOOP (seconds):86 See threat → Choose action → Execute → Read feedback → Adapt87 Frequency: Every 1-5 seconds88 Emotion: Tension, flow, reflex8990MESO LOOP (minutes):91 Enter area → Explore/fight → Find resources → Upgrade → Move on92 Frequency: Every 5-15 minutes93 Emotion: Curiosity, accomplishment, decision-making9495MACRO LOOP (session):96 Set goal → Attempt run/quest → Succeed or fail → Unlock progress → New goal97 Frequency: Every 30-90 minutes98 Emotion: Satisfaction, anticipation, mastery99100META LOOP (long-term):101 Complete chapter → Unlock new region/mode → Master systems → Endgame102 Frequency: Over hours/days/weeks103 Emotion: Investment, identity, completionism104```105106### Feedback Loop Types107108| Type | Effect | Example | Watch For |109|------|--------|---------|-----------|110| **Positive** | Success breeds more success | Kill enemy → get XP → level up → kill faster | Runaway power / trivial late game |111| **Negative** | Failure creates correction | Low HP → screen red → play cautious → survive | Death spirals / frustration |112| **Balancing** | System self-regulates | Rubber-banding in racing | Feels unfair if visible |113| **Reinforcing** | Commitment deepens | Invest in build → more effective → invest more | Trap players in bad builds |114115## Step 4: Numeric Foundation116117### Core Formulas118119```120Damage = (BaseDamage × WeaponMultiplier × SkillBonus) - (TargetArmor × ArmorEfficiency)121122Time-to-Kill = TargetHP / (DPS - EffectiveArmor)123124Resource Generation Rate:125 Early game: 10 units/min126 Mid game: 25 units/min (with upgrades)127 Late game: 60 units/min (with automation)128129Difficulty Scaling:130 EnemyHP = BaseHP × (1 + (0.15 × ZoneLevel))131 EnemyDmg = BaseDmg × (1 + (0.10 × ZoneLevel))132```133134### Economy Sink/Source Balance135136```137SOURCES (currency in) SINKS (currency out)138───────────────────── ────────────────────139Quest rewards: 40% Equipment: 35%140Enemy drops: 30% Consumables: 25%141Selling items: 20% Upgrades: 20%142Exploration: 10% Services/fast-travel: 15%143 Cosmetics: 5%144```145146## Step 5: State Machines147148Define key entity states:149150```151PLAYER STATES:152 Idle ──[input]──→ Moving153 Moving ──[attack]──→ Attacking154 Attacking ──[hit]──→ Stagger (0.2s) ──→ Idle155 Any ──[damage while HP>0]──→ Hurt (0.5s) ──→ Previous156 Any ──[HP≤0]──→ Dead ──[respawn]──→ Idle157158ENEMY AI STATES:159 Patrol ──[detect player]──→ Alert160 Alert ──[in range]──→ Engage161 Engage ──[HP < 30%]──→ Flee | Berserk162 Engage ──[player out of range]──→ Search (10s) ──→ Patrol163```164165## Step 6: Mechanic Validation Checklist166167- [ ] **Readable:** Player can predict outcome before acting168- [ ] **Responsive:** Input-to-feedback under 100ms169- [ ] **Meaningful:** Every mechanic supports a design pillar170- [ ] **Layered:** Simple to learn, complex to master171- [ ] **Interconnected:** Mechanics combine for emergent play172- [ ] **Bounded:** Clear limits prevent exploits and confusion173- [ ] **Tunable:** Key values are exposed as data, not hardcoded174- [ ] **Testable:** Can be validated in isolation and in combination175176## Output177178Save to `artifacts/game-design/[project-name]-mechanics.md`179180## Guidelines181182- **Mechanics are verbs** — if you can't describe it as a player action, it's a system, not a mechanic183- **Elegance over complexity** — Chess has 6 piece types; Go has 1184- Design for the **80% case** first, then handle edge cases185- Every number should be a variable in a config file, not a magic constant186- If two systems don't interact, question whether you need both187- Prototype the riskiest mechanic first — use `/game-prototyping`188- See `/game-balancing` for tuning numeric values after implementation