Generates a maze using a randomized depth first search algorithm and turns it into a 3d maze using three.js. The user is placed in the upper left hand corner of the maze and must try to find his/her way to the bottom right hand corner of the maze, which is marked by a hole in the wall.
- WASD / Arrow keys - Move
- Mouse - Adjust yaw / look
Ensure that you have npm installed and run:
npm install
Then run:
npm run build-dev
This will bundle all the js and put it in public_html/game.js
. After you have game.js, just open public_html/index.html
in a web browser.
To bundle all the js and minify it, run:
npm run build-release
Jasmine unit tests are located in the spec
directory. To run them, use:
npm test
This project uses JSDoc.
To generate HTML from JSDoc comments, use:
npm run doc
This will output all documentation in the doc
directory.
This project uses the JS standard code style.
To run eslint, use:
npm run lint
All code licensed under the MIT license (See LICENSE file). All images licensed under CC0 / Public domain.
- Add more maze generators
- Add a page allowing the user to select a maze generator / maze size
- Document everything