‘Devs Doing It Right’: VirZoom’s CTO and Co-Founder Eric Malafeew Talks the VR Frontier
CTO and Co-Founder of VirZoom
There’s no doubt that Virtual Reality (VR) is hot right now. So, in our fifth and final installment of our ‘Devs Doing It Right’ series, we chatted with VirZoom CTO and Co-Founder Eric Malafeew about the realities of developing for this evolving medium.
Can you provide us with an overview of virZOOM and what you do?
VirZoom is a startup with 25 employees working in the VR space. We make hardware and VR games that turn stationary exercise biking into interactive sports activities. Our games allow you to ride horses, fly a Pegasus, command tanks, fly helicopters, drive race cars and paddle kayaks, all while getting a workout. By pedaling on the stationary bike, players are immersed even further into the VR experience.
How much did your AAA game development background with Guitar Hero inspire you?
It absolutely had an impact. In a way, it made us feel like we had done this before. When Guitar Hero came out, no one knew what to make of it. It was really unique. When we were developing for Guitar Hero, we noticed that it really took the feeling of a guitar to connect you to the music. The guitar connected our synapses to the game. We took this line of thinking and applied it to the gameplay with the bike. The bike allows you to bridge the physical world and the virtual world in an intuitive way so you can actually have that authentic, immersive experience. Consequently, we have the same feeling of uniqueness with VirZoom now that we did with Guitar Hero back then.
Cycle and Tank are your two most popular games. What were the biggest hurdles you had to clear while developing them?
With Tank, it’s all about strategy and outmaneuvering other players. It’s perfect for VR because of the need for situational awareness. But the biggest challenge, true for all our games, was balancing the need to pedal slower and faster for good interval exercise, and scoring with a combination of smarts and stamina so it doesn’t just become about all-out sprinting. So we designed levels where you can’t camp for long, and also an AI that keeps coming at you and power-ups you have to run for.
Cycle is a game that was purely made for fitness. The gameplay centers around completing goals between gates, but you can also draft other riders when you start to get tired. So players can help each other as well as compete. The challenge for us was that the game was an infinite runner – the terrain just keeps going and going. Also, all of our network play is drop in/drop out. We didn’t want to have lobbies for players to gather. So we have players drop into the game alongside you, but with their own gate, and goals that ramp up from the beginning and terrain that keeps generating after your game ends. Also, AI riders are shared between players, but if players can’t keep pace with each other, they drop off into their own network rooms with separate AI.
Let’s talk about latency. It’s one of the biggest VR developers face. How do you deal with this?
We dealt with the only way we know how: by breaking down issues and play testing the heck out of them. Latency and simulation sickness are the biggest hurdles you will face as a VR developer. You have to get people comfortable in moving around big worlds, but you don’t want to rely on acclimatization. Latency is mostly solved by modern VR hardware and engines, but your game still has to keep up the necessary frame rate to update the scene between every screen refresh.
Avoiding ‘sim sickness’ is more the responsibility of design. It is caused by acceleration differences perceived between your senses. Through play-testing we found that people are more sensitive to discrepancies in the vertical direction and when turning than in forward or sideways directions. Our games are about navigating big virtual worlds so we had to solve these issues. For turning, we developed a solution that separates when you want to change direction from when you want to rotate – you only rotate in sync with your actual head motion. For flying we focused on softening landings, which was the biggest vertical discrepancy you’d feel. We also made it feel right to go over hills by adjusting velocity and requiring your head to look up and down so gravity stays correct.
The brain needs familiar, recognizable patterns. This is why your UX should strive to mimic reality, which is easier said than done.
What VR development API do you use? What programming languages other than Java are you seeing used in VR development?
We use Unity C#. They keep up-to-date with all platforms and are great about getting new VR drivers into their builds quickly. Unity is also very flexible to work with. Another benefit for us is when you’re tuning frame rate for VR, you want predictable performance; Unity gives you that.
I’ve been a C++ programmer for over 25 years, but I love everything about Unity C#. It’s a very clean language and with it, you can express things with a lot less bloat than when you’re trying to similar things in C++. It has advanced features that make things like reflections, delegates and co-routines easier to perform than they are in other languages. Overall, we use a combination of Java, C++ and C# when we need to talk the native environment.
What are some of the tools you use when you’re testing?
Our biggest tool is our process. We use whiteboards and we develop two weeks at a time. Then we release what we developed to our customers on every platform. That two week cycle keeps us from getting too far ahead. When you have longer release cycles, you get in trouble with testing and optimization. We also feature a lot of network play, so it’s very helpful to test using separate development and production environments with Photon Networking. And because we’re old school, we do a ton of print debugging and looking through the logs.
What area of VR do you think will first push it into the mainstream?
Most people haven’t experienced VR. We’re still waiting for that moment, but we see VR isn’t just for gaming; we are most excited to see the combination of physical effort with gaming and other active applications, such as patient rehab and sports training. The opportunities are boundless. These mixed environments are where we really want to see VR go – we want to take it away from the TV and we think that this will resonate with the broader population.
What is the biggest misconception surrounding VR today?
People think it looks kind of dorky. People unfamiliar with the technology might think you’re going to see people walking down the streets with headsets on and that it’s anti-social. We’ve been trying to combat this by releasing games that are fun and interactive. Also, VR in the past has been expensive and tweaky. That’s kept a lot of people from investing in it. But with Gear VR and mobile phones, I think we’ll get to a point where everyone sees how easy, useful and fun it is.
Is there a catalyst that will move the whole VR field forward?
No, I think it will be gradual – but it definitely won’t revert. The tech is solid and sound. People have been feeling it out for a while now. With that said, people will have to figure it out for themselves and how it can impact their lives. I think VR will evolve based on its power, the content that is developed for it, and how portable the mediums become. I think it’s an amazing medium for creativity and someday, someone will develop a mass application that will really drive uptake.
Can you talk a little bit about your relationship with Samsung? How has it helped you push forward in the VR space?
We’ve always been excited about mobile VR but we started with console VR, because we felt it created the best immersive experience. We thought that VR really needed to ‘wow’ people and that the console was best suited to this. It wasn’t until this year when we saw the Samsung S8 and its ability to port our games that we realized that VR is at the point where you can immerse yourselves in interesting worlds right in the palm of your hand. Samsung has been a great partner in helping us develop Gear VR compatibility for our games.
Lastly, a question that we’re asking all of ‘Devs Doing it Right’: What features do all great/successful apps have in common?
Focus on one thing and do it well. Have a pure vision that can be built around. Start small and solve a problem that needs solving. Maintain your clarity and focus; that’s how, as a developer, you will succeed.