Designing the boat traffic system was a blend of AI pathfinding, spawn management and responding to player interactions. For pathfinding there are 2 options currently, the built-in algorithm into Unreal Engine and one created by me, when I was experimenting with different methods to find the most realistic routes, while avoiding collision with the static obstacles. The boats also dynamically adjust their path to adapt to changing player interactions, such as shining the light on them, causing them to follow it.
Developing the physical interaction system was about making the virtual world feel tangible. I implemented a system to allow for the player's hands, which were replaced by a hook and a cannon to interact with objects in their surroundings in a physically-accurate manner. This meant that players could push buttons, pull levers and fire the cannon without ever pressing a button on their controllers.
The monster spawning system is driven by the player's progress and environment. I developed a dynamic spawn algorithm that would determine when and where monster would and could appear, ensuring unpredictability and excitement. The system also adapts to difficulty levels, increasing the intensity of spawns as players progress through the game.
Throughout the project, I faced many challenges in optimizing for a VR environment. Real-time pathfinding, complex physics interactions, and dynamic monster spawning had to be carefully designed and implemented to ensure smooth gameplay experience without sacrificing immersion. By iterating on the design and testing multiple scenarios, I learned valuable lessons in efficient system design.