1. Action System
What players are allowed to do each turn. sequential, BOGUS, real-time, draft, trick-take, slap, bid, claim-bluff, plus v1.1 board/RPG extensions.
A modular rule architecture for tabletop games. Every game KAINYNE ships is a configuration of five pillars — Action, Resolution, Pressure, Resource, Victory — declared in a games/<slug>/os-config.json file alongside the game's engine. This page shows the framework at a glance and indexes every shipped game's pillar configuration.
What players are allowed to do each turn. sequential, BOGUS, real-time, draft, trick-take, slap, bid, claim-bluff, plus v1.1 board/RPG extensions.
How an action resolves. compare-rank, compare-trick, slap-priority, challenge, bid-target, matching-set, shedding, race-to-empty, score-threshold, elimination, deterministic-reveal, simultaneous-reveal, dice-roll, area-majority, round-end-tally.
What escalates over time unless actively controlled. time, uncertainty, social, spatial, economic, elimination, score-gap, terrain-change, resource-scarcity, cascading-failure.
What players manage. Every resource must create a tradeoff. cards, tricks, score, tokens, hp, tiles, actions, communication, information, workers, territory, influence, buildings.
How the game ends. first-to-empty-hand, score-target, elimination, objective-completion, race-to-extract, trick-target, knockout-by-score, co-op-completion, high-score-at-timer, area-control-victory, cumulative-progress, last-faction-standing, threshold-collapse.
The framework's Core layer (Engine / Game Config / UI Config / UI Runtime) is what every game ships at runtime. The five pillars feed declarative configuration into the Engine; the Support layer (Sim / Observability / State Serialization / Tooling …) wraps Core for scale. Hand-authored SVG mirror of the Mermaid in docs/design/tabletop-os.md.
Every directory under games/ ships a Tabletop OS config. The matrix below is regenerated by scripts/build-design-page.js from every games/<slug>/os-config.json — drift between the generator and this page fails CI. Click a game name to jump to its playable route.
| Game | Action | Resolution | Pressure | Resource | Victory |
|---|---|---|---|---|---|
| CHEAT | claim-bluff | challenge | uncertainty, social | cards, information | first-to-empty-hand |
| EGYPTIAN RAT SCREW | slap | slap-priority | time, uncertainty | cards | elimination |
| EUCHRE | trick-take | compare-trick | score-gap, social | tricks, score | score-target |
| GIN RUMMY | sequential | matching-set | score-gap, uncertainty | cards, information | score-target |
| HEARTS | trick-take | compare-trick | score-gap | cards, information | knockout-by-score |
| NERTZ | real-time | race-to-empty | time, spatial | cards, actions | score-target |
| PRESIDENT | sequential | shedding | social, score-gap | cards, information | first-to-empty-hand |
| SPADES | bid | bid-target | score-gap, social | tricks, score | score-target |
| SPEED | real-time | race-to-empty | time | cards, actions | first-to-empty-hand |
| WAR | simultaneous | compare-rank | uncertainty | cards | first-to-empty-hand |
| Game | Action | Resolution | Pressure | Resource | Victory |
|---|---|---|---|---|---|
| AZUL | draft | score-threshold | spatial, economic | tiles, score | high-score-at-timer |
| CODENAMES | sequential | deterministic-reveal | uncertainty, social | information, communication | objective-completion |
| COMPILE | sequential | score-threshold | spatial, uncertainty | cards, actions, information | objective-completion |
| COUP | claim-bluff | challenge | social, elimination | cards, tokens, information | elimination |
| THE CREW | trick-take | compare-trick | uncertainty, social | tricks, communication, information | co-op-completion |
| EXPLODING KITTENS | sequential | deterministic-reveal | elimination, uncertainty | cards, actions | elimination |
| LOVE LETTER | sequential | elimination | elimination, uncertainty | cards, information | elimination |
| SPLENDOR | sequential | score-threshold | economic, score-gap | tokens, score | score-target |
| STAR REALMS | sequential | elimination | economic, elimination | cards, hp, actions | elimination |
| THE RESISTANCE | sequential | simultaneous-reveal | social, uncertainty | information, communication | objective-completion |
| Game | Action | Resolution | Pressure | Resource | Victory |
|---|---|---|---|---|---|
| CORES OF CONQUEST | area-control | elimination | spatial, economic, cascading-failure | tokens, territory, actions | elimination |
| DECK OF DESTINY | simultaneous | simultaneous-reveal | uncertainty, elimination | cards, hp, tokens | elimination |
| DUNGEON PACT | sequential | elimination | spatial, elimination | hp, actions, tokens | race-to-extract |
| GOBLIN GAUNTLET | sequential | dice-roll | spatial, elimination, time, ai-adaptation | hp, score | high-score-at-timer |
| MERCHANT'S MARKET | sequential | deterministic-reveal | economic, time | tokens, actions | score-target |
| MIREBOUND | sequential | dice-roll | spatial, elimination, terrain-change | hp, tiles, actions | race-to-extract |
| RELIC RUN | sequential | deterministic-reveal | spatial, time, terrain-change | actions, tiles, score | race-to-extract |
| SHADOW COUNCIL | simultaneous | simultaneous-reveal | social, score-gap | influence, actions, information | score-target |
| STRONGHOLD TABLEAU | sequential | score-threshold | spatial, time | tiles, buildings, score, actions | cumulative-progress |
| WEIGHT OF CROWNS | sequential | score-threshold | social, score-gap, elimination | influence, hp, actions | score-target |
How Action × Victory pillar combinations cluster across the catalog. Cell intensity scales with the number of games sharing that combination; hover a cell to see the matching slugs. Regenerated by scripts/build-design-page.js alongside the matrix above.
| Action ↓ / Victory → | co-op-completion | cumulative-progress | elimination | first-to-empty-hand | high-score-at-timer | knockout-by-score | objective-completion | race-to-extract | score-target |
|---|---|---|---|---|---|---|---|---|---|
area-control | · | · | 1 | · | · | · | · | · | · |
bid | · | · | · | · | · | · | · | · | 1 |
claim-bluff | · | · | 1 | 1 | · | · | · | · | · |
draft | · | · | · | · | 1 | · | · | · | · |
real-time | · | · | · | 1 | · | · | · | · | 1 |
sequential | · | 1 | 3 | 1 | 1 | · | 3 | 3 | 4 |
simultaneous | · | · | 1 | 1 | · | · | · | · | 1 |
slap | · | · | 1 | · | · | · | · | · | · |
trick-take | 1 | · | · | · | · | 1 | · | · | 1 |
Use the template to walk the five pillars + Core architecture for a new game. Then run node scripts/scaffold-game.js <slug> to generate the canonical CSCI shape with a schema-legal placeholder os-config.json already wired up. The validator (node scripts/check-tabletop-os.js) keeps the framework honest as the design fills in.
The full framework spec — including the Mermaid diagram of the Core-vs-Support layering — lives at docs/design/tabletop-os.md on GitHub (renders natively). The decision record is ADR-0012.