You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Raycasting is a primitive rendering technique by which a space of uniform height is divided into columns, and "rays" from the users line-of-site are sent out and used
to detect which columns are visible. The most famous game to use this techique is probably Wolfenstein 3D from the early 90s. This implentation uses div tags for the columns.
For the final, I added a menu component that is overlayed when the user toggles it. It's also connected to a mongodb backend so that the user
can save the state of the game. Currently, it only saves the users coordinates (position on the map), but it could be used to save which map they were on, plus any additional state that might be attached to the user and/or level.
I wanted to mess with the engine more and implement support for textures, but I didn't get around to it :(
MongoDB setup
I've been using mongodb from a docker container. The image can be pulled with docker pull mongodb/mongodb-community-server:latest.
Then, run the image with docker run --name mongodb -p 27017:27017 -d mongodb/mongodb-community-server:latest
Setup in repo
Setup mongodb using above steps
Run mongosh --port 27017 < mongosetup.js
Install dependencies for the engine with npm install
Install server dependencies with npm intall express cors mongoose