Partly inspired by my previous experience woth the Oculus Rift, I decided to get the Development Kit to do more experiments with the system. I am still very excited about the hardware. I think it’s safe to say that this might be the singe most important gaming peripheral since the Wiimote. Before developing anything I went on a binge of demos and games with Oculus support in order to understand the capabilities of the device. One of my favorites so far turned out to be Lunar Flight.
Lunar Flight is the flight simulator of a lunar lander not unlike the Apollo-era LEM. However, instead of landing on the Moon from orbit you fly around on the Moon from location to location. The game features realistic physics and controls. For example, if you start turning your spacecraft, it will continue turning due to the lack of air resistance. You will have to stop any rotation by applying counter-thrust. I noticed the game some time ago on Scott Manley’s channel but I was somewhat put off by it due to it’s rough aesthetics. The game changed quite a bit since then and it was the Oculus Rift implementation that completely won me over eventually.
The game received a major overhaul to work with the Rift. Most of the menu system was re-mapped to an Oculus-friendly 3D menu. The 2D cockpit was replaced with a 3D model. The combination of the right kind of experience and a great deal polish resulted in what I think is a benchmark for Oculus Rift implementations.
Nausea-Free
One of the biggest stumbling blocks for the success of the Oculus Rift will be the nausea. Most current games induce a surprising amount of motion-sickness. When what your eyes see doesn’t match up with what your sense of balance is telling you, your brain starts suspecting you are drunk or poisoned and decides to evacuate the contents of your stomach just to be sure. This is exactly what happens when people get sea sick. Some people already reported having similar problems playing FPS games in 2D monitors. The Rift exacerbates this minority issue to a platform-defining criteria. Everybody gets sick on the Rift eventually. Game designers need to learn how to avoid it. Lunar Flight shows one solution. It lets you fly a rather slow-moving vehicle. There are no sudden accelerations. You can pitch and roll the lander, but you don’t have to. There are actually different strategies you can apply to fly it. You can decide for yourself how adventurous you want the flight to be. The result is a very smooth, nausea-free experience. With most games, I cannot play more than 20 minutes or so before feeling sick. Lunar Flight I was able to comfortably play for over 4 hours at a time – my longest continuous Rift experience so far. And I could have easily continued playing.
Taking Advantage of the Cockpit – Information
Straight-forward and natural: The map is right there.
The cockpit demonstrates a very effective interface design principle when using the Rift: Additional information can be placed in space around the player instead of hiding it in a menu. So for example, instead of having a map that you would bring up by pushing a button, you can just display a map on a virtual screen in the cockpit to the left. When you want to look at the map, you just turn his head to the left to look at the screen. You never leave the context of the game. More importantly, it feels straight-forward and natural. The map is right there. You don’t have to learn buttons or anything. A similar system was already employed in the game Far Cry 2. But it’s really the head-tracking of the Rift that knocks this out of the park.
Taking Advantage of the Cockpit – Interaction
PUSH ALL THE BUTTONS!
Another interesting feature of the cockpit in Lunar Flight the inteactivity. The cockpit features buttons you can actually press. You highlight them by looking at them. You press them by pushing a catch-all “interact” button on the gamepad. This is a good way of mapping a large amount of functions on a limited input device like a controller. The reason why this is important in the case of the Rift is because wearing the headset, you just can’t see a keyboard. It is therefore impractical to map all those functions on different keyboard keys like most simulators tend to. You could hide those functions in a menu structure, but this would pull players out of the context of the game. Using the cockpit as a “virtual controller” is a smart solution that ends up feeling as if you are actually in the cockpit PUSHING ALL THE BUTTONS. The concept does have some limitations, though. Turning your head to look straight at a tiny button takes a moment – a moment where you won’t be looking ahead. So this solution won’t work for very time-dependent functions. Using this to refuel your spacecraft or selecting the next mission while on the landing pad is perfect. Activating a scanning device while desperately trying to maintain a hovering position just a couple of meters over the surface can be a bit awkward.
Menu
It won’t win visual design awards, but at least it actually exists and it works.
Finally, it wanted to stress out the importance of a menu designed for use with the Rift. Most games I’ve seen have been retro-fitted for use with the Rift. They usually end up projecting their previous 2D menu on a plane in front of the player’s eyes. This hardly ever works. The menus have been often designed for much higher resolutions. Fonts are rarely legible. A workaround some developers use is to move the plane closer to the face of the player. This makes fonts more legible but players end up seeing just a part of the menu at a time – like operating a GUI trough a telescope. The developer of Lunar Lander actually went the extra mile and re-designed the most important menus to work with the resolution of the Rift. They are somewhat an eye-sore but they actually work.
One might think that it should be no problem just to take off the Rift for a second to click on a button from time to time. However, this is impractical for multiple reasons. Putting the Rift on takes a couple of seconds. The lenses have a sweet spot that you have to find. You need to pull on the straps for a short while until you’re all set. It is certainly more complicated that donning a pair of headphones. Additionally, I’m quite short-sighted and I’m using the Rift without glasses. After removing the Rift I still need to put on my glasses before I can see anything. Finally, a lot of games actually require you to use the Rift in “Extended Mode”. This means that the Rift works as an extension of the desktop rather than a copy of what you see on your monitor. So the menu won’t be even visible on the monitor while you are using the Rift.
The lack of a Rift-friendly menu ends up spoiling a surprising amount of games for me, including high-profile titles like Hawken or War Thunder. In this context, Lunar Flight sets yet another benchmark.
Overall, I thunk Lunar Flight is an obligatory experience for anybody interested in developing games for the Rift. It is by no means a perfect game. But it plays to the strengths of the peripheral while avoiding it’s most serious pitfalls. It shows though-provoking ideas that I hope will be explored further in upcoming Rift games. Finally, it also goes beyond a quick tech demo – it is also an engrossing and enjoyable. It’s a proof of concept not only for the technology but for the first time also for the complete experience.
Krystian,
Well written summary of LF. Well done! Your writing is better than a lot of native English speakers.
I too think its Rift implementation is, so far, the best I’ve seen. I got my Rift yesterday though so maybe there are other great examples I don’t know about.
LF’s Rift implementation is still in beta too so who knows what other improvements are planned.
I’m definitely going to have a blast trying to master flying this thing around competently.
Cheers!