24 lines
No EOL
1.5 KiB
Markdown
24 lines
No EOL
1.5 KiB
Markdown
# README
|
|
|
|
This repository contains the code for 'WordGrid', a (currently) single-player browser game where you use letter tiles to form words.
|
|
|
|
Game logic resides in `src/` as Rust code, which gets compiled into WebAssembly.
|
|
|
|
UI logic resides in `ui/src/`, which gets bundled by Parcel into the web application.
|
|
|
|
If you want to try it now, I host a version at https://joeltherrien.ca/wordgrid
|
|
|
|
## Setup
|
|
|
|
* Make sure you have [Node.js](https://nodejs.org/en) installed and [rustup and Cargo](https://www.rust-lang.org/learn/get-started).
|
|
|
|
1. Clone this repository.
|
|
2. If not already installed, install the Rust `wasm32-unknown-unknown` target with `rustup target add wasm32-unknown-unknown`.
|
|
3. In the base project directory, run `make build-all` to build both the Rust wasm project (gets stored in `pkg/`) and the final bundled web files (gets stored in `ui/dist/`).
|
|
4. Place the files in `ui/dist/` onto a web server and access them.
|
|
|
|
During development, you'll often want to serve the UI component in serve mode that auto-updates when you make a change. In the `ui/` directory you can run `npm run start`. Note that Parcel doesn't always detect changes to the compiled Rust code, so if you recompile the Rust code with changes you should delete `ui/.parcel-cache/` and `ui/dist/` or else the UI may continue to use older WASM.
|
|
|
|
## Future Plans
|
|
|
|
I intend on building a multiplayer component to this game, where the Rust code will form a webserver for connecting players and the UI will make server calls instead of calling web assembly. |