When a game first boots up, you’re often presented with a string of logos for technologies like Havok, Bink Video, Wwise, SpeedTree… But what are they and what do they all do? Welcome to the wonderful world of gaming middleware.
The term middleware is used for software that performs specific tasks and can be plugged into an existing project. The reason for using them is simple: why reinvent the wheel every time you make a game? You don’t need to write a new physics engine or video player when there’s one already available, ready to slot into your codebase.
You’ve no doubt heard of the big game engines, which provide the core framework for game creation. These engines — the likes of Unreal, Unity, Frostbite, Lumberyard, Torque, Anvil, etc — render the imagery to screen, and handle the game logic, collision detection, artificial intelligence, physics, audio, memory management and so on. But many of these functions can be extended or customised with gaming middleware. Here are some of the big names in the game, literally…
If you play video games even semi-regularly, you’ll recognise this. Or at least you should do: this proprietary video codec developed by RAD Game Tools has been used in more than 10,000 games. Used to display those sumptuous FMV cut scenes we all love, the codec is designed to have low overheads with a good compression ratio, so the files take up less memory and play back smoothly.
Enlighten is system for calculating global illumination (GI), the real-world effect of indirect light that bounces around the environment. GI is notoriously CPU-intensive so to achieve it in real-time is a fairly substantial undertaking, even with a fast processor. It works both indoors and outdoors and supports dynamic effects such as changes in time of day. Enlighten works with Unreal Engine 4, and was employed to great effect in games such as NieR: Automata, Hellblade: Senua’s Sacrifice and Rime, the long-awaited puzzle game from Tequila Works.
First unveiled in 2000, the Havok Physics engine is a piece of gaming middleware that generates realistic collisions and dynamics between rigid body objects, and it has appeared in numerous titles, from Assassin’s Creed to The Legend of Zelda: Breath of the Wild.
The suite has grown to include Havok Cloth, for soft body dynamics – clothing, flags, curtains and so on – and was used in Destiny, Middle-earth: Shadow of Mordor, Bloodborne and the WWE wrestling series. As the name implies, Havok Destruction manages destructible and deformable models, such as shattering walls or impact damage to a vehicle. Havok Destruction was employed in Battlefield 3, 4 and Hardline, as well as Naughty Dog’s Uncharted 3 and 4, and The Last Of Us.
Every game features text of some variety, and some have it in vast amounts, whether its hints on the loading screen, HUD elements, captions during FMV or a lengthy credits sequence. And unless you want to spend six months hand-crafting your own typeface, it’s easier to get one from Monotype. The company provides type for all creative industries, but has an extensive catalogue of fonts specially designed for games – which also includes localised versions for international releases.
Developed by Swedish company Donya Labs, and now owned by Microsoft, Simplygon is a set of tools for optimising meshes and creating LOD models and low-res proxy objects. LOD – or Level Of Detail – refers to the use of objects with progressively fewer polygons the further it’s positioned from the in-game camera.
For example, a detailed 10,000-polygon building can be represented with just a handful of polys if only seen in the distance. However the task of optimising a model by hand is tedious and time consuming; with Simplygon the artist just sets a poly count and lets the algorithms do their thing.
Another gaming middleware product from RAD Game Tools, Oodle is a collection of data compression codecs. Games use compressed data to save room both on disc, via download and in memory, which is then decompressed on the fly as needed. Compression is always a trade-off between file size and the speed of decompression, and Oodle has a family of different codecs (including newcomers Selkie and Mermaid) depending on the needs of the developer.
The name pretty much sums it up: SpeedTree is an app for the creation of all types of vegetation, from trees to shrubs to plants. There’s an extensive library of pre-made models or can you sculpt and fashion your own if you need something specific. It can create trees with seasonal variations with wind animation, and automatically generates LOD variations for use with Unity, Unreal and Lumberyard.
If you’ve played any recent open world game, you’ve no doubt wandered through a SpeedTree forest; it was used in Assassin’s Creed: Origins, The Evil Within 2, Destiny 2, Shadow of the Colossus, Middle Earth: Shadow of War, PUBG, Tom Clancy’s Ghost Recon Wildlands, Horizon Zero Dawn… we could go on. It’s also extensively used in Hollywood too..
A key part of real-time imaging is only rendering what needs to be seen, a technique known as ‘occlusion culling’. Basically, if something is occluded, or hidden, it gets culled; the render engine ignores it, saving valuable milliseconds and increasing frame rates. Umbra 3 performs this task in Unity and Unreal Engine, and can also determine if shadows should still be visible, and supports ray casting for things like character AI spatial awareness and audio occlusion.
It’s another piece of middleware that quietly goes about its business largely unnoticed, but if you’ve played Destiny 2, Rime, Wolfenstein II, Call of Duty: Infinite Warfare, Doom, or endless other titles, you’ll be thankful it was there.
Wwise – or Wave Works Interactive Sound Engine – is an audio creation tool that enables sound designers to import audio tracks and effects, mix them, add game states and simulate audio environments. Artists can also tweak the sound balance on-the-fly during play, adding new effects or tweaking existing ones to ensure the mix is right. Wwise is gaming middleware that has been used on everything from Age of Empires to Zoo Tycoon, and is featured in around 500 games every year.
So when that next AAA game boots up, take a look at the software that helps power it. For Havok, SpeedTree and the other gaming middleware products mentioned here are the vital tools that make today’s games great.