Define Chess Variants with Code

ChessLang is a domain-specific language for creating custom chess variants easily. From simple rule tweaks to entirely new games.

king-of-the-hill.cl
game: "King of the Hill"
extends: "Standard Chess"

board:
  zones:
    hill: [d4, d5, e4, e5]

victory:
  add:
    hill: King in zone.hill

Simple Yet Powerful

Define victory conditions, custom pieces, and complex rules with an intuitive syntax. ChessLang compiles your code into a playable game instantly.

Try This Example

Features

3-Level DSL

From simple YAML config to full scripting power

Live Play

Play your variants instantly in the browser

Rich Docs

Comprehensive documentation with interactive examples

Share Games

Share your creations with a simple link

Ready to Create?

Jump into the playground and start defining your own chess variants.

Open Playground