Skip to content

Latest commit

 

History

History
45 lines (31 loc) · 1.48 KB

README.md

File metadata and controls

45 lines (31 loc) · 1.48 KB

Maze Game

A web based maze game. Play online here.

Screenshot of the game from a desktop browser in light mode and portrait orientation. It is a 10x10 and unsolved.

User guide

Navigate from the lower left to the upper right. Once you reach the upper right you win! 🎉

Navigate using either the arrow keys, clicking in straight lines or tracing the route with your finger.

Use Options in the nav bar to change the size, or swap to a different maze generation algorithm.

Technology

It is a client side application and can be served from the majority of static web servers.

For drawing it uses SVG for the maze. HTML is used for the page and CSS is used to style both.

Rust compiled to web assembly is used to generate the mazes, generate the SVG paths and handle the user's route.

Typescript compiled to Javascript is used to handle the user's interactions and draw back the mazes generated by Rust.

3 canvas alternative renderers can be found in the rendering playground. They are a bitmap renderer where Rust generates a bitmap, a WebGL2 renderer and a WebGPU renderer.

Run in Docker

# podman
podman container run --rm -p 8080:80 "$(podman image build . --quiet | tail -n 1)"
# docker
docker container run --rm -p 8080:80 "$(docker image build . --quiet | tail -n 1)"