From dm-game
System interaction architecture, emergence analysis, coupling evaluation, and possibility space design. Use when designing a new game's system architecture, adding a system to an existing game, evaluating system health, diagnosing 'why doesn't this feel deep?', or when a game has many features but no emergent depth. The central structural skill — bridges individual mechanic evaluation (game-design) with architectural questions about how systems interact to create depth.
npx claudepluginhub rbergman/dark-matter-marketplace --plugin dm-gameThis skill uses the workspace's default tool permissions.
**Purpose:** Tools for designing, evaluating, and diagnosing the structural architecture of game systems — how they interact, what they produce together, and why depth comes from interaction rather than accumulation.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides MCP server integration in Claude Code plugins via .mcp.json or plugin.json configs for stdio, SSE, HTTP types, enabling external services as tools.
Purpose: Tools for designing, evaluating, and diagnosing the structural architecture of game systems — how they interact, what they produce together, and why depth comes from interaction rather than accumulation.
Core philosophy: Games are not built from features. They are built from interacting systems. Depth comes from how systems interact, not how complex they are alone. A game with four tightly interacting systems is deeper than a game with twelve isolated ones.
Use this skill when:
The interaction matrix is the primary diagnostic tool. It maps every game system against every other system and classifies the interaction.
| Type | Symbol | Definition | Example |
|---|---|---|---|
| Feeds | → | A generates input for B | Combat → Loot (kills produce drops) |
| Constrains | ⊣ | A limits B's option space | Stamina ⊣ Combat (fatigue restricts combos) |
| Enables | ⊕ | A creates conditions for B to function | Exploration ⊕ Crafting (discovery unlocks recipes) |
| Conflicts | ⊗ | A and B compete for the same resource or player attention | Building ⊗ Combat (same time budget) |
| Emergent | ✦ | Interaction produces behaviors neither system creates alone | Stealth ✦ AI (guards create patrol puzzles) |
| Independent | · | No meaningful interaction | Weather · Inventory |
Build this matrix early. Update it as systems evolve.
| Combat | Craft | Explore | Stealth | Economy |
-------------|--------|-------|---------|---------|---------|
Combat | — | | | | |
Craft | | — | | | |
Explore | | | — | | |
Stealth | | | | — | |
Economy | | | | | — |
| Combat | Craft | Explore | Stealth | Economy |
-------------|--------|--------|---------|---------|---------|
Combat | — | →Feed | ⊗Attn | ✦Emrg | →Feed |
Craft | ⊕Enabl | — | ⊕Enabl | ⊕Enabl | ⊣Constr |
Explore | →Feed | →Feed | — | ⊕Enabl | →Feed |
Stealth | ✦Emrg | ·Indep | →Feed | — | ·Indep |
Economy | ⊣Constr| →Feed | ⊕Enabl | ·Indep | — |
Reading the matrix:
· (Independent): Vestigial system. Cut it or connect it.✦ (Emergent) cells: Strong sign of depth. Protect these interactions.⊣ (Constrains) cells: Systems may lack tension. Players can engage everything without trade-offs.⊗ (Conflicts) cells: Players may feel pulled in too many directions. Reduce competing demands.Not every game needs every possible system. Start from intent, not from a feature list.
Before adding any system, it must pass all three gates:
| Gate | Question | If "No" |
|---|---|---|
| Pillar | Does this system serve an experience pillar? | Cut it — no pillar means no purpose |
| Decision | Does it create meaningful player decisions? | Redesign it — systems without decisions are content, not systems |
| Interaction | Does it interact with at least 2 other systems? | Defer it — isolated systems add complexity without depth |
A system that fails any gate is a candidate for cutting or deferral, not implementation.
How tightly systems depend on each other determines the architecture's flexibility and depth.
| Level | Description | Example | Properties |
|---|---|---|---|
| Tight | Systems are inseparable; changing one requires changing the other | Combat ↔ Health | High cohesion, brittle if poorly designed, essential for core loop |
| Loose | Systems enrich each other but function independently | Trading ↔ Exploration | Flexible, composable, good for supporting systems |
| None | No interaction whatsoever | Weather ↔ Inventory (if weather has no gameplay effect) | Waste — the system exists but contributes nothing to the whole |
Emergence is when interacting systems produce behaviors that no individual system was designed to create. It is the source of depth, replayability, and "I can't believe that worked" moments.
| Category | Description | Response |
|---|---|---|
| Beneficial | Player creativity, unexpected strategies, emergent narratives | Protect. Do not patch out. Highlight in tutorials or community. |
| Neutral | Surprising but harmless behaviors | Monitor. May become beneficial or degenerate over time. |
| Degenerate | Exploits, content trivialization, infinite loops, economy breaks | Fix. But understand the root interaction before patching — a naive fix often creates new degenerate emergence. |
You cannot predict all emergent behaviors. The combinatorial space of system interactions grows factorially. But you can be systematic about the ones you check:
Step 1: Two-system interactions. For each pair of systems, ask: "What happens when a player uses A and B together in ways I didn't explicitly design?" Trace the most obvious combinations.
Step 2: Three-system chains. For each triple, trace: "If A feeds B and B enables C, what does A indirectly produce in C?" Three-system chains are where most non-obvious emergence lives.
Step 3: Accept the unknown. Beyond three systems, the combinatorial explosion means you will encounter emergence in playtesting that you did not predict. This is not a failure — it is the nature of systems.
Since you can't predict everything, design systems that handle unexpected interactions gracefully:
The possibility space is the combinatorial space of all meaningful player choices across all systems.
A large possibility space creates replayability and unique sessions. But size alone is not enough — the space must be meaningfully large.
| Property | Meaningfully Large | Merely Combinatorial |
|---|---|---|
| Player experience | Different choices produce qualitatively different play sessions | Different choices produce different numbers but the same experience |
| Strategy diversity | Multiple viable approaches coexist | One approach dominates regardless of choices |
| Replayability | "I want to try a different build" | "I already know what happens" |
| Observation | Watching two players reveals different styles | Watching two players reveals the same patterns with different stats |
The clearest signal that your possibility space is working: predictable player archetypes emerge from behavioral diversity.
When systems interact well, players self-sort into recognizable play styles (builder, fighter, explorer, optimizer) — but within each archetype, individual sessions differ. This is a measurable quality signal:
The fastest way to expand meaningful possibility space is not to add more systems — it is to deepen interactions between existing ones. Each new interaction between existing systems multiplies the possibility space. Each new isolated system only adds to it.
Some design tensions are fundamental. They cannot be resolved through clever implementation — they require a choice at the vision level and acceptance of the trade-off cost.
| Tension | Side A | Side B | Why It's Cursed |
|---|---|---|---|
| Physics vs. Controls | Realistic physics simulation | Responsive, predictable player controls | Realistic physics introduces latency and unpredictability that undermines player agency |
| Exploration vs. Narrative | Open-ended exploration | Tight narrative pacing | Free exploration breaks pacing; tight pacing restricts exploration |
| Customization vs. Balance | Deep player customization | Competitive balance | More build options = more edge cases = more balance failures |
| Complexity vs. Accessibility | Deep interacting systems | Low barrier to entry | Every system a new player must learn is a potential quit point |
| Emergence vs. Authorship | Emergent systemic outcomes | Hand-crafted narrative moments | Emergence disrupts scripted events; scripted events constrain emergence |
| Persistence vs. Freshness | Permanent player progress | Sessions that feel new and challenging | Accumulated power trivializes content that was once meaningful |
Cursed problems resolved at the vision level stay resolved. Cursed problems deferred to implementation resurface as bugs, "feels wrong" feedback, and scope creep.
How to measure whether the system architecture is producing depth.
| Metric | What to Measure | Healthy Signal |
|---|---|---|
| Behavioral diversity | Session-to-session variance in player actions | Different players (and same player across sessions) take meaningfully different paths |
| Archetype formation | Cluster analysis on player behavior data | 3-6 distinct play style clusters emerge naturally |
| System utilization | % of systems each player engages with per session | >70% of systems see meaningful engagement (not just incidental contact) |
| Depth gradient | Qualitative difference between novice and expert play | Expert play looks qualitatively different, not just faster or more efficient |
| Metric | Source | Healthy Signal |
|---|---|---|
| Session uniqueness | Playtest reports, community discussion | Players report "I didn't know that was possible" or "something unexpected happened" |
| Strategy sharing | Community forums, social media | Players share different approaches that all work |
| Vestigial detection | Playtest observation | No system is consistently ignored by players |
| Combo discovery | Playtest observation, analytics | Players find system combinations you didn't explicitly design |
What to build first when you can't build everything.
Core loop systems first, always. Nothing else matters if the 10-second loop isn't working. Every prototype session should exercise the core loop.
Progression is the most critical system for retention. A game with excellent core mechanics and no progression loses players. Progression converts "fun for 20 minutes" into "fun for 20 hours." Build it second.
Economy and AI behavior are foundational. Most other systems are downstream of resource flow and entity behavior. Get these right early — retrofitting them is expensive.
Social systems are force multipliers. In multiplayer or community-facing games, social systems (trading, cooperation, competition, communication) amplify every other system. But they require all other systems to function first.
Team size determines system count. The number of systems you can build to equal depth is proportional to your team. Solo and small teams must ruthlessly cut systems until every remaining system is excellent. A game with three polished, interacting systems is better than a game with eight half-built ones.
When told "the game has lots of features but doesn't feel deep," run this diagnostic in order:
Build or review the interaction matrix. Count the · (Independent) cells.
→ (Feeds) only: The architecture is linear (pipeline), not interconnected. Look for opportunities to add feedback loops, constraints, and emergent interactions.Are system interactions producing meaningfully different outcomes?
If one path through the systems is always best, the possibility space collapses to a single point regardless of how large it theoretically is.
Are players engaging with all systems, or ignoring some?
Does expert play look qualitatively different from novice play?
Symptom: Design discussions center on "what feature do we add next?" instead of "what happens when systems collide?"
Consequence: Each feature is a silo. The game accumulates breadth without depth. Players say "there's a lot to do but it all feels the same."
Fix: Redirect every feature discussion through the interaction matrix. "Where does this system connect?"
Symptom: Each system is self-contained with clean inputs and outputs but no interaction with other systems.
Consequence: Technically excellent engineering that produces a shallow game. The systems are modular in the wrong way — modular for code maintainability instead of modular for play depth.
Fix: Loose coupling for code, tight coupling for play. Systems should be independently deployable but not independently experienced.
Symptom: Adding systems because "more systems = more depth."
Consequence: Each system is shallow because development budget is spread thin. Players are overwhelmed by breadth and never discover the depth of any single system.
Fix: Subtract a system. Invest the freed budget in deepening interactions between the remaining ones. Repeat until every system is excellent.
Symptom: The design document lists every system the game could possibly have. Combat, crafting, building, farming, fishing, cooking, trading, taming, sailing, diplomacy, research, religion, weather, seasons, breeding...
Consequence: None of them ship at quality. The game is a mile wide and an inch deep.
Fix: Pick the 3-5 systems your experience pillars require. Build those. Ship. Add more only if the core is already deep.
Symptom: When the game feels shallow, the response is "add more content" (more levels, more items, more quests) instead of "deepen interactions."
Consequence: Temporary engagement bump followed by the same shallowness. Content is consumed; systems are played.
Fix: Before adding content, check the interaction matrix. If interactions are weak, no amount of content will create depth. Deepen systems first, then fill them with content.
| Area | Skill | When to Go There |
|---|---|---|
| Individual mechanic evaluation | game-design | Evaluating a single mechanic with the 5-Component Filter before it enters the system architecture |
| Vision and pillars | game-vision | Defining experience pillars that drive system selection — do this before building the interaction matrix |
| Engagement loops | experience-design | Designing the core loop that systems serve — systems exist to make the loop deep |
| Numeric balance between systems | game-balance | Tuning the numbers at system boundaries — cost curves, economy flow, dominant strategies |
| Reward and motivation systems | motivation-design | Designing reinforcement schedules and reward structures that operate across systems |
| Resource flow and currencies | economy-design | Deep dive on sink/source balance, inflation control, and currency design within the economic system |
| Encounter and enemy behavior | encounter-design | Designing spatial and AI behavior systems that interact with combat, stealth, and exploration |
| Narrative as a system | narrative-design | When narrative isn't just wrapper but a system with its own interactions (quest structures, branching) |
| Difficulty and progression | progression-systems | Power curves and flow channel — progression is typically the highest-priority supporting system |
| Feedback and juice | game-feel | Making system interactions feel good at the moment-to-moment level |
| Player cognitive load | player-ux | When system count or interaction complexity exceeds player attention budget |
| Validation | playtest-design | Testing whether the system architecture produces the depth you designed for |