A game is nothing but an idea without the appropriate software engineering, API and engine, and in today’s gaming industry, there are many options and different competing technologies in use. In today’s article, I’ll be taking a look at some of the better practices for developers that work in our crazy fast industry.
There is often no such thing as a pure, completely superior option in this industry. Many times experience with a given toolset or royalties and costs are a factor too. There is no one-size-fits-all solution here!
Going into the pros and cons between 32- and 64-bit architecture would take a separate article all in itself. Suffice it to say, for PC Gaming these days, 64-Bit engines are almost always a universally good idea.
What does it do for gaming though? Why is it a good idea for desktop/laptop gamers in this day and age? For starters, most computers these days have both 64-bit CPUs and use 64-bit OSes. A well-made engine using more advanced technology can in theory be even better at multi-threading and utilizing modern CPU and GPU power to their fullest. The biggest reason, though, is that a 64-bit engine can use more system memory, whilst 32-bit are confined to 3.25 GB. This not only helps high-end modding, but also increases the possible size and complexity of video game worlds and mechanics.
In the modern era there is so little reason not to make use of 64-bit engines, that it should really be the default.
Low level APIs
Low-level APIs like DirectX12 and Vulkan are amazing pieces of software engineering. They allow games to make better use of available PC hardware and raise performance, sometimes dramatically so for those that use them well. Video games, particularly demanding ones, should be switched to these low level APIs.
Complex simulations, advanced physics and AI all can benefit from a good Vulkan version. Complex strategy games, tycoons or advance simulators are the best fits for this technology but every single genre of gaming would see an uplift. The flagship titles of Vulkan like DOOM and Wolfenstein 2 are some of the best-optimized games out there and look, feel, and play like a dream!
With that being said, some nuance should be allowed here. Not all developers are experienced enough to jump on the bandwagon and use low level APIs. Certain indie titles or just really to run titles would likely run well enough no matter what. A low-level API endows one with great power, but comes also with a burden of great responsibility. As such, not all games can benefit from it equally. A competently made game on the older, higher level OpenGL or DX11 API can still be a great choice and run great!
The Engine itself
The heart and soul of your game, this is the glue of the artist’s vision. An engine can, to some extent, dictate a game’s design. Making the correct choice is important and will help the game’s development and performance when it is released. Of course, one should also mind the genre they are creating in as not all engines are a good fit for every type of game. A few exceptionally powerful, very adaptable and optimized (if used well!) engines exist, and can be had for a low price or even for free with low royalties. One is the famous Unity engine. It’s often used by trashy games on Steam, true, but its awesome power is undeniable, and talented people can and have brought out amazing games with it, such as Cities: Skylines, Subnautica or Hearthstone. Another noteworthy engine is the powerful Unreal Engine 4.
Far too many studios stick to their own inferior, often outdated engines out of sheer familiarity. While there may be some logic in that, especially if unique technology was created for it, but most of the time, switching it to a new engine or having foresight from the very start would save everyone a lot of headaches down the road. For an example, we all love Bohemia for their amazing vision with ARMA 3, but it’s time they overhauled their existing technology or ushered in a new one. A great game is still a great game, no matter its engine… but why not have your cake and eat it too?
Sound APIs for the truly hardcore!
A bit of a pet peeve of mine is how often sound in gaming, a most immersive sense, is forgotten, or forsaken for shiny graphics. The thing is, with technology like OpenAL, which is free, open source and cross platform, there are no real drawbacks. It is capable of 3D HRTF sound processing, or simulating a 360-degree sound field and taking into account the coordinates of everything in the game world and mapping it to a stereo system accordingly. Binaural audio simulation, in other words.
Since it’s open source, OpenAL games with broken/dated implementations, such as Amnesia: A Machine for Pigs, can be modified to have excellent surround support, EFX, and even hardware acceleration, just by updating some dll files with the latest ones. Yes, it really is that easy—you don’t even need specialized hardware to see gains in immersion and sound quality (though it helps!).
Another often forgotten choice is AMD’s own TrueAudio tech. Deployed in consoles and available to a few PC Games, as well as being a key part of Valve’s Steam Audio, it is a high-end Radeon exclusive piece of technology, and it does a mighty fine job when used properly. Alas, it has seen very limited use.
Whilst voice acting and recording quality have gone up over time, the actual API and technology used to process the sound has seen a downgrade compared to what we had 10-15 years ago. As such, I hope more developers give serious thought to these technologies.
Of course, there are other beneficial technologies that the industry is not pushing for strongly enough, but we hope this short list showed where gaming is going or should be going (faster). There are many high tech solutions out there that should see wider adoption, especially open source ones. Of course, a good game is a good game, even if it uses old or bad or even poorly chosen technology. That is always the case. But the thing is… we gamers and developers can have both.