One micro-kernel engine playing chess, go, draughts, hex, shogi, xiangqi, mancala, morris, reversi, and the Landlord's Game across 230 variants. 229 carry zero JavaScript, expressed in declarative frontmatter alone. Games are configuration files. The engine does the rest.
Interactive board rendering for every game variant. Select any game, see its board live with pieces, hover info, and export.
LiveBrowse and download board diagrams for every variant. Filter by family or topology, export as SVG or PNG.
LiveBuild your own game through form options alone. Select topology, configure rules, set pieces, export playable config. No code required.
Coming soon118 piece sets across chess, shogi, xiangqi, draughts, reversi, go, backgammon, and mancala. Recolorable SVGs with manifest system.
Live11 terrain and game tiles across hex, square, and rectangle shapes. Mahjong, dominoes, piecepack, and 11 hex terrain sets.
LiveFrontmatter schema, topology reference, render pipeline, plugin system. Everything needed to add games or extend the engine.
LivePure ESM, zero dependencies, no build step. 14 packages composing into a universal game runtime. MIT licensed.
Each family has a full play surface: variant registry, embed protocol, interaction model, headless SDK.
The rules library documents the full system: 296 variants across classic board games, card systems, RPGs, and more.
The universal adapter layer. Every package above topologies defines a contract. Topologies implement it. Higher packages never know which topology they consume.
Rectangular boards. Chess, draughts, reversi, halma, shogi, xiangqi.
93 variantsAxial coordinates. Hexagonal and rhombus shapes. Hex, Glinski chess.
13 variantsLinear and circuit paths. Pachisi, chaupar, backgammon, landlords.
20 variantsMancala sow layouts. Kalah-correct paths with stores.
8 variantsArbitrary node-edge structures. Morris, alquerque, custom boards.
7 variantsCard table layouts. Radial, tableau, wall, linear arrangements for deck games.
40 variants<iframe src="engine.moddable.games/play/?game=chess/standard&embed=1"></iframe>
Bidirectional postMessage bridge for state sync, move submission, and event handling. Embed any game in any page with a single line.
import { createGame } from '@moddable/engine'
const game = createGame('reversi/standard')
const moves = game.getLegalMoves()
game.execute(moves[0])
ES module. Zero dependencies. Mount into any DOM container or run headless. Full game lifecycle from one import.
play_move | get_legal_moves
suggest_move | render_board
create_game | list_variants
evaluate_position | validate_game_def
AI assistant integration. Let Claude or any MCP client play, analyse, and generate games via tool protocol.
Five resource types compose independently. No game names in core. No topology-specific logic in schema. Every new topology auto-works with all existing packages.