The new RTX graphics cards have been the talk of this year's Gamescom for hardware nuts, and with good reason. While their jump in raw performance is still a little vague, at least in terms of RTX 2080 vs GTX 1080 speeds, the new techie bits they're ushering in such as Nvidia's fancy ray tracing light gubbins (which makes shadows and reflections look extra pretty and realistic) and their clever, speed-boosting deep learning super sampling (which uses AI to produce equally sharp, smooth edges as traditional anti-aliasing tech) are really quite impressive.
There's a lot more I can't tell you about just yet, but one man who can is 4A Games' rendering programmer Ben Archard, who I sat down with earlier this week to chat about all things RTX in upcoming post-apocalyptic, train adventure Metro Exodus. We talked about everything from 4A's RTX performance targets to how it could potentially change the course of game development as we know it.
RPS: What have Nvidia's RTX cards enabled you to do with Metro Exodus that you couldn't do before?
Archard: This is a brand new suite of hardware. It's the same story from the history of games development. Everything is about using new techniques to approach tiny little aspects of lighting. The various techniques that we've built up over the years as standard like global illumination approach the way light works realistically, but they only tackle like a single part of it. They're disparate elements that come together at the end, but you have to build them up in slices across the frame.
What [RTX] allows us to do is push all that into the background. It's still there and we still have access to it – the engine can still use those things. But from now we can say, 'Actually, let's simplify everything, let's turn off all of our light probes, all of our interlaced lights, let's get rid of all of that, and let's just have a single light and do that light properly. Let's physically model it the way it does it in nature.'
So you take a pixel and bounce a ray off it, and the ray tracing architecture allows us to accelerate the way we search the full scene. It allows us to say, 'There's a surface over there that's providing us x amount of illumination.' Before, you might put seven light probe samples in the room which would be able to roughly work out that there's this much light coming from that direction, for example. [Ray tracing] allows us to simplify things and develop a brand new global illumination system that's actually a nice physics system, because it is – it's a light bouncing around the room physics system – and it's natural and it's good.
And that has the knock on effect of helping the artists and designers because they have a lot less tweaking that they need to do. They can say, 'Oh my god, that's actually physically accurate, that looks nice and it's done it all for us.' So rather than have all these disparate parts all the way down the chain, you can just see what it looks like with this one effect. I mean, the effect is expensive! You're sampling and searching through an entire scene for information. But it's better, it's right. That's the thing. It's that accurate first bounce of illumination that really makes the difference.
RPS: At what point did you start experimenting with it in the development process?
Archard: Probably the turn of the year. Nvidia approached us.
RPS: This year?
Archard: Oh yes, it's been fast. And obviously we're still experimenting, you know, there's fine-tuning, and the devil is always in the details in these things. Actually implementing it wasn't a problem. The API is nothing - it's a really nice simple thing. So it's been over a number of months, but very, very quickly we got it off the ground and got it working. We were able to see initial results in the scene, but then gradually the iteration began. So you get that 80%, and then you've got the 20% polish, and now we're still working on it and how to be perfect, but the actual initial side of things was nice and easy. It was pretty quick to get it working.
RPS: Of all the new features that the RTX cards offer, is it ray tracing that excites you the most?
Archard: Don't get me wrong, there's a lot of amazing stuff in there, but I'm a graphics programmer and I can remember when Nvidia first came into the office and were showing us their first demos, we were like, 'Oh look at that!'. You could see everyone on the team was excited, and yeah, we were like 'Wow, that is incredible'. Because, you know, we didn't expect it. No one did. [Ray tracing] was always one of those things that we thought was ten years from now – and it's been ten years for about thirty years – so you know, all of a sudden, we were like, 'Oh! Oh, cool'.
RPS: Have you experimented with any of the other features yet, such as Deep Learning Super Sampling, or is it mainly the ray tracing you've been focusing on?
Archard: Mainly the ray tracing, that's what we're trying to hammer down for [Gamescom]. This is the big showcase. But it's also a really majorly important thing for us. It's an incredible effect, and it really does change the way we do things. We've picked the thing we think will give us, firstly, the most in Metro, because it fits in nicely with what we're trying to do - it looks great in the game - but also, it's a real wow factor and we want to work on it. That's where the team's been focused most. We are using other bits from GameWorks and other Nvidia technologies, but yes, for the moment, [ray tracing] is a big focus for us.
RPS: Will ray tracing be effectively like Nvidia's HairWorks then – as in, a feature you can turn on or off, or will it just be an inherent part of what you see when you play the game?
Archard: We're still working on it and haven't set out all the myriad of options that PC gamers will have yet. We haven't narrowed that down. But in principal, yes, it's definitely something like that. Yes, you can turn Hairworks on and off, you can turn any given lighting system off. It's a feature, so yes, you could have a button that goes, 'We're going to switch over to RTX mode now', but it's the same engine running all the time, so it's just, 'Okay, yes, we're going to switch over to traditional global illumination systems, or we're going to switch over to the modern RT GI system. It's an optional feature, but it's a really, really important feature.
RPS: Have you found the game's performance takes much of a hit when you turn ray tracing on?
Archard: That's the trouble, we're developing it and optimising it. We've got an existing engine with the existing systems, so a direct comparison isn't really fair. Yeah, when you first do it and you implement it in a naïve way, it's more expensive, it's slower. But if you optimise, yeah, you can get there. You get it up to frame rate and that's what we've been trying out. Actually saying what the final difference is, I can't, because we've not finished.
RPS: Do you have a rough target in mind?
Archard: We're always going to be pushing 60[fps], but we'll see what we get. Obviously, there's three cards there and we'll see what profiles we can get for each.
RPS: At 1080p?
Archard: It is 1080p, yes. That's the goal, but obviously we'll see how it goes.
RPS: I imagine there will still be a lot of people playing Metro Exodus without an RTX card, though. Is it the case that you've now got to effectively cater for two different branches of hardware?
Archard: Realistically, no, I mean it's still the same engine. We've developed it at 4A for years and years and there's still a whole suite of technology, all of the traditional stuff. The RTX is an extra feature that's a part of that – it's another tool in the toolbox sort of thing – but no, the existing engine is still there, it's still got traditional global illumination and lots of things that still look incredible, and [RTX] is the new thing we've recently implemented as a feature. RTX is not an overhaul of the way you develop games in general. It's something that fits in alongside it. That's why it's so great – it goes in nice and easy, takes your existing data and just represents it in another way.
In the office, I'm working on mostly a GTX 970 for many techniques that run smoothly on that, and that's on high settings, so we – we have a scalable engine. Legacy hardware works great on it, but also at the same time we're constantly implementing these new features that are tackling the hardware as it's coming out.
RPS: I guess what I'm trying to work out is whether ray tracing might shorten your development time in the future? How does it affect the length of time it would take to make a game?
Archard: It's an extra thing, it's an extra feature. Like any extra feature we implement, you have your time budget and you've still got to implement it. Just think of it as any other feature.
RPS: What about if we got to a point where, say, everyone's graphics card had ray tracing support – would that then potentially cut down development time?
Archard: Interesting question. Of course, it's not just us programmers, there's artists and designers you've got to talk to as well, but yes, because it's a physical simulation, it behaves correctly, it's a lot closer to physical reality. As I said, all these little elements [we have now], you've got to balance them – they get you towards reality once you tweak them, but that takes a skilled eye from an artist going, 'Right, I want to balance that' to get it just so.
Back in the old days it was even worse, when you had so many different sliders for everything, it was an absolute nightmare. We culled all of that when we moved over to physically-based rendering and image-based lighting and things like that, so that sped their workflow up massively. Similarly now, we've got the same sorts of materials, but now there's a lot of light techniques we don't necessarily need any more - we can just assume the first bounce [using ray tracing] is accurate from the lighting system, so it cuts out another huge chunk. It speeds up and I think ray tracing will speed up development.
RPS: One of the things highlighted in the Metro Exodus demo during Nvidia's launch presentation was that ray tracing could now theoretically let you use these accurately lit environments in different ways, such as hiding monsters in rooftops more effectively where they might have been visible before. Do you think ray tracing will fundamentally change the way you might design levels or environments in the future?
Archard: That's up to the designers and how they want to use it. We're providing them with something and they will discover what they can do with it. For everyone, this has only just sort of come out, it's a learning experience. Because it does things so well, like even [us programmers are] seeing things new – that bit with the ceiling [in the demo], these are only things we noticed when playing about with it. So now we've got it set up, we can say, 'OK, so what is that actually doing?' It's a nice little emergent process. So it's a discovery for [the designers], and they'll go, 'Ah, we can make use of this – here's an idea, let's make a game feature about this'.
We can't say yet exactly what surprises they're going to find, but I think that excites them as well because it will allow them to come up with new, imaginative stuff. The artists also have better control now, so they can work together to make scenes they think look good and ask the designers what they can do with it. So yes, it has that knock on effect. We've just set up something really, really fundamental, right down to the way it actually works, and then all of these other things can explode out of it and all these game development scenarios can just emergently evolve as time goes on.
RPS: How has the RTX cards' overall performance been for you?
Archard: Performance is good, but you've got to remember this is an incredibly expensive [time-wise] system. That's the reason why it's never been done. It's very expensive. We haven't finished fully optimising, so we don't know what the difference between a traditional rendering system and the RT global illumination system are going to be yet, but it is more expensive. There is always a cost associated with every single thing we try to do in games development. We're not putting in anything more on top of it, we're waiting to see how we go and then expand and build on it from there. But remember, this is an evolving thing. We're just at the forefront of this. We're experimenting, we're still developing. We'll see exactly where we end up with the frame rate. We're doing well and we're getting good results and that's still being hammered down before launch.
RPS: How long do you think it might be before we really start seeing the proper, true benefits of ray tracing then?
Archard: At the moment, it's getting on. It's on demo, it's on its way for the first time, but I see exactly what you mean. It's going to come over years. Like any emerging thing, it's a generational kind of thing, so if we parallel it to how we moved over to 3D in the 90s, we saw years of gradually increasing polygon counts. Of course it's going to happen. Nvidia are always going to be putting together better graphics cards all the time, they're going to have more Giga Rays a second – that's the thing that's going to be on the back of the box. It's not going to be pixel fill-rate per second, it's going to be Giga Rays. So yeah, as hardware improves, we'll see what else we can do and incorporate new ray tracing techniques. It's right at the beginning. We've gone for what we think is the biggest, most important one, but there are still new technologies we can incorporate. Over the next few years, there's more to come.