A game is nothing but an idea without an engine, and in today’s gaming industry there are many options when it comes to engines and APIs. When cost and royalties are factored in, the choice may become difficult. But in this article we are putting that aside and focusing purely on video game technology, and believe it or not, for the most part it is quite clear which technologies have the most potential.
By game technology, as you may have guessed we are largely referring to game engines, but also physics engines, graphics APIs, and audio APIs.
Several engines are worthy of respect, and many are not. Far too many studios stick to their own inferior, outdated, and terrible engines just because of familiarity. Bethesda Game Studios and Bohemia Interactive are perhaps most guilty of this because their games are in need of a new engine more than most others. An ironic thing to say since Bethesda Softworks owns the engine that we’re about to highlight.
Previously, we gave the nod to Unreal Engine 4, but it is now lagging behind in optimization; its low level API implementation (DX12 and Vulkan, with DX12 being its focus) are not really any better than DX11 yet, and NVIDIA has their hands too deep in it, causing it to heavily favor NVIDIA hardware. Now, we give the nod to id Tech 7. More games should use this engine or one that takes after it. id Tech was originally designed to showcase the best open source game technology out there, and it still partially holds true to this.
Vulkan and DirectX 12 bring massive performance improvements, and so far the only games to demonstrate this are Ashes of the Singularity, DOOM (2016), and Wolfenstein II: The New Colossus (and of course the VR version of DOOM). DOOM and Wolfenstein II utilize id Tech 6 (the latter using a heavily updated version). They are true Vulkan applications, while most games with DX12 are just DX11 games with not even a half-assed DX12 mode slapped on. This allows id Tech 6 and id Tech 7 games to properly utilize our hardware to a much greater extent than DX11 and OpenGL, greatly improving potential performance, making way for improvements in other areas of game design like more things drawn on screen at once.
If more game engines had this level of optimization, or just used id Tech 7 (do it, Bethesda), they would be able to improve their games not only visually but gameplay as well. Especially if they implement the technologies discussed later in this article. For example, a strategy game with such a good Vulkan implementation and CPU utilization would be able to have far more units and AI simultaneously, making for larger scale battles. The engine isn’t open source like previous versions of id Tech, but id Software does like to make presentations explaining its technology in depth. Here is another interesting analysis.
id Tech 7 makes its debut with DOOM Eternal. Expect continued evolution over the greatness we’ve seen in id Tech 6.
id Tech looks even more impressive in motion, particularly because the two games that use id Tech 6 make abundant use of dynamic lights and shadows, unlike most games that mostly use static. Refer to this video for top notch 4k footage. All rights to the rightful owner.
The Physics Engine
The ideal physics engine, if one simply wants the most advanced game, is NVIDIA’s GPU accelerated PhysX, using the cross-platform DirectCompute (or, if a developer can handle the extra work, port it to OpenCL). GPU physics processing can potentially be much faster than CPU implementations, resulting in more potential physics effects in games as well as better performance. PhysX has been open source since December 2018, and has supported DirectCompute for even longer, so there is no acceptable reason not to use it anymore.
PhysX is by far the most advanced, realistic, and capable physics engine for games. It can do it all, whether you’re talking about solid object physics, soft body physics, fluids, gases, you name it. And it does it all on a level that is unbelievably realistic. The funny thing is, PhysX has been essentially this advanced for at least eight years. The reason it hasn’t caught on much is because for years it has been limited to running off of NVIDIA GPUs (utilizing NVIDIA CUDA), or CPUs which are too inefficient. CPU physics will always be very limited, and game consoles use AMD video cards so GPU PhysX was out of the question. But this is no longer a limitation of PhysX, so it should be adopted and made mainstream and for the sake of all that is good, it should not run off of the CPU.
NVIDIA FleX is based on PhysX technology. Basically a rebrand and it is a smaller library of PhysX.
All credit to the rightful owners of the videos and content below:
The video below was recorded by me personally:
The most realistic solution to hope for is just for everyone else to catch up, but this is taking a long time. Frostbite 3’s physics (seen in Battlefield 4 and Battlefield: Hardline) are barely improved over Battlefield: Bad Company 2, which isn’t much different than the older Red Faction games from the 2000s. Game physics are still largely in the stone age, and the games that do use PhysX are, once again, normally using a CPU implementation which results in very limited usage.
There are some GPU PhysX games though, and those games have the most impressive physics… in one area. These games use PhysX in a very specific way, whether it’s the cloth physics of Mirror’s Edge or procedural chipping away of walls in Mafia 2. The Batman games have impressive small scale use of it, and Cryostasis: Sleep of Reason is perhaps the best demonstration of a very specialized use of NVIDIA PhysX. Examples of some of these games can be found in the most recent link just above, and below is a video of the Cryostasis: Sleep of Reason tech demo which can be downloaded here.
Graphics and Sound APIs
All the talk is on both DirectX 12 (or DX12) and Vulkan today, as it should be. We have AMD and their Mantle API to thank for these, as both Vulkan and DX12 stem from Mantle. They are largely the same API, with the main difference being that DX12 is owned by Microsoft and requires Windows 10, while Vulkan is an open source API that does not require Windows 10. In fact, Khronos Group preaches multiplatform compatibility unlike Microsoft. For this reason, we want Vulkan to become the standard API. Open standard is better than closed standard for the consumers, and Windows 10 has slightly limited backwards compatibility. This, combined with the fact that Microsoft wants to force everyone to use Windows 10 is awful for the computer industry and gaming industry. Vulkan and Linux are ideal, objectively the best paths for the advancement of gaming.
While DX11 focused on graphical improvement (and certainly succeeded), both DX12 and Vulkan focus on cleaning up the part that DX11 didn’t improve upon enough, and that is optimization. Both DX12 and Vulkan can lead to incredible performance gains on all systems, especially AMD graphics cards (but not only these).
The key features to both DX12 and Vulkan are reduced driver overhead thus better GPU optimization, reduced CPU overhead (alleviating CPU bottlenecking), superior multicore/multithread CPU usage, and greatly improved multi-GPU capabilities.
Some might be convinced that NVIDIA cards are doomed to perform worse in DX12/Vulkan than DX11, but that isn’t true despite many present day results showing it to be the case. The reason NVIDIA cards perform worse in many DX12/Vulkan titles is because those games do not have a true, complete DX12/Vulkan implementation, rather they just enable asynchronous shading. NVIDIA cards can perform asynchronous compute at a driver level only, while AMD cards can do it on a hardware level. As a result of this architectural deficiency on NVIDIA’s behalf, they perform a bit worse when asynchronous shading is used. NVIDIA needs to cut the slack because this is one of many features that can boost performance, as seen by AMD video cards.
But even with today’s NVIDIA graphics cards, they would perform much better in a game built from the ground up in DX12 or Vulkan compared to any other graphics API. Even if asynchronous shading was used in the game; the other benefits of DX12/Vulkan would greatly outweigh NVIDIA’s inefficiencies at asynchronous compute. This is proven by 3DMark’s low level API tests.
In conclusion, Vulkan is the ideal graphics API, but if DX12 is used instead (which it likely will be) we can’t complain much. DX12 and Vulkan are very much equals with both representing a remarkable technological leap for video game development, except for the fact that DX12 requires Windows 10 and is a closed standard owned by Microsoft, while Vulkan is open standard like OpenGL and has multiplatform compatibility.
Sadly, as of 2019, we still only have three real DX12 or Vulkan games – Ashes of the Singularity, DOOM, and Wolfenstein II: The New Colossus. Everything else with one or both of these has a lackluster implementation that doesn’t show enough of a performance boost or enough of an improvement in resource utilization over DX11.
The Audio API
Sound processing has largely gone backwards over the years, with the old DirectSound3D games from 10-15 years ago having more advanced sound processing and effects than any of today’s games. OpenAL was the open source successor to DirectSound3D, until Creative Labs bought it out thus putting an end to the “open source” element. These audio APIs allow for advanced 3D HRTF and various dynamic environmental effects—most commonly reverb, but it can do far more than that such as advanced distortion of sound, environmental occlusion, even ring-modulation effects and more.
The 3D HRTF makes a huge difference in spatial sound, enabling binaural audio simulation for stereo users and more precise surround sound as well. Luckily, such technology was not completely ignored; AMD created TrueSound, their own sound API that is GPU accelerated. This led to the creation of the open source Steam Audio, our choice for the championship of audio APIs. Featuring everything I just stated that DirectSound3D/EAX and OpenAL/EFX had and more, Steam Audio does not require a sound card to get the best out of it. It is continuously developed, not dead like OpenAL is, and can even support Radeon Rays (which would work on any GPU that supports OpenCL 1.2 and higher, so NVIDIA and Intel are not left out). Who knows what the future holds for Steam Audio? Hopefully physics based sound rendering, which would be the next major advancement.
To find out what audio API games are using, check out the link below although it isn’t complete.
id Tech 7 represents the pinnacle of modern day video game engines. Sure, we don’t know how user-friendly its tools are, and it’s not open source like Unreal Engine 4 is unfortunately, but it makes the best use of Vulkan to drastically improve performance, and while it’s not open source it also isn’t influenced by NVIDIA to shaft competition and help them establish a monopoly. Aside from perhaps Ashes of the Singularity’s engine, every other game engine seems terribly outdated compared to id Tech 6 and id Tech 7.
NVIDIA’s GPU accelerated PhysX, now open source, has so much potential to take gaming to the next level. Games will no longer be so static, we need more of everything to be physics based. This doesn’t just mean destructible everything (but that’s a start), but it means more lifelike worlds. Physics aids stealth in games like Thief and SOMA, it is used famously for problem solving challenges in Half-Life 2, it is used to greatly bolster the amount of violence and carnage you can orchestrate in F.E.A.R. and Dark Messiah: Of Might and Magic, and it has so much more potential to transform games in ways we haven’t seen before… but only if running off of the GPU, in Vulkan or DX12 game engines to properly utilize hardware and improve performance.
DX12 will undoubtedly become standard, which is exciting even though it’s a Microsoft closed standard that requires Microsoft Windows. id Tech 6 is only used by DOOM and Wolfenstein II, id Tech 7 will be used by DOOM Eternal and some future Wolfenstein games. It will never leave Bethesda Softworks and chances are it won’t ever leave the hands of id Software and MachineGames; a real shame since the least we could ask for is for Bethesda Softworks to do what EA games did, and force all of their games to use id Tech 7, their flagship engine and in my opinion probably the best game engine out there all things considered. PhysX is never used to its full potential and GPU physics in general still aren’t used for some mind boggling reason. Steam Audio is new, and I only know of independent mod projects using it, but hopefully it catches on.
Of course, there are other beneficial technologies that the industry is not pushing for strongly enough. How about better surround standards? We mentioned Dolby Atmos and DTS:X earlier; having these as standard, or something comparable with up to 7.2.4 channel surround support, would be ideal (should be possible purely through OpenAL). As far as graphics technology goes, we should have a stronger push for tessellation (although this has improved substantially over the past 3 years), Temporal anti-aliasing, more dynamic lighting in place of static, real time global illumination, and of course more physics-based games. Support for wider color gamuts like DCI-P3 or better yet Rec 2020 would be an excellent improvement as long as support for the usual sRGB isn’t ignored. Support for HDR technology (not just the usual HDR rendering) should be a focus once OLED displays become more common (it’s an even bigger issue that LCD support/development hasn’t been totally dropped in favor of OLED). More work yes, but not typically an issue as long as developers have the resources and more importantly publishers don’t rush them. But publishers will continue to rush heavily for the foreseeable future.
The fact that the industry doesn’t push for any of these technologies, except for the graphics APIs discussed (but even then, DX12 more than Vulkan which is a mistake), shows how misguided and flawed the industry (as well as NVIDIA) is. Just like with the games themselves where the goal is usually not to make an improved product, rather it’s typically to maximize profits and minimize expenses, made especially amusing when one considers how many big name publishers make such incorrect assumptions about what the consumers really want.
When 2000s games such as Half-Life 2 (2004), F.E.A.R. (2005), Dark Messiah: Of Might and Magic (2006), Crysis (2007), Cryostasis: Sleep of Reason (2009), Wolfenstein (2009), and believe it or not many others outclass most of today’s games in the same genres (especially AAA games) in some of the most important, gameplay-affecting technological areas such as physics, particle effects, AI, dynamic lighting and shadows, you know something is wrong with the gaming industry. Not to mention how almost every 2000s PC game is years more advanced than any of today’s games in sound processing. Don’t be mistaken, this is the current state of the industry. Technology hasn’t gone backwards, but the games have.