This past week I was on Explormiate (http://explorminate.net/2015/12/16/strategic-expanse-interview-with-brad-wardell-2/) and the subject of game engines. Given the emails and feedback I’ve gotten it is pretty clear most people are not that familiar with game engine generations. So consider this a basic primer on them and why they matter.
It’s important to note that historically, every game had its own custom engine. Id was a pioneer in licensing its engines to third parties which wasn’t surprising, they were the first ones to create a third generation game engine with Quake. Each generation of engines gets exponentially more difficult to make and as a result, more and more developers drop out of making their own and start licensing which has the effect of reducing the amount of variety in game design (since, ultimately, you are making a game within the confines of what the engine can do).
Id doesn’t often get enough credit for what a big deal the Quake engine was. So let me put it like this: Quake was released in 1996. Stardock didn’t make a 3rd generation game engine until 2010 and it was a disaster (Elemental). Very few developers are capable of making a third generation engine well.
Engine Generation Primer
You don’t need to be a game developer to understand game engine generations. Once you know what they are, you can spot them easily. Let’s take a look:
- Generation 1: DOS, 320x200 with 256 colors. 640K limit.
- Generation 2: Windows, sprites (or 3D acting as sprites), typically fixed resolutions
- Generation 3: 32-bit, DirectX 9c (OpenGL 3.2), single core design, assets live in 3D
There are certainly games that you could apply the “+” to. For instance, GalCiv II was a generation 2+ engine. That is, with work you can retrofit an engine to have next-gen features but it is still, at its core, a particular generation.
At this stage, most studios already license their Gen 3 engines. My favorite third-party 3rd generation engine is Unity. Besides Valve, no single company has done more to help the game industry than Unity (I am a pretty big fan of Epic too but Unity has transformed game development).
As a practical matter, if you’re an independent game developer, Unity is what I’d recommend.
For these generations to have any meaning, anyone with reasonable technical knowledge should be able to onto a Steam game page and instantly recognize the engine level. As soon as I see 2GB memory req or DirectX 9c/OpenGL 3.2 I know it’s a Gen 3 engine.
So what is required to be a 4th generation game engine? Well first off, there is no standards body so I can only relate general consensus. A 4th generation engine has to be obviously distinct:
- 64-bit only (designed assuming essentially unlimited memory)
- DirectX 10 or later (designed assuming that multiple threads will be talking to the GPU)
- Multicore (designed so that it gets faster as you add more cores)
So when you look on the game page you’d see the minimum requirements be:
4 core, 6GB or more in memory, DirectX 10 or later.
What is the benefit and what is the cost and why should anyone do it?
As I said earlier, if someone were asking me what they should use to make a new game I’d point them over to Unity. If not Unity, then Unreal (this is nothing against Crytek, I’m just not familiar with it enough to recommend). So in short, I don’t actually recommend making or using a 4th generation game engine.
So why has Stardock made two 4th generation engines? Because we have determined our games need a technological edge to stand out.
My role at Stardock these days
Different companies have different strengths. Stardock is really good at designing games that are big and endlessly extendable. We stick with our games for years and years. Our design process is iterative. We make something, we get feedback, we improve it. Over and over again.
With GalCiv II: Twilight of the Arnor, we were able to make what I think some would agree is the ultimate space 4X. But we couldn’t go any further. We had extended our Generation 2 engine (Pear) well beyond what it was ever designed for. We got a lot of mileage out of it
Every time I see a new Paradox game that uses the Clausewitz engine (their third generation engine) I’m so jelly. They’ve used it for Europa Universalis III, Hearts of Iron III, Victori II, Crusader Kings II, EU 4 and I think Stellaris. Stardock wouldn’t get its gen 3 engine until 2010 and that was Elemental.
Once you have your engine, you can make a lot of games with it. But that first game is always a pain because you have to start over largely from scratch. This puts you at a short-term competitive disadvantage. But once you have your engine going, you start to build momentum.
The GalCiv III series will continue to use the Galactic engine. Future games will use Nitrous which is being developed by Oxide Games (Ashes of the Singularity).