Skip to content

yescallop/c6ol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

c6ol: Connect6 Online

A web app for playing Connect6 games online, built with Rust frameworks Leptos and axum.

Features

  • 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.

Screenshots

Online Dialog Game Play
Game Menu Game Menu Alt

Setup

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

Play

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

  1. It is good sportsmanship to start near the center and to place stones near existing ones.

About

A web app for playing Connect6 games online.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published