Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/prixladi/a-mazing
Web based mazing game
https://github.com/prixladi/a-mazing
maze nextjs rust
Last synced: about 5 hours ago
JSON representation
Web based mazing game
- Host: GitHub
- URL: https://github.com/prixladi/a-mazing
- Owner: prixladi
- License: mit
- Created: 2024-06-04T11:12:07.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2024-08-04T19:34:02.000Z (3 months ago)
- Last Synced: 2024-08-04T21:08:28.153Z (3 months ago)
- Topics: maze, nextjs, rust
- Language: Rust
- Homepage:
- Size: 204 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Amazing
Amazing is a game loosely based on the [Longest path problem](https://en.wikipedia.org/wiki/Longest_path_problem). It involves maximalizing the path through the graph by placing tiles on 2d board predefined with entrances, checkpoints, exits and walls.
The core of the game is written in Rust and is exposed to the web through WebAssembly. In the future API is planned for most of the game features but WebAssembly runtime will stay to offload most of the work from the server.
## Runing the project
### Build Crates & WebAssembly bindings
```sh
cargo build
bash ./crates/mazer/pack.sh
```### Run Website in dev mode
```sh
cd ./apps/web
pnpm install
pnpm dev
```## Project structure
- `/apps`
- `console` - Debug console
- `web` - Next.js web application
- `/crates`
- `maze-core` - Crate defining core maze structures and validations
- `maze-runner` - Engine for maze evaluation
- `maze-generator` - Generator of maze boards from defined presets
- `mazer` - WebAssembly bindings## WIP
The project is currently heavily in progress. Just the core of the game, WebAssembly bindings and base for a web runtime are implemented.
### Future
It is not fully decided what exact direction will Amazing go, but the current goal is a web based application with training, multiplayer, and daily challenge game modes.