Dice Chess Engine
Dice Chess adds three dice to a familiar board: the roll decides which pieces can move, and a turn can contain several moves. Capture the opposing king to win. The engine handles legal turns, dice consumption and board transitions; your application chooses how people see and play the game.
From the browser to the living room
Section titled “From the browser to the living room”Dice Chess TV brings the engine to a native React Native for Vega application for Amazon Fire TV. Two people can share a remote, or play against on-device bots. The rules and opponents run locally using the same JavaScript package available on npm.

Explore Dice Chess TV · Watch the demo · Read the integration story
Choose your integration
Section titled “Choose your integration”What the engine handles
Section titled “What the engine handles”- Complete legal turns. Dice-aware move generation, the maximum-dice rule, castling, promotion, en passant and forced passes. JavaScript clients can follow a legal turn tree through every action.
- Portable game state. DFEN records the board and remaining dice; explicit
endTurnkeeps the turn boundary under the application’s control. - Local computer opponents. Six built-in bots, from random play to Monte-Carlo search. The Scala search API also offers configurable expectimax; ONNX inference is JVM-only.
- Shared correctness checks. Rules fixtures run on JVM, JavaScript and WebAssembly. The visual move catalog is generated from the same test cases.
Understand the turn lifecycle · Explore search algorithms · See testing and fixtures
Explore the documentation
Section titled “Explore the documentation”Start with the integration guide, then use the JavaScript API, JVM API or Scala API reference. The project status separates implemented capabilities from future work; release notes track versioned changes.
The engine is open source under AGPL-3.0-only. Models and opening-book data are supplied separately by applications.