One micro-kernel engine that plays chess, go, draughts, reversi, mancala, backgammon, shogi, xiangqi, and every variant in between. 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 soon96 piece sets across chess, shogi, xiangqi, draughts, reversi, go, backgammon, and mancala. Recolorable SVGs with manifest system.
Live613 terrain and game tiles across hex, square, and rectangle shapes. Mahjong, dominoes, piecepack, and 10 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. 15 packages composing into a universal game runtime. MIT licensed.
Each plugin handles all variants in its family. Same engine, different configuration.
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.
119 variantsAxial coordinates. Hexagonal and rhombus shapes. Hex, Glinski chess.
5 variantsLinear and circuit paths. Pachisi, chaupar, backgammon, landlords.
17 variantsMancala sow layouts. Kalah-correct paths with stores.
8 variantsArbitrary node-edge structures. Morris, alquerque, custom boards.
7 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.