In a couple of days, Immersed Europe will kick off in Murcia, Spain. Immersed Europe is a conference covering technologies such as virtual reality, augmented reality, stereoscopic 3D and much more. As the media sponsor for Immersed, Tom's Hardware is interviewing some of the speakers ahead of the show, including one of Epic Games' lead programmers, James Golding. He shared some of his thoughts on VR, and how Epic Games is making the life of developers easier.
Tom's Hardware: What is your role at Epic Games, and how does that tie into VR?
James Golding: I'm one of the lead engineers on the engine team; I lead what's called the framework team. Framework covers a bunch of different stuff. It's not rendering, but it is animation, physics, audio, input, collision detection – lots of different supportive areas needed to build an interactive setup.
Initially, my connection to VR was more geographical than based on that role specifically. I'm originally based in the UK, and increasingly there is a lot of interest in VR over here. As someone who has been involved with the engine team for over 13 years now, I became involved in those discussions with people interested in using the engine in VR. What's interesting is that as time has gone on, while initially VR was all about rendering (getting the distortion right, latency), things like motion control (and) input became more important.
The big areas that I'm working on are control schemes, building different environments that you can interact with and such. The entire paradigm for how you interact with a VR world is very different from how it works in, say, a conventional first person shooter. Things like HUD elements or "gamified" interactions with the world, you don't want those in VR – all that is being rethought. The way you interact with the world, and how the world responds to your input completely changes. That's the interesting challenge that I've been getting involved with over the last six months or so.
TH: Can you give us some examples of how things are different in VR games?
JG: In a first person shooter, you'd no longer press a single button to reload (a "gamified" interaction), but you actually pop the old clip out of the gun, grab a new clip, and put that in your weapon. Building something like that is profoundly different, and it takes a lot more work.
Other aspects such as physics in the world, when you drop objects in VR, or throw them, or bounce them -- you expect those interactions to work. We don't have any templates for building interaction, so coming up with something that feels as real as possible is very difficult.
I don't think we'll solve all these issues in the next year, but it's interesting to think about them and set out our roadmap in a way that will tackle those things.
TH: What is Epic Games doing to make life easier for developers?
JG: The most important factor to consider is iteration time – the time it takes to preview something in the headset, adjust it if it isn't working the way you want it to, and preview it again. A developer needs to be able to work on the PC, but then at any time be able to press one button to then preview their work in the headset. Being able to bounce back and forth between the two is a huge improvement in the workflow.
Visual scripting: One thing we try to open up is the ability to create things without necessarily having the ability to code. The scope of people interested in VR is huge, and in the past you always had designers and implementers, but the blueprint system for VR makes it possible for designers, artists, or whoever to work on it.
After talking to many people at events, or privately, we've been working very hard to make the blueprint system as powerful as possible, in order to ensure that most people can implement the ideas that they want to. It's a nice marriage between technology and functionality, aimed at a wide group of people.
All of the features will be implemented in the Unreal Editor. It's meant to be a one-stop shop for all your work. Of course, you will bring in meshes from third-party packages, but in the Unreal Editor you'll lay out your levels, environment; configure animations; [and] build your characters and scripting. Of course, you can configure the interactions with the world through C++, but also through the visual scripting in blueprints. We've tried to make sure that most of the features that people would want to use are exposed through both mechanisms.
TH: What would you say Epic Games is doing differently on that front compared to competing studios?
JG: The fact that we're in a position to not just build experiences for ourselves. We've done about four or five now, but it's been very interesting to build tools for the audience that wants to build things. We try and think very broadly about things. Instead of thinking "This is the way to do stuff," we ask ourselves how we can help the VR community as a whole.
There are some very complex problems in VR, such as time warping, rendering, latency, latching and more. One thing we can do is allow people to not have to think about that stuff. We have great relationships with the VR hardware makers, and the idea is that we can work directly with them, and solve those problems once. This allows other people to focus on how the interaction works.
We're not just thinking about building experiences, but producing a platform, and avoiding a lot of the problems for a lot of other people. That's why we're so interested in working together with other people, going to events, etc. The enthusiasm is incredible.
TH: If you had to name one thing, what would be the most intriguing thing you've seen about VR?
JG: Goodness…I think that takes us back to interaction. The scale of interaction is so different from all the games that we've seen up until now. A game such as Gears of War, in the past, would have an environment that you sprint through, while in VR, standing in one room can be compelling for quite a period of time. The scale at which you're caring has become much finer – you're building small objects with a lot of detail. Even the smallest interactions can be compelling, in a virtual world – that's the most striking thing to me.
In a VR world, you'll find yourself wanting to do things such as pick up a cup, read the newspaper, read the text on a little plaque – so much information comes at you in VR, so you have to slow down to take it in. We also really have to give people the space to take it in.
Learning from other mediums, you could take [theater] as an example. It engages the audience in a very different way in linear time as opposed to filmmaking, making it a very interesting place to look. We can learn a lot from it.