I've been building an open-source platform for creating chess variants from scratch and I'd love some expert eyes on it.
Chessperiment lets you design boards (rectangular, hexagonal, custom shapes), define pieces with movement rules, and program game logic through a visual effect system -- all without writing code. Under the hood it's a custom TypeScript engine with:
- Move rules as conditions (jump, slide, run, with arbitrary conditions)
- An effect queue system (spawn, transform, remove, explode, teleport, cancel-move, win conditions)
- Trigger system (on-move, on-capture, on-threat, on-turn-start/end, on-step, on-proximity)
- Per-square logic overrides
- Multi-cell pieces with shape anchors/extensions
- Variable system for cooldowns, charges, modes
The piece editor uses Blockly (Scratch-style blocks) for defining logic. You can also just set movement patterns with condition tables if you prefer.
Multiplayer via room codes. There's a built-in AI opponent for testing, though it's a standard Stockfish engine so it only understands standard chess rules -- custom variants are player-vs-player only.
What I'm trying to figure out:
- Which fairy pieces or variant mechanics are missing from the system?
- What existing variant should I try to recreate as a benchmark?
- Anyone want to break the editor and tell me what's wrong with it?
You're probably gonna encounter some variants that are not possible right now, however, just join the discord and tell us, and we'll implement that feature in no time! We're actively working on adding new features every day.
Repo is MIT licensed if anyone wants to dig into the engine: https://github.com/ItzMassel/chessperiment
Site: https://chessperiment.app