Adoption of Nvidia's ray tracing and DLSS technology is starting to pick up steam, thanks in no small part to increased support from Unreal Engine 4. Last week, Nvidia had a blog post about 12 games still set to release in 2020 that will include ray tracing and/or DLSS support. That's in addition to the maybe dozen or so games that already support the technology. Some of these games are well-known titles, like Cyberpunk 2077 and Watch Dogs Legion. Others, not so much, but one that caught my eye was Pumpkin Jack, a solo developer effort that's been in the works for four years.
First, you should know that I studied computer science and had dreams back in my younger days of creating games. Then I discovered that it's quite difficult, life caught up with me, and after working a few years as a software developer and then an IT person, I ended up as a tech journalist. So when I see a decent quality game from a single person, I'm always impressed. I reached out to Nicolas Meyssonnier to ask some questions about the whole process, particularly regarding ray tracing and DLSS support. Those are technologies that often seem to cause issues for big-time developers, so I wanted to know more about how easy/difficult it was to get them working.
Nicolas has a blog post covering some of the details, but I connected with him on Discord to dig a bit deeper. He's basically a self-taught game developer, and apparently an artist as well. Not surprisingly, the process of creating a game like Pumpkin Jack is one of iteration and refinement. What released today may not be the exact idea he started out to create, but after playing through the first few game levels, it's an enjoyable platformer and perfect for anyone looking for some Halloween fun. It's also kid-friendly, which is great for the spooky season if you've got littles creeping around.
As far as adding ray tracing was concerned, it was both good and bad. Nvidia initially asked Nicolas about adding the technology, and he was pretty excited about it. Shadows and lighting apparently didn't take too much effort, but getting reflections and transparent reflections to work was a month-long process. Part of the difficulty was that the documentation for ray tracing in Unreal Engine 4 isn't really complete right now, so there was simply a lot of trial and error. Nvidia also worked with Nicolas to help get things working, or at least pointed him in the right direction.
The results are pretty impressive, particularly for an indie developer. You can see some of the changes in the above video, but it has to be experienced in person to really get how much of a difference the ray traced shadows, reflections, and enhanced lighting make. It's not that ray tracing can make a bad game into a good game, but it can definitely make a good game look even better.
DLSS support is also great to see. There's no slider or options to tweak, so you just get an on/off toggle for DLSS and RT. From what I can tell, Pumpkin Jack uses DLSS 2.0 in performance mode, and the results still look quite good. Having tried the game with and without DLSS enabled, I prefer the DLSS appearance. The fact that it boosts performance quite a bit is simply icing on the cake. Or, I suppose, a scoop of ice cream on a slice of pumpkin pie might be more appropriate for this time of year.
Here's a quick gallery of a few image quality comparisons.
Pumpkin Jack has a cartoony aesthetic that I think looks quite nice. Again, I'm super impressed that this is all primarily the effort of one person. One benefit of the cartoon aesthetic is that your brain isn't wired to spot differences between the way the real world looks and ray tracing inconsistencies. Are the reflections, shadows, and lighting better with ray tracing? That's all that really matters, and I think turning on ray tracing and DLSS definitely improves the overall look and feel of the game.
The transparent water reflections and glowing fire are the two things that stand out the most as benefitting from ray tracing. The whole environment around fires and lights is lit up with ray tracing enabled, whereas it's just limited pools of light with the standard lighting mode. There are also extra shadows that you don't get without ray tracing.
The nice thing about an indie game like Pumpkin Jack is that it's not already insanely demanding when it comes to your graphics hardware. It runs comfortably fast on any RTX graphics card, from the lowly RTX 2060 up to top-of-the-line hardware like the RTX 3090. I didn't test on AMD cards, as I was mostly interested in checking out the ray tracing and DLSS effects, but I assume they'll be fine as well. You just don't get the extra eye candy.
I ran a few quick tests from the beginning of the second level, using three RTX GPUs. At the bottom is the minimum RTX card, the RTX 2060. At the top is the nigh-unattainable RTX 3090. With the performance spectrum bookended by those two, I tossed in the RTX 2080 Super to cover the middle ground. Everything is running on my standard GPU test PC, which you can see on the right.
Running at 1080p is basically a walk in the park for any of the GPUs I tried. The RTX 2060 manages 112 fps with minimums of 66 even with ray tracing enabled, without DLSS. Turning on DLSS kicks performance up to 173 fps with 140 fps minimums, which is slightly faster than native 1080p without ray tracing enabled. Turning on ray tracing basically drops performance by 30%, but DLSS more than makes up for it.
The same pattern applies to the 2080 Super and RTX 3090; only they're much faster to begin with. The 2080 Super performance drops by 37%, but there does appear to be a limit to performance with ray tracing enabled, as even the 3090 ends up around 180 fps maximum. That represents a larger 45% drop compared to traditional rendering, and DLSS doesn't really help much at this low resolution, but we'll see better results at 1440p and 4K.
1440p is still playable on all of the GPUs, even with ray tracing enabled but without DLSS. The 2060 does dip below 60 fps at times, however, so DLSS is definitely recommended. That pushes performance back up to 141 fps, with the 2080 Super and 3090 both in the 170-180 fps range. Again, we're seeing a limit of around 180 fps with ray tracing enabled.
Finally, at 4K, even without ray tracing, the RTX 2060 starts to struggle, managing a more modest result of 46 fps, with minimums getting close to 30 fps. There are areas of the game where I noticed a bit of stuttering on the 2060. Turning on ray tracing alone definitely proves to be too much for the card, at only 33 fps and minimums in the teens. DLSS, though, continues to right the wrongs of ray tracing. Even the 2060 ticks along at 78 fps, with minimums a bit short of a completely steady 60 fps.
The 2080 Super also struggles a bit at 4K with ray tracing. It's still playable at 53 fps, but again stutters at times. Without ray tracing, it's a relatively steady 60 fps or higher. 4K with RT and DLSS, on the other hand, results in overall performance that's slightly better than what the card manages at 1440p using RT without DLSS. You get more than 100 fps, and the game looks and plays great.
The RTX 3090, of course, doesn't even bat an eye at a lighter game like Pumpkin Jack, with or without ray tracing. It maintains a steady 60 fps or more at native resolution. Except, like I said (and showed) earlier, I prefer the DLSS look, as the default rendering can look a bit too blurry. That's a typical problem with temporal anti-aliasing, and DLSS simply looks better in this case (IMO). Even at 4K, the 3090 zips along at framerates well over 144 fps.
I know a lot of people still aren't sold on Nvidia pushing ray tracing. With sufficient developer effort, most rasterization techniques can still look very good. The thing is, not all games have massive budgets with tons of developer resources. Ray tracing has the potential to offload a lot of the lighting and rendering work to the engine without requiring nearly as much effort from the developers and artists. Sure, Nicolas spent a month working on transparent reflections, but how much more time would it have taken to get simulated reflections to look anywhere near as good?
I've said since the first RTX cards arrived that we'd need faster ray tracing hardware and better engine support to move games forward, and I still think that's the case. Pumpkin Jack is a great example of how a bit of ray tracing (and DLSS) love can go a long way to improving graphics. It's no surprise that there are quite a few indie developers poking at the technology, and I'm looking forward to seeing what they can manage.
If you're still not convinced, take a look at the Boundary and Bright Memory Infinite benchmark demos. They're at the opposite end of the spectrum in terms of graphics, pushing for substantially higher levels of realism and ray tracing quality. Not surprisingly, they're also both using Unreal Engine 4. Give it a few more years, and the use of ray tracing in games is likely to be just as prevalent as the use of SSAO (which first appeared in Crysis back in 2007). I can't wait to see what games look like in another 10 years.