jgengine-gameplay
Installation
SKILL.md
JGengine gameplay
Ownership
This skill owns non-combat rules and state: systems, catalogs, inventory/items, crafting, economy, quests, dialogue, social state, puzzles, survival, turns, tactics, sessions, and saveable game models. Combat math belongs to jgengine-combat; host persistence adapters belong to jgengine-multiplayer.
Use capabilities.md for intent discovery, api.md for signatures, and reference-systems.md for scheduling details before hand-rolling a subsystem.
Canonical workflow
- Define plain serializable state and stable ids.
- Put definitions in typed catalogs; keep per-instance mutable state separate.
- Express behavior as narrow systems or pure transitions with explicit inputs.
- Route player/AI intent through commands; emit typed results/events.
- Attach save/restore boundaries and versioning where state persists.
- Bind UI through selectors/hooks rather than duplicating state.
Prefer defineSystem and defineGame({ systems }) for scheduled capabilities. Keep boot/join in the game loop only when it is truly lifecycle glue. System ordering, frequency, and serialization are explicit; avoid a giant per-frame callback.