Skip to content

brianhliou/mistboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

898 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

CI License: AGPL-3.0

Mistboard — the same game position seen from White and Black under fog of war

Mistboard is a free, open-source platform for dark chess — also called Fog of War chess — a hidden-information variant where each player only sees what their own pieces can legally see, enforced by the server.

The project is building a trustworthy foundation for hidden-information games, starting with chess: server-authoritative play, a serious ranked ladder, and a first-party dark-chess engine that plays through a public, auditable information boundary.

It features low-friction PvP rooms, private Draft960 back-rank drafting, post-game replay from either player's perspective or full truth, per-game Open Graph share images, PGN/JSON export, per-bucket Elo, and an in-house engine track targeting a public engine protocol, reproducible benchmarks, and a first-party benchmark opponent.

Mistboard is written in TypeScript across a small npm workspace. The browser client is a no-framework Vite build that uses chessground for board rendering and chessops for chess primitives. The server is a Node WebSocket process that owns canonical game state, with Postgres for the event log and game history and pino for structured logs. A pure-game packages/game module holds the variant rules, visibility kernel, and the getPlayerView() boundary — the central abstraction that ensures no hidden truth ever reaches the wrong client. The first-party engine lives in a private sibling repo and is fetched at deploy time; it speaks the same redacted EngineTurnRequest protocol any third-party engine would (see docs/engine-protocol.md). Hosted on Railway. Analytics via PostHog.

Mistboard is an independent open-source project. It is not affiliated with lichess, chess.com, or any other chess platform.

Use GitHub issues for bug reports and feature requests.

Status

Live PvP dark chess is playable at mistboard.com. The project is working toward M1 pre-distribution gates before wider outreach.

Installation

npm install
npm run dev   # in-memory server, fastest for UI work
npm test

See CONTRIBUTING.md for dev rooms, local Postgres setup, and integration tests.

Architecture

packages/game           Pure game logic: types, rules, visibility, variants
packages/board-render   Shared SVG board renderer (server + browser)
apps/server             WebSocket rooms, clocks, event log, HTTP API
apps/web                Board UI, game screens, client WebSocket handling

See docs/ARCHITECTURE.md for the full data flow and state model, and docs/rules.md for the dark chess / Fog of War rule baseline.

Contributing

See CONTRIBUTING.md, CODE_OF_CONDUCT.md, and SECURITY.md.

License

AGPL-3.0-or-later. See LICENSE.

For uses that require terms other than AGPL (e.g. closed-source distribution), reach out via mistboard.com/contact.

Governance

Mistboard is founder-led. The code is open source, but the official project identity, mistboard.com, hosted service, roadmap, and production infrastructure remain controlled project assets.

See GOVERNANCE.md, TRADEMARK.md, and docs/project-direction.md.

Releases

No releases published

Packages

 
 
 

Contributors