gbtami / protochess

Online multiplayer chess website that lets you build custom pieces/boards. Written in Svelte + Rust.

Home Page:https://protochess.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Protochess

Protochess

Protochess

Protochess

https://protochess.com/

Protochess is an online chess website designed to let you customize your own chess boards/pieces. Want a piece that can move like a knight + queen? Sure. Want to play on a 16x16 sized board? Impractical but you can do it!

Built with

Rust for the backend/chess logic/multiplayer server

Svelte for the single page app frontend

Project structure

The frontend/static website is contained in protochess-front.

The backend multiplayer websocket server is in protochess-server-rs.

Common shared data structures between the front/backend are in protochess-common

The actual chess logic/chess engine is in protochess-engine-rs, with bindings to WebAssembly contained in protochess-engine-wasm.

Running locally with docker

Included in the base directory is a Dockerfile that compiles the frontend and launches the webserver.

git clone https://github.com/raytran/protochess
cd protochess
docker build -t protochess .
docker run -p 3030:3030 protochess

This will launch the chess page at localhost:3030

Contact

You can email me (Raymond Tran) here: raytran@mit.edu

About

Online multiplayer chess website that lets you build custom pieces/boards. Written in Svelte + Rust.

https://protochess.com/

License:GNU General Public License v3.0


Languages

Language:Rust 64.6%Language:Svelte 32.7%Language:JavaScript 1.8%Language:CSS 0.3%Language:Dockerfile 0.3%Language:HTML 0.2%Language:Shell 0.1%