> once Epic's written Unreal, they never have to create a first-person shooter engine again. Instead, they just need to keep adding new features. Day 1 may need to write a first-person shooter engine, but only because we've never done that before. This is why programmers always want to rewrite everything. Most shipping software is the equivalent of a novelist's first draft.
...and Unreal had been licensing their first person shooter engine since 1996, though it wouldn’t be until two years after this post that they dropped the price on UE3 to the point where hobbyists could afford it, then made UE4 damn near free, to try and grab some of the indy game love that Unity has been getting since its first much-lower-price release in 2005. And don’t forget Id, who’d been licensing their engines since, what, the Doom days?
Big games are still obscene sprawling messes, and so are little games I’m sure, but we are kinda at a point where nobody ever needs to write a FPS engine ever again, unless they specifically think that sounds like a fun project. Or any other kind of basic game format, it’s not like the four people who made Untitled Goose Game had to do much for the initial steps of getting a goose wandering around a 3d modeled world full of objects with a decent caricature of basic physics.
There's cases where the game you want to make is so different that it's easier to write a new engine, like with the 4D graphics/physics in Miegakure (https://marctenbosch.com/news/). Ignoring unique features like those, most of what game engines do is magic incantations to make graphics cards work, file format munging, and resource management. That stuff can be copied over between projects pretty easily.
OTOH FPS mechanics like running, jumping, shooting are the core of the game and get re-implemented differently each time. Game engines don't really have much interaction implemented, and the physics they provide still has a lot of bugs, so behaviors end up with custom code most of the time.
Assets are kind of hit or miss as to whether they're reusable, and usually need some tweaking if they are reused.
Overall I'd say the reason games have moved to 3D is because of hardware support and better gameplay mechanics, rather than code reuse. Untitled Goose could have been an isometric tile game made in RPG Maker or whatever but they would have had to spend more effort on graphics and the physics glitches wouldn't be as funny.
Apparently Minecraft is still the top-selling game in the world; the code there was written completely from scratch.
I wonder if it's really software that's hard though, or that life in general is hard and software failures are just more visible.
Remember, Id is now part of ZeniMax. I don't think they actually license game engines anymore to studios outside ZeniMax. I know for a fact that they will not open-source anything beyond Id Tech 4.
...and Unreal had been licensing their first person shooter engine since 1996, though it wouldn’t be until two years after this post that they dropped the price on UE3 to the point where hobbyists could afford it, then made UE4 damn near free, to try and grab some of the indy game love that Unity has been getting since its first much-lower-price release in 2005. And don’t forget Id, who’d been licensing their engines since, what, the Doom days?
Big games are still obscene sprawling messes, and so are little games I’m sure, but we are kinda at a point where nobody ever needs to write a FPS engine ever again, unless they specifically think that sounds like a fun project. Or any other kind of basic game format, it’s not like the four people who made Untitled Goose Game had to do much for the initial steps of getting a goose wandering around a 3d modeled world full of objects with a decent caricature of basic physics.