This project aims to rewrite my previous Acquire command line game into a webapp.
The web server will be realized by using the the asynchronous web framework Rocket.
To build and run the server do the following:
- Clone the repository and cd into the main directory
- Make sure that the
rust toolchain
andwasm-pack
are installed - Run
./build_wasm.sh
- Run
cargo run
This will start the server which can be accessed under 127.0.0.1:8000
.
WebAssembly will be used to write as little JavaScript as possible. The Rust code that is compiled to WebAssembly can be found here.
The build_wasm.sh script is used to build the web assembly parts and copy the output files to /web/public/wasm
. This way it is easy to update the files once the source code has been modified.
- Pretty looking game page
- Multiple game instances
- Lobby system with ability to join lobbies by invite code
- Possibility to reconnect after disconnecting due to internet problems (restoration of game states)
- Automatic deletion of game instances when all players have disconnected (for cases where the game was not finished)
- Usage of HTTPS
- Customizable settings
- Support for language selection (eng/ger)
- Responsive design for phone, tablet and desktop
- Public and private lobbies
- Kick players from the game lobby
- Join random public lobbies
- Extensive documentation using rustdoc
- Public game browser