Skip to content

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

License

Notifications You must be signed in to change notification settings

raytran/protochess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4772c6c · Apr 11, 2023
Jun 27, 2020
Jun 26, 2020
Oct 8, 2020
Apr 8, 2023
Jul 2, 2020
Jun 28, 2020
Jun 28, 2020
Jun 25, 2020
Jul 4, 2020
Jul 4, 2020

Repository files navigation

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