Skip to content

Dice Chess Engine

One set of rules. Many ways to play. Build browser games, TV apps and JVM services with the same 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.

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.

Dice Chess TV: Black selects a knight destination with the remote, with three dice beside the board
Dice Chess TV on the Vega Virtual Device. Physical Fire TV testing is tracked by the TV project.

Explore Dice Chess TV · Watch the demo · Read the integration story

  • 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 endTurn keeps 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

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.