In 2019-2020, I worked at an awesome company called vrCAVE. Since this sorta of work is confidential, I can only give general summaries about what I’ve worked on.
I joined the company in May 2019 as part of a relatively small team, being an indie sized studio and all. I had never worked in Unreal Engine 4 before, so this was all learning on the spot but I was able to pick it up quite quickly as our work focused on using Blueprints which are super easy to work with for someone familiar with Object Orientated Programming. I really liked the graphical workflow as well. Particle systems and shaders were also on the agenda to learn. From here, I was assigned to helping with the occasional bug ticket that customers would report, such as changing the flashing speed of a specific shader, fixing a misplaced mesh or a fixing an edge case. Not long after, I began working on the Oculus Quest porting of the vrCAVE library. This meant going into the previous 4 major games that they had released and creating a lower graphics version without damaging the original version. To do this, it became neccessary to refactor all of our previous blueprints into abstract base classes. This inevitably required a ton of bug fixing of broken references, which meant pouring through all the code and understanding how things were working. Which was super cool since I got to learn tons this way of how the other developers had worked in UE4 and solved various problems!
The other big project I worked on was a brand new escape room, the Time Travel Paradox escape room! I helped out a bit with the design pitches and discussions, and then worked on the impelmentation of the majority of the features in the central third of the game. I was responsible for the creation, delivery and bug fixing of the “claw game” machine, as well as the “past and future” timebox safe logic, as well as the associated hints for them. Being a game based on time travel, this lead to lots of little clever “gotcha” moments where we had to decided how the past impacted the future and what would change, and how we would handle those things. Unreal’s tagging system worked really well here to identify the various objects in play and what should happen to them if something occurred in the past. All around, an absolutely excellent project with a wonderful team.
One other thing I managed to accomplish after the new escape room was improving our debug tools. Normally, we would debug with our headset connected to the computer, which made it very difficult to move around a 5mx5m space. As in, you couldn’t. We would test mostly in engine as a result but this had mixed results for trying to test the Oculus quest version, even when we changed the rendering as certain bugs wouldn’t appear in engine. This lead to me working on a cool in-game tool that you could bring up by entering our custom developer mode that would pop-up a 2D menu in the 3D world that you could point at and control with your hands, just like the menus work in all the official VR menus for the Oculus Quest. We used this to control level specific triggers, allowing us to much more easily test massive components of the game without needing to have someone attached to the computer and allowing a solo dev to much more easily play through components of the game in the final build in the headset as needed.
Talking about VR is cool and all, but if you ever get the chance, and this is my own personal opinion, I think VR escape rooms are rad and you should check them out when you get the chance. Being able to escape a virtual room is pretty cool because you get to time travel, go to space, the ocean or even to fantasy lands with dragons and robots. And that’s just awesome.