Ray tracing is perhaps one of the hottest and most controversial topics in gaming graphics right now. Nvidia will tell you ray tracing is the future, and that's why it built support into its RTX graphics cards. AMD has been less enthusiastic, forgoing DirectX Raytracing (DXR) API support for its current generation GPUs.
But for indie developer Richard Cowgill, he's going all-in on DXR for his next game, Stay in the Light, which launched on Steam Early Access today. I spoke with Richard about Stay in the Light, what he thinks about ray tracing, and the future of graphics. I also got to try the game out for myself.
Cowgill has been working in the games industry since 2000. He started with the Desert Combat mod for Battlefield 1942, then worked with the first two Borderlands games at Gearbox, as well as Battlefield 2. Then he left the big game developers behind and went independent a few years ago. Stay in the Light is his chance to get his feet wet with DXR, and it started with Nvidia's release of DXR drivers for GTX cards.
At the time, Cowgill was using a GTX 1080 Ti, so those drivers allowed him to start working with Unreal Engine's ray tracing support. He started work on a procedurally generated horror game that would make lighting and reflections a major part of the game. Initial prototype in hand, he went to Reddit to ask RTX owners to give it a shot and provide some feedback on performance, which in turn caught the eye of Nvidia's Indie Spotlight group (opens in new tab). Now, he's sporting a GeForce RTX 2080 Ti and continues to iterate on his game idea.
You can see the gears turning at Nvidia. "Hey, this game requires DXR—which currently means only GeForce RTX or GTX 10/16-series cards work. Maybe this will help get people excited about ray tracing!" It might, but perhaps more importantly it shows how quickly things can be put together with modern development tools.
In less than two months, Cowgill has gone from nothing to at least the basic outline of the game he wants to make. A lot of the heavy lifting comes via Unreal Engine, obviously, but that combined with ray tracing means he doesn't have to put a lot of extra time and effort into figuring out lighting, shadows, and reflections. The game engine handles that in the background. It's still a work in progress, but here's what Stay in the Light looks like right now, running on an RTX 2080 Ti:
Again, this is Early Access, and there are bugs and other mechanics that seem broken (or at least, I haven't figured them out). You're running—walking, really—around in a dungeon that floats in the sky, picking up treasure and trying to find the exit to the next level, all before some big hairy ogre named Him nabs you. He doesn't like light, in theory, but he also teleports around and often I'll only see a blue sparkle. It's still enough to put me on edge, and I may have yelped a little at the end of the above video when I died. But there's not a lot of game here just yet.
On the technical side of things, I asked Cowgill about how hard it would be to approximate the lighting and reflections without using DXR. Theoretically, it can be done (shadows should be fine), but it would be less accurate, and it potentially wouldn't run faster. Doing the second viewport for the mirror to accurately handle reflections is particularly difficult—and with procedurally generated levels, there's no way to 'bake' the lighting in advance. Everything has to be calculated at runtime.
The current build of Stay in the Light feels more like a tech demo, but hopefully that changes over time. I've also seen performance bog down pretty hard even with the 2080 Ti, and there's certainly room for more optimizations as the development progresses. Not surprisingly, if you try to launch the game on an AMD GPU, it simply fails. I've asked AMD about DXR enabled drivers for their existing cards in the past, and the official response is:
"AMD is actively working in close collaboration with Microsoft to enable DXR support. We will provide more detail when we’re closer to releasing a productized solution."
With Stay in the Light as the most recent DXR-enabled game (even if it's still very early right now), that brings the total number of publicly available ray tracing games to six (Battlefield 5, Metro Exodus, Shadow of the Tomb Raider, Justice, Quake 2 RTX, and Stay in the Light), with Wolfenstein: Youngblood set to join the group on July 26, and several more slated to launch later this year. I'm still looking for ray tracing's killer app, however, and while it's cool to see what Cowgill was able to achieve in just a few months of work, it isn't going to make people run out and buy an RTX card. And that may not even be necessary, as Cowgill hopes to get the final release to a point where it will run okay on a GTX 1060.
By the time the game leaves Early Access, maybe AMD will have DXR-enabled drivers—or maybe even a Navi GPU that has hardware support for ray tracing. But after feeling more than a little underwhelmed by the use of ray tracing in Battlefield 5, Metro Exodus, and Shadow of the Tomb Raider, I'm more optimistic for what the indie scene can do with the technology. Making it a core part of the gameplay and experimenting in ways that big publishers don't could be just what DXR needs. And I still believe at some point, maybe 5-10 years from now, we'll be looking back at the first generation of ray tracing hardware and recognizing it as the impetus that enabled future games and graphics to improve.