This week at Develop Conference, Project Morpheus senior engineer Patrick Connor gave a brief overview of the sorts of software considerations that developers need to keep in mind when creating games for Sony's VR device.
"The aim of Project Morpheus is to create a system where you feel like you're in a real world," he said. With this is mind, his first piece of advice was: Don't use cinematography.
While special effects might look great for a movie or a regular video game cutscene, "cinematography actually detracts from the experience," he says, leading to the player feeling less immersed in the game.
"What we're trying to do is create this sense of presence and immersion," he says. "That means making the user believe that what they're seeing and feeling is real without getting distracted."
Another big point to consider is the resolution of your game. You need a good resolution, but this can be a challenge with VR, says the engineer. "Stereo rendering is fairly heavy, and a wide-field of view means culling is more expensive. However, good anti-aliasing can be more important than native resolution."
The need for anti-aliasing is simple: "Humans are easily distracted by high-frequency noise, and that is always going to detract from the immersion." A combination of anti-aliasing techniques, such as image-space, Edge Geometry, and Temporal AA, can really help to keep noise to a minimum.
A high frame-rate is also absolutely essential, as a dropping frame rate can feel really bad in VR. "You should maintain 60fps all the way throughout development. VR depends heavily on it," he notes. "You should be optimizing right at the start of your project."
More tips: "A lack of v-sync is much more noticeable... You need as low latency as possible. That's really important... Don't use more than double buffering."
On the topic of latency in particular, how does Morpheus combat the time between rendering and the results appearing on the head-mounted display? It utilizes prediction to fill in the blanks, says Connor.
"Project Morpheus is a closed system," he says. "We know the latency of the hardware, and libraries/software, so we can predict [what needs rendering and where.]"
"Some people distrust prediction, but the prediction accuracy is much better than you might expect," he adds. "You should really learn to trust it, as it's rather essential."