Most of you pretty much know what happened with Duke Nukem Forever so we won’t discuss extensively its development cycle. For those that don’t, here is how the story goes more or less. 3D Realms developed the PC version with an enhanced Unreal engine and was shut down, about two years ago. After its closure, Triptych Games decided to continue the game’s development and due to their hard work, the PC version of DNF was almost finished. Gearbox Software then stepped in and acquired the game’s rights. With Piranha Games’ help, the company polished, ported the PC version to consoles and added the multiplayer mode. And voila, Duke Nukem is back with us.
As always, we used an overclocked Q9650 (4.2Ghz) with 4GB DDR2 and an Nvidia GTX295 GPU. We’ve also used the latest WHQL drivers and Windows 7 64Bit. Since the game was developed primarily for the PC, we’d expect it to take full advantage of our hardware. However, we have to keep in mind that the game was in development for a very long time. During its development peak, the best PC CPUs available were dualcores, so it’s only natural to see minimal gains when using a quadcore. Truth be told, there are some gains (4-5fps) but as we can see, Duke Nukem Forever didn’t take full advantage of our Q9650. Our first core was used to its fullest, and the remaining cores were used around 30-50%. When we tried to simulate a dualcore system, we witnessed a small performance hit. Still, this dualcore system managed to maintain 60fps with maxed out settings at 1080p. We should also note that there were some scenes where our Q9650 wasn’t stressed and our GPU was not used to its fullest. This clearly shows optimization issues that can only be overcome by your PC’s raw power.
The GPU requirements are relatively low. Nvidia didn’t include any SLI profile for this game in their latest drivers and due to that, only one of our cores was being used. Duke Nukem Forever ran great. Our minimum framerate was 65, so you won’t encounter any slowdowns (provided you have the right hardware). All is not lost however, as you can experiment with a custom SLI profile. Although SLI is enabled with this custom profile, the results are not as good as we’d hoped to. Both of our cores were used at 45-55%. There were occasions where the GPU usage in both cores was at 70-76%, but those were rare moments when there was nothing happening on-screen. This pretty much confirms the CPU limitations we were referring to, as performance was roughly the same when we run our card in single GPU mode. A bit ironic, given the fact that DNF was developed for PCs and not for consoles.
What you’ll basically need to enable SLI, is the ‘Geforce SLI Profile Tool’ to export your SLI profiles. This will create a .txt file that will include all your SLI profiles. Simply open it, find Duke Nukem Forever’s profile and replace it with the following code:
Profile “Duke Nukem Forever”
Setting ID_0x00a879cf = 0x08416747 UserSpecified=true
Setting ID_0x00d55f7d = 0x00423004
Setting ID_0x1033cec1 = 0x00000003
Setting ID_0x1033dcd2 = 0x00000004
Setting ID_0x1095def8 = 0x02400005
Graphics wise, the game doesn’t look like anything special. It’s still enjoyable, but nowhere as good as Crysis 2 and can’t even close to Serious Sam 3 that will be released this Summer. The biggest gripe we have with Duke Nukem Forever is the simplicity of the environmental destruction, the atrocious DoF and the ‘emptiness’ of the game’s levels. Although the environmental destruction is ‘old-school’, we’d hope for something more. Gearbox Software could add more debris as right now the explosions are lacking any ‘WOW’ factor and feel kind of cheap. Moreover, the levels feel empty. Especially the desert level (that was featured and in the game’s demo) is by far one of the worst levels we’ve ever seen. To put it simple, this kind of levels reminds us of City Interactive’s games. Damn, even the levels from all those low-budget games, like Sniper: Ghost Warrior, had more environmental details than the desert level of DNF. And the depth of field effect that was used is one of the worst implementations we’ve ever seen. It is bugged, and it doesn’t look good at all.