Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/alecdwm/webtron

A browser-based multiplayer implementation of the classic Tron Lightcycles arcade game.
https://github.com/alecdwm/webtron

multiplayer-browser-game rust-gamedev tron-lightcycles

Last synced: about 2 months ago
JSON representation

A browser-based multiplayer implementation of the classic Tron Lightcycles arcade game.

Awesome Lists containing this project

README

        

# [![webtron](client/src/img/webtron.svg)](https://tron.owls.io)

A browser-based multiplayer implementation of the classic Tron Lightcycles arcade game.

[![a screenshot of an in-progress webtron game](screenshot.png)](https://tron.owls.io)

## Building the server binary from source

1. Install [bun](https://bun.sh) for building the bundled web client.
1. Install [rustup](https://www.rust-lang.org/tools/install).
1. Install the latest stable rust toolchain with `rustup toolchain install stable`.
1. Clone the project locally with `git clone [email protected]:alecdwm/webtron.git`.
1. Change to the cloned directory with `cd webtron`.
1. Build the project with `cargo build --release`.

The server binary will be located at `target/release/webtron`.

## Running the server in development

1. Install [cargo-watch](https://github.com/passcod/cargo-watch).
1. Clone the project locally with `git clone [email protected]:alecdwm/webtron.git`.
1. Change to the cloned directory with `cd webtron`.
1. Run the server (and automatically restart it on code changes) with `cargo watch -i 'client/**' -x fmt -x run`.
- If you don't have `cargo-watch`, you can install it with `cargo install cargo-watch`
1. In another terminal, change to the client subdirectory with `cd webtron/client`.
1. Run the client development server with `bun dev`.

The web client will be available at [http://localhost:3000](http://localhost:3000).