Thomas Horn & Patrick Feltey
This final project is a video game maze that implements all techniques learned in CSCI4810 Graphics as well as independently learned techniques.
Although this project includes things such as raycasting, custom shaders, manual matrix translations/transpositions, the main goal of the project was to use vanilla THREEJS to create a raycasting based collision system to constrain our player within the maze, rather than rely on a physics or collision system dependency.
Our unabridged 15 minutes presentation can be seen at the following link:
https://www.youtube.com/watch?v=Ejb4g7axAtg
Our slides can be seen at the following link and our included in this repository:
Bounding Box Collision Detection:
RayCasting Collision Detection
https://codepen.io/bartuc/pen/JLzRwY?editors=0010
https://stackoverflow.com/questions/25697327/three-js-accurate-ray-casting-for-collision-detection
Ground Textures:
https://www.deviantart.com/shadowh3/art/Rock-Ground-73682465
Skybox: http://www.humus.name/index.php?page=Cubemap&item=Powerlines
Corn Stalks: https://unsplash.com/photos/bM9fCQCkWv4?utm_source=unsplash&utm_medium=referral&utm_content=creditShareLink
"Corn Maze Entrance/Exit"
Photo by Ingmar on Unsplash
"Ghost"
Photo by Stefano Pollio on Unsplash
All other textures required no attribution.
- Collision
- Top Down Camera for Testing
- Torch Model
- Wall around outside
- Implement maze design
- Wall textures
- Score keeping
- Loss scenario and screen
- Win scenario and screen
- ThreeJS transitions to matrices
- Torch bounding box / raycasting with collision
- Torch hovering
- Fix camera angle
- Rebind sprint key - stamina
- Make floor look cool