The XPR Platform means a lot to me as it's actually my first professional project that I worked on! To say I learned a lot on the job would be an understatement. From creating in-house tools, to debugging and analyzing nuanced issues from headset to headset, and even working closely with clients, I learned what it meant to be an industry game-dev.
The project featured multiplayer, character customization, a virtual shop, adaptive AI, possessable AI, interactable video players, and so much more.
The project features:
Optimized Audio Portals - Audio culling is great, but also expensive, especially in VR where every frame matters. This is why I created an easy-to-use in-house tool that allowed us to place audio portals that would not only play and stop audio, but intelligently shift the volume to simulate audio occlusion and audio bleed through thin walls. This system was also networked, which meant that players who entered a room later on would hear the correct section of the audio regardless of when they entered or when the audio started.
Dynamic Waypoints - One of the goals of the experience was to have a virtual tour around a giant cruise ship. We quickly realized we needed a way to point the players in the right direction. One approach we took was to use a NavMesh to have the waypoints dynamically "move" to their destination, but this didn't give us the control we wanted. For that reason, I created a curve system that allowed us to place waypoints exactly how we wanted, and best of all, it was so easy to edit the curves after the fact that we regularly moved them around for new tours around the ship.
Output Device Switching - Okay, okay, on the surface, this one seems pretty boring, but the reason it was huge in my developer journey is that this was my introduction to FMOD and audio programming as a whole. This seriously opened a door to so many possibilities, and to this day, I use FMOD in many of my personal and professional projects.
Things I learned on the job
Industry standard project management and coordenation within a larger team setting
Optimization techniques for projects that are resource intensive and performace-critical
Professional audio tools and the development of C++ dlls for use in the Unity Game Engine