Green Ridge Forest
Wolfenstein 3D-style horror game built in Java and Muzzle
Green Ridge Forest was a group capstone project for my junior year AP Computer Science A course.
The capstone project was a project where you could create any game in the span of ~2 months. My group decided to create a "3D" horror game with a raycaster engine. Earlier in the year I had created a prototype raycaster engine in the Java library Slick2D.
However, the mixture of CPU-driven raycasting and the outdated Slick2D renderer resulted in unusable performance especially when using textured sprites. I then decided to pivot the project to using Muzzle to take advantage of the faster batched renderer and shader support. The new engine would be a GPU-driven raycaster in a pixel shader. This transition involved creating Java bindings for Muzzle and improving Muzzle's shader support.
In the end we had a pretty performant GPU raycaster that utilized ray-slab intersection tests for extra accuracy and to avoid manually stepping through the world grid. The engine also included some techinically real 3D objects such as the billboard sprites. Unfortunately the engine still had performance issues due to the heavy usage of geometry shaders in the billboards.
We recieved a 105% grade, and finished 3rd out of 10 projects in the student-voted "Game of the Year" award.