A web app for playing Connect6 games online, built with Rust frameworks Leptos and axum.
- Easy Setup of Games: Submit a passcode to start as Black. Then send a link to your opponent, who submits a different passcode to join as White.
-
Nearly Infinite Board: The board is
$2^{16}$ by$2^{16}$ in size, with drag & zoom support. In a game started near the center, you never worry about hitting the border.1 - Compact Record Format: Based on zigzag encoding, a pairing function, and varints, the format encodes any stone placed within the central 11-by-11 area to a single byte.
- Keyboard Control: You can control the app with keyboard only.
Install Rust 1.82+ and Trunk. To develop, run:
git clone https://github.com/yescallop/c6ol
cd c6ol
# In one terminal:
cd server
cargo run
# In another:
cd client
trunk serve --open
To deploy, run:
cd client
trunk build --release
cd ../server
# To deploy in place:
cargo run --release -- --listen [::]:8086 --serve-dir ../client/dist
# Or you can copy the outputs elsewhere and run:
/path/to/c6ol-server --listen [::]:8086 --serve-dir /path/to/dist
You can choose to play offline or online. An offline game is saved in the browser's local storage. For now, an online game will end unsaved if no one is connected to it.
Footnotes
-
It is good sportsmanship to start near the center and to place stones near existing ones. ↩