VR is a new format from both a game design and a camera design
perspective. We took our “first steps” with VR when we worked with
Oculus to develop Herobound: First Steps for Gear VR. That
game and its sequel, Herobound: Spirit Champion, used a
stationary camera overlooking a single room. The viewer’s
experience was similar to looking into a shoebox diorama. We found
this made for a very comfortable VR experience.
In Herobound, players travel room to room, solving
puzzles, and engaging in combat before moving on to the next room.
Players often leave a room in one of the cardinal directions and
enter the next room from the logical corresponding direction.
Between room transitions the screen fades to black and then
transitions to the next room. It’s pretty straightforward and made
a lot of sense when playing the game.
As we made the rooms more elaborate and forced the player to
look around more within a given space, we found that the hero could
leave the room on one side and then wouldn’t be in view of the
player when they entered the next room. If the hero was not on
screen, a little icon would pop up with an arrow pointing the
player back to their hero. This worked pretty well.
Envisioning Chronos
With Chronos, we wanted to create a more seamless world
that wasn’t limited to single room moments.
Our design goals included:
- Combat that can start in one room and spill into the next.
- Gameplay spaces where the player could look around and see
where they previously were or where they were going.
- Puzzles and interactives where the player could switch into
first person and examine in detail.
- An experience that was comfortable for all players.
The Camera
We based our camera system on the assumption that the player would
be looking at their character most of the time. With that in mind,
we created a system made up of static cameras that the player
controls with their head by looking around. It feels natural and
when people play the game, they pick it up very quickly. Obviously,
having a single stationary camera wouldn’t make for a very big
game, so we set up a system that allows for transition volumes that
switch the current camera to another camera based on the player’s
location. This happens instantaneously with no lag or loading that
could cause players to feel uncomfortable or disorientated.
To ensure a smooth transition between cameras, we made it so the
player’s character is positioned in the same screen space location
they were in the previous camera. So, even though everything else
changed in the player’s view when the camera switched, the
character was their anchor point. This is where the assumption that
the player is looking at their character came into play. To assure
that the camera transitions made logical sense, as opposed to
occurring arbitrarily, there had to be a threshold that framed the
transition players passed through. The easiest example of this is a
doorway, since it makes for a natural camera switch point.
From a setup perspective, here’s how it works: With the
character in Room 1, when they exit to room 2 which from camera 1’s
perspective is to the left, the player’s head will be turned to the
left to some degree. This means camera 2 in the next room will need
to be on the opposite wall rotated 180 degrees to compensate for
their head turned to the left. This is what allows us to keep the
character in view and avoid losing them.
These are the two game camera views from the previous room
example. Here, the player is leaving room 1 and entering room 2. In
the process of this transition, he steps through camera volume 3,
triggering camera 2 as the active camera.
Not all camera transitions need to be 180 degree switches. In
the example below the camera is only rotated 90 degrees instead of
180 degrees like the previous example. In cases where the player
only needs to rotate their head slightly to the left or right,
these 90 degree transitions work great and end up being very
readable as well.

Camera Height Transitions
The real challenge begins when introducing elements like height
transitions. Below is an example of this. If the character enters a
room at eye level from the previous room and needs to go down
stairs, they’ll leave that room with the player looking downward.
That means in the next room, the player needs to have a camera that
lets them look down when the character enters the room. There needs
to be a way to allow the player to return to a relatively neutral
head position. If the player is required to follow their character
while looking down or up for too long, it can be physically
uncomfortable. The goal is to build the camera locations around a
relaxed, centered viewed and have them move their head from
there.

This is an example of a height transition. In camera 2 it’s a
little hard to see, but there are actually stairs the character can
ascend that allows the player to return their head to a more
neutral position. In this example, the height transition down
occurs on a spiral stair case where the entrance and exit of the
room are in a similar location relative to the overall screen
space. This lets the character remain somewhat centered when
transitioning rooms.
Ladders
Ladder transitions are another way we allow the player character to
translate large vertical distances. In many cases we push the
ladder away from the player’s point of view(camera) so that there
isn’t the need for a lot of vertical neck rotation. In addition to
this, we take control on the ladder away from the player so we know
where the character is when we transition the camera. If we didn’t
do this, there’s a chance the character could be occluded between
floors and leave the player confused as to their character’s
location.

In closing, this camera system has proven to be robust and
provides a comfortable VR experience for just about anyone who
tries it. It also maintains its comfort level for long play
sessions. This camera system could be translated to a number of
different genres as well. Lastly, some may think third person Point
of View takes away from the VR experience. But, to the contrary, it
still provides a unique experience because the player is an active
participant in the world and still feels a great sense of presence
in it.
Gunfire Games
Gunfire Games is an independent game developer based in Austin,
Texas. With core team members including the remnant of Vigil Games,
best known for creating and shipping the DARKSIDERS
franchise, and the developers behind Chronos, the Oculus
Rift Adventure RPG. We started the studio because we love what we
do: Crafting worlds; building games; it’s our DNA.