Ringu wrote: ↑Wed Jan 23, 2019 8:55 am
johnnyr wrote: ↑Tue Jan 22, 2019 10:10 am
The only saving grace here is that Josh at least tried, though after year 1 (or at most 2) I would have thought it was obvious he should stop trying to make his own engine, and just go with a commercially available one. Josh is an incredibly talented and smart person, he could have easily made it work. (And to the people who say this game was far to complex to work on a commercial engine, stop being ridiculous)
I'll stop being ridiculous if you stop being an asshat. You go first.
People who know how to write games, and smart people who have actually looked at the specific issues around all existing commercial engines, came to the conclusion that the commercial engines would not support the technical features needed for LT.
You're welcome to have a differing opinion, but since it isn't based in reality, you should keep it to yourself and stop calling competent people 'ridiculous'.
Even if disagreeing on the tone, I could not agree with you more on your forceful rebuttal of that user's overly harsh words against Josh. There's no need for people to be as aggressive as he has been - nothing will come out of that beside degrading the rare quality of this space - and this space is all that is really left for us. I, for one, refuse to even acknowledge or address his posts while he does not chill down enough.
On another note, let me take the opportunity you brought up to disagree with you (and others) on the Game Engine issue - which is something that I have seem a few people bring up in the last months. I am a professional programmer. I know Unreal quite a bit and Unity fairly well. The conclusion about Josh not choosing to use proven game engines depends very much on the choice of words. If someone says that LT
could not be built with a proven game engine, that someone is simply plain wrong. There's no debate to that. Now, if someone questions whether or not Josh
should have went that route, this is, whether or not the trade-offs would be worth the choice, then we have a debate.
Let me explain. The idea that proven commercial engines could not support the technical features needed for LT simply can't exist in the minds of anyone who has ever worked with the sources of those engines - Unreal, Amazon's Lumberjack or even CryEngine. Just google the games made or being made with them. No other than Star Citizen started using CryEngine and later moved to Amazon Lumberjack. If people really think that LT, even in its more idealistic incarnation, would be more resource-demanding in terms of graphics, AI, gameplay or multi-systems than
all of the games being made with those engines, people simply do not know what they are talking about. "Oh, but procedural generation..." please stop. Procedural generation can be done with any engine whatsoever. Generating content with code can be done as far as code can be done - more or less painfully, of course. Don't get me wrong, there is no doubt about the flaws of those and other engines in what regards things that LT needed. Unreal, for instance, has very bad built-in out of the box support for mesh procedural generation because of how little (and in how bad) ways it exposes huge parts of its APIs to the end user. Also, indeed setting an environment to use custom geometry and compute shaders in Unreal is quite a pain. Unity, on the other hand, while much more amenable for procedural generation and shader based general programming out of the box, has all sorts of inefficiency issues when it comes to building open worlds or systems with too many moving parts.
Yet, one golden thing that both engines share - and which they also share with all others - is that they
exist. They are not a goal. They are not a dream. They are not an intellectual challenge. They do not take 6 years to perhaps-be-finished. Would Josh have to spend a relevant amount of time learning the intricacies of a chosen engine to modify it enough so that LT could live there? Absolutely. Open source ones like Unreal and Amazon' Lumberjack allow that to extreme extents. It is ludicrous to claim that LT - or any other game -
could not be done with those open game engines - whose source code, well, can be adapted to one heart's content. And now we come to the other side of the coin, which is where reasonable debate can exist: tinkering and adapting said source codes would be worth the effort? In other words, what are the trade-offs? Would the cost of changing source code to make room the needed flexibility pay-off the effort?
One will never know, since we can't go back in time to test and see. My own take has always been that yes, that would have paid off. I saw once someone here saying that Josh would have had to spend such a big amount of time learning all the needed details of those Engines that it would not be worth. What on Earth? How can someone think that modifying a game engine would ever be as hard as - much less harder - than building one from scratch? Imagine the time saved from not having to implement strings, a UI system or a physics system all from the ground up. I know, I know, what about the FPLT? Well, saving coders from having to handle the insane size of a game engine + game codebase is precisely one of the reasons why even multimillionaire companies resort to pre-made game engines. People usually say "oh, LT was too big/complex for commercial game engines". Sorry to say this, but as time proved, it is the other way around. LT was too big and complex for a custom one-dev made game engine. That is why most of the time you see tiny teams or solo devs building games with their own engines they are much simpler games than LT either in scope and/or in graphics. It's not a coincidence that Josh said in his last post that "Perhaps those who are interested in game engines will glean a thing or two from the engine, as it is a fairly solid piece of engineering, much more solid than the Lua game code". That's what he has been building for 6 years, a great space game engine and that was nearly perfectly finished.
You know, it's much nicer to indirectly think that LT was doomed all along because of its own qualities - being ambitious, big, complex. But in the end, as special and brilliant as Josh is, LT did not fail because it was too good to be true. It was plagued by the most trivial set of bad choices that plague so many game devs: feature creep, severe premature optimization, excessive time spent on making coding itself "more efficient" and above all, the legendary "building an engine not a game".