That’s not what I’m saying!
(Background thinking hidden below)
Summary
I’m saying that everything we do, has a cost to the rest of the world. The world has a certain amount of resources and a certain amount of human time available.
The sum of all that time, all the work people put in, and all the resources created and extracted, is “the economy.”
How do we decide who gets what part of those outputs? How do we decide how to go about best using the resources? How do we decide that Bob will fix a bug in the UI widgets system, Sue will help a client in front of a judge, and Kim will plant rice in a rice paddy? That’s where the incentive systems come in. These come in flavors from “anarchy when everyone does anything they want” to “full totalitarianism where the Glorious Leader says what everyone does.” But, for most of us, the incentive system is “a more or less open market where we can choose to buy and sell goods and our time/skills.”
OK, so, if we want to make a change in the world, we have to make that change ourselves, or we have to incent other people to make that change (typically, “pay them to do it.”)
If there is a change in the world that someone wants to see, and they have money (or time) available, then they may choose to help others who want to make the same change. For example, if you want to build a game of a certain kind, and can convince an investor that this game would be a good investment, then that investor may fund your effort with money, presumably in exchange for whatever they expect to get out of the deal (anything from “philantropy” to “the bigger part of the revenues and credit for the game.”) This will help you make more changes in the world to make the game more likely to come about.
But, let’s say you have no good way of incenting investors, so you just have to do it yourself. And, because you also like to eat, you have to do this in evenings and on weekends, when you’re not working (or studying.) At that point, it’s up to you – you have to trade your scarce time for whatever actions are needed to get the game done.
And, most of the time, “fixing the few windows that have the most value” is a net positive investment, but “fix all possible broken windows” only leads to the actual game not shipping.
Now, if it really is a big deal that there is no LTS version, then you can probably make the world a net better place, by forking the engine, and announcing the project to “freeze” the version and only back-port bug fixes. You can make your changes available to other developers who also want those fixes. You can accept changes from other developers. As far as I can tell, as long as you only share with other developers who have UnrealEngine access on github, and don’t charge for the engine code, this would probably be OK. (But, I’m no lawyer.)
If it’s actually valuable to the world, the world will agree, and help you make it happen!
And this is not a passive-aggressive way of saying “that is a bad idea” – I honestly don’t know. It might be great! I would love to see you try it.
Another thing that I think is sorely lacking in the engine is comprehensive automated tests. The engine has a number of subsystems that are not structured to make testing straightforward, and while sometimes “abstraction costs frame rate,” most of the time you can make the same code and performance easier to test just by making that a design goal. There’s been a few token attempts in the past to improve the situation, but this is an area where I think the EPIC team and leadership just doesn’t have the necessary experience and background to make it happen and make it stick. This is one of the weaknesses of the engine.
But in the end, shipping the game is what matters. If you get too caught up on other things, that doesn’t happen.