We’re hard at work on exciting new content for The Torus Syndicate. As we do so — as we’ve done since the project’s start — we need to be mindful of the unique challenges that come with making a virtual reality experience as seamless and immersive as possible. Take, for example, the The Torus Syndicate‘s introduction. It sets the game’s stage by jumping the player through a few different episodes from the life of the protagonist, Lucas Lawson. They visit his home and learn of his motivations for joining the police force. They experience going through the police academy and learn to the play the game. And they graduate alongside the rest of their class, ready to investigate the dramatic underworld of the Torus Syndicate. We wanted the experience to be utterly seamless, to give the player the sense that they were being whisked from vignette to vignette without loading screen or hiccup.

If the game weren’t a VR game, we might be able to whisk the player away simply by building each vignette (or “sketch,” as we call them internally) into its own level. Normally, the game has to load each level just before the player enters it, but each sketch in the introduction isn’t so intense as to require significant loading time. Yes, we might skip a few frames and induce a momentary pause, but not enough to require a loading screen. In a virtual reality headset, though, that momentary pause takes on a whole new look-and-feel. A brief enough pause might cause the game to “tear” a bit, as the video output is no longer completely in sync with the motion of the player’s head. That’s not pleasant, so, if the SteamVR platform detects that the loss of up-to-date video is bad enough, the player will get kicked out for the duration to a static VR environment that the computer can quickly render. The player won’t experience any nausea, but, for the duration, they also won’t experience the game.

Our dev computers use a holodeck as the fallback, static VR environment, but, as cool as it is, we’d rather be playing the game.

To keep them completely in the game without hiccup, we decided to keep all the sketches in the same level so they can all be loaded at once in the very beginning. If you could take a birds-eye view of the introduction, you’d see each sketch near each other. They’re self-contained with their own skyboxes to prevent players from seeing out into another sketch. Each sketch also has a separate transition space; this is where we put the title text that the player sees before they arrive at the next scene. It’s all wired up into the so-called SketchManager. When a player’s ready to move to the next big thing in Lucas’s life, the SketchManager jumps into action. It fades the screen to black and instantaneously moves the player into transition then repeats the process after a short delay to move them into the next sketch. For the player, there’s no loading screens, no tearing, and no pauses. It’s as seamless as teleporting from one place to the next — and, if you’ve read one of my many posts on locomotion in The Torus Syndicate, then you know that makes for an immersive experience.

Lucas Lawson grew up in a strange town. The police academy, with its own sky, is on the right; his home street is in the middle.

Hurray! The Torus Syndicate is now on Steam.

Check out our store page and buy our game if you’ve been enjoying these posts!