This page doesn't end.
This page doesn't end.
I think a large part, why smaller, "indy" engines like haxeflixel, godot, cocos-2d etc are surviving is because of the much lower entry level. I wonder if the big ones like unreal, unity and crysis are going to collapse sometime under their own weight... How are they even adding all those new features without breaking stuff all the time? This is what impresses me most.
I haven't looked at their code, but I would bet they have fantastic regression tests. Something I've added to my own engine in the past year is "pixel perfect" tests: for a given test scene employing specific effects (soft shadows, reflections, refraction, etc) the renderer should produce an image that is a pixel perfect match with a known correct image. If you begin optimizing shaders and rendering code, regressions are caught very quickly, in an automated way. Sometimes the images are close enough to be acceptable (for example, if an optimization changed floating point precision, resulting in a color that is a shade different). In that case, the test fails, and you can replace the test image with your new rendered image, after you've vetted that it "looks correct" manually.
It's not anywhere close perfect in testing all code paths, but the payoff is rather large for the effort put into creating the test.
I guess they simply throw money and play testers at this problem. (Unreal probably more so than Unity) But how long can you scale this up?
I love writing everything from scratch just for the sake of learning. And yet I love engines like UE for trying new stuff and real world projects.
In large code bases, automatic testing significantly facilitates adding new features. I don't really know how they test UE, though.
Apart from technical answers for good engineering practice, I'd just say they do it with money (engineering time). And as long as gamers keep drooling at next-gen graphics, they'll merrily keep maintaining this beast they've assembled :)
UE vs. the indie engines you mention are very different economical animals. Where these indie engines are made by volunteers or small/medium teams, UE is built by the huge team at Epic, they've been doing it for years, it will cost you (a "5% royalty based on gross revenue" [1]).
So, not diminishing their technical prowesses at all, just reminding they pursue a juicy market which wants these weighty features so that their new AAA games stay on top of whatever new hardware and graphics advancements without having to research/implement those themselves.
In your case, the landscape was quite different 15 years ago. Simpler, in a lot of ways. Now think 15 years into the future and imagine how the Unreal Engine could look like then. If the changelist increases in this form for the next 15 years, how complex will it be to operate that thing? Will someone new to this still be able to learn everything there is to learn? If not, how will this affect the industry?
It also is nice tha that Unreal Engine is open source: https://www.unrealengine.com/ue4-on-github
They have a couple people work together to make the release notes, so I'm sure that helps.