This project is a website that will randomly generate a maze, display it in a retro style, and allow a user to traverse the maze and search for the end.
For this project, we are using
- Flask - A python based server-side architecture used for url routing.
- Jinja2 - A front-end templating library compatible with flask.
- Typescript - A compiled extension to the JavaScript language, used for the maze gameplay.
- HTML Canvas - An API that provides the means to draw using HTML and JavaScript, used for drawing the maze and player.
Click here to play!
If you're interested in adding/improving a feature to the project, follow these steps:
- Fork or download the repository onto your machine.
- Navigate to the repository in your terminal and run "pip install" in the command line. This will install all necessary python dependencies.
- Make your changes/updates.
- Run "python3 app.py" in the command line. This will start a local flask server for testing.
- Navigate to localhost:5000 in a web browser to see the routes built by the local flask server.
Skateboard (1 feature) | Bike (2nd feature) | Car (Extras) |
---|---|---|
Route a single, static maze to the front end, and make it playable | Randomly generate mazes on the fly, and deliver those instead of the static one | * Device Web Responsiveness with Ionic * Cross-Platform function with App through CapacitorJS * Multiplayer with Leaderboard through Web-Socket |
The maze generator is based off of Orestis Zekai's work.
Click here to learn more about the maze's generation theory.