A lot of this boils down to the same economic motivation for any kind of outsourcing: if something is not your core competency and is not part of your competitive advantage then you can reduce costs by sharing the fixed overheads with other companies in your market. This is especially true for zero-marginal-cost goods such as software where the only costs are the fixed overheads. The cost of developing a program that has a single user is the same as the cost of developing a program that has a million identical users. For something like a game engine, where the users aren’t identical and have some different requirements, there are some incremental costs, but they’re far lower than the cost of developing the core technology.
This composes with the other broad trend towards complexity in the tech industry. The game engine for Wolfenstein 3D was developed by a couple of people. The team that developed the Quake engine was (I think) about half a dozen people. A modern game engine is many hundreds of person years of development work. Id probably recouped the cost of developing the Quake engine with Quake itself, any other licensing royalties were free money on top. A fairly successful modern game like The Witcher 3, for example, almost certainly didn’t make enough money to fund the development of an in-house game engine and so companies that don’t make the decision to outsource either make massively profitable games or go out of business.
I think it’s going to be interesting to see how things like Godot change the economics here, because it may well be cheaper to pay a couple of in-house developers to add features to an open source game engine (and upstream them, if you don’t want to pay the cost of maintaining a fork) than to pay for an Unreal license. Unreal is trying quite hard to counter this with a pricing model that is very cheap for small studios, which then get locked in (and even when they’re paying more, it’s not a large fraction of their revenue).
They did, but according to Wikipedia it was first used for The Witcher 2, which was released in 2011, which means they probably started engine development back in 2005ish (you hear “it takes 5+ years to make a game engine” a whole lot on e.g. /r/gamedev). They also used a ton of middleware.
See, this is the thing. Quake was only 3 programmers, Quake 2 3 programmers, Build engine was one guy (with 1 additional programmer credites on Duke 3D)…and Witcher 3 was an in-house engine.
Modern game engines as easier than you think.
The tricky part is when you want to get into tooling and things to support your artists and designers.
See, this is the thing. Quake was only 3 programmers, Quake 2 3 programmers, Build engine was one guy (with 1 additional programmer credites on Duke 3D)…and Witcher 3 was an in-house engine.
Modern game engines as easier than you think.
I’m not sure how that supports your thesis, considering all but The Witcher 3 are games from the 90’s, and id’s games were mostly tech demos post-Doom.
The Witness is a custom engine, Source and Source 2 were custom engines, Unreal itself was originally a custom engine, Minecraft was a custom engine, Payday and Payday 2 were custom engines…like, it’s a whole thing.
Witness is a small-scale project, less time pressure.
Source 2 is derived from Source which is derived from GoldSrc which is derived from Quake. They didn’t start from scratch.
Minecraft is a bit of an outlier; again, single person, but it’s something you couldn’t really do with Unreal. (But it’s also Java and notorious for its technical flaws, so….)
I believe Payday’s engine was used for other games by the studio/publisher, which amortized costs.
A lot of this boils down to the same economic motivation for any kind of outsourcing: if something is not your core competency and is not part of your competitive advantage then you can reduce costs by sharing the fixed overheads with other companies in your market. This is especially true for zero-marginal-cost goods such as software where the only costs are the fixed overheads. The cost of developing a program that has a single user is the same as the cost of developing a program that has a million identical users. For something like a game engine, where the users aren’t identical and have some different requirements, there are some incremental costs, but they’re far lower than the cost of developing the core technology.
This composes with the other broad trend towards complexity in the tech industry. The game engine for Wolfenstein 3D was developed by a couple of people. The team that developed the Quake engine was (I think) about half a dozen people. A modern game engine is many hundreds of person years of development work. Id probably recouped the cost of developing the Quake engine with Quake itself, any other licensing royalties were free money on top. A fairly successful modern game like The Witcher 3, for example, almost certainly didn’t make enough money to fund the development of an in-house game engine and so companies that don’t make the decision to outsource either make massively profitable games or go out of business.
I think it’s going to be interesting to see how things like Godot change the economics here, because it may well be cheaper to pay a couple of in-house developers to add features to an open source game engine (and upstream them, if you don’t want to pay the cost of maintaining a fork) than to pay for an Unreal license. Unreal is trying quite hard to counter this with a pricing model that is very cheap for small studios, which then get locked in (and even when they’re paying more, it’s not a large fraction of their revenue).
I thought CD Projekt Red made their own engine
They did, but according to Wikipedia it was first used for The Witcher 2, which was released in 2011, which means they probably started engine development back in 2005ish (you hear “it takes 5+ years to make a game engine” a whole lot on e.g. /r/gamedev). They also used a ton of middleware.
https://en.wikipedia.org/wiki/CD_Projekt#REDengine
I worked at the game studio which developed Snowdrop- I can confirm that it’s about 5-7 years for an engine.
See, this is the thing. Quake was only 3 programmers, Quake 2 3 programmers, Build engine was one guy (with 1 additional programmer credites on Duke 3D)…and Witcher 3 was an in-house engine.
Modern game engines as easier than you think.
The tricky part is when you want to get into tooling and things to support your artists and designers.
I’m not sure how that supports your thesis, considering all but The Witcher 3 are games from the 90’s, and id’s games were mostly tech demos post-Doom.
The Witness is a custom engine,
Source and Source 2 were custom engines, Unreal itself was originally a custom engine, Minecraft was a custom engine, Payday and Payday 2 were custom engines…like, it’s a whole thing.Witness is a small-scale project, less time pressure.
Source 2 is derived from Source which is derived from GoldSrc which is derived from Quake. They didn’t start from scratch.
Minecraft is a bit of an outlier; again, single person, but it’s something you couldn’t really do with Unreal. (But it’s also Java and notorious for its technical flaws, so….)
I believe Payday’s engine was used for other games by the studio/publisher, which amortized costs.
Godot is likely to fail every time you want to target a console platform :( Or do they have support for any of that yet?
It has been able to target the Xbox for a while. That’s the only console I own, so I haven’t paid attention to whether it can support anything else.