Lovecraft-Inspired VR Game

This is a project that I did for the 2014 Stereoscopic Displays and Applications Convention in San Francisco. It was built for the Oculus DK2 VR headset using Unity. This was the first VR game I ever made, and would be a starting point for much of my career in VR technology later on. The game levels are procedurally generated and use a modified version of the collapsing floor tile system that I made for a previous game jam entry.

The gameplay asks the player to traverse spooky city streets where they must collect 3 out of 4 scrolls and return to the center altar. The challenge is that the ground begins to fall apart as you walk. If you stay in one spot the ground will break, sending you down into the ethereal green goop below. Keep moving to survive!

Besides being my first time creating a VR game, this was a really valuable experience for me because I got to show it at the convention and see how players interacted with it. And though I got positive feedback from just about everyone, I was able to see where I could make improvements from my own observations. The biggest lesson I learned was about the pacing of the game. In practice it can sometimes take upwards of 10 minutes to solve a level depending on the size and complexity of it, which was not ideal for a convention setting where people were lining up to try it. I noticed that most of the time players were excited just to collect a single scroll, and sometimes they were excited just from walking a few feet forward and falling into the goop. Making the levels smaller, asking players to retrieve one scroll instead of three, and adding more engaging visuals at the beginning would improve the experience quite a bit.

The procedural level generation was a big part of my focus for this game. It produces maze-like layouts of city streets and alleyways with paths that can loop back on each other or turn into dead-ends, making every run a unique and unpredictable experience which felt right for a Lovecraft setting.

The level generation function is passed a few parameters to control things like complexity, size, hallway width, and number of dead ends. These levels are generated on-the-fly when the game starts. The algorithm first generates a rectangular shape for the level origin point. More rectangles are added with random sizes that overlap the original, resulting in a central area I call the “plaza”. From there, “hallways” are extruded outwards and will randomly turn left or right as they extend. You can see the results in the animated image above, which are all generated from the same set of parameters.

You can check out a quick video here. The video was recorded without a VR headset so it looks a bit stiff, but it demonstrates collecting a scroll and shows the floor collapsing.

A Windows build and the project files are available here. You will need a controller and an Oculus DK2 for the proper experience, but it is technically playable just with a controller on Windows.