⊞ GridPonder DSL v0.5
Domain-Specific Language
A declarative JSON format for defining deterministic, discrete, single-player, turn-based 2D grid puzzle games.
Games are defined as structured data — entities, boards, systems, and rules — and interpreted by a fixed engine. Packs contain only data and assets, never executable code. The spec is designed to be readable by both humans and AI assistants.
Format
JSON
Entry point
manifest.json
Game definition
game.json
Specification
01 → 02 → 03 → 04 → 05 → 06 → 07 →
Overview
A high-level map of the DSL: scope, design principles, file structure, and the turn execution pipeline.
Manifest Schema
The pack's entry point: declares identity, version, compatibility requirements, and presentation metadata without loading any gameplay content.
Game Schema
Defines all gameplay content shared across levels: entity kinds, systems, actions, rules, and the level sequence.
Level Schema
Each level file specifies one puzzle instance: board layout, initial entity state, goals, hints, and the gold-path solution.
System Catalog
The ten built-in engine systems, their execution order, and the per-system configuration reference.
Rules Model
How game-specific interactions are expressed as data-driven if/then rules that fire between system execution phases.
Theme & Controls Schema
Defines visual presentation and input bindings — colors, rendering, and gesture-to-action mapping — without affecting gameplay semantics.
Ready to create a game?
The DSL is designed to be used with AI tooling. Clone the repo and start a Claude Code session.
See the creator guide →