Skip to content

prixladi/a-mazing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Amazing

Amazing is a game loosely based on the 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

cargo build
bash ./crates/mazer/pack.sh

Run Website in dev mode

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.

Releases

No releases published

Packages

No packages published

Languages