Raycast

Finished in January 2025, Raycast is a physics puzzler where you utilize a variety of game elements, from mirrors to blackholes, in order to navigate light to restore a forest. The game contains 36 unique levels of increasing difficulty.

This game was made for the UBC CPSC 427 class of 2024W1. Our team consisted of 6 students, and we each divided the idea out into core elements that we would take ownership of. My responsibility was the backend systems, with my main focus being the data structure of the game's levels and objects.

For this, I created a modular system utilizing json files to store level details. As we were required to develop our project from scratch in OpenGL, we needed to come up with an easy scene system to allow for easy development and refinement. Utilizing the principles of ECS, I was able to load structured json files into the ECS, allowing for immediate initalization of gameplay. This feature took a lot of refinement, and involved further enhancements such as abstract templates and dynamic reloading. However, as a direct result of this system, we were able to develop several dozen levels in such a short period of time.

In addition to this, I was involved with refining various points of our development. This included adjusting the physics system to work on a fixed update system, contributing to the various stages of planning and refinement, and monitoring of scope creep. The vast majority of my tasks were in service of making other teammates jobs easier, and that I am very proud about.