The Coming Game Engine Inflection Point
members.newdesigncongress.org
members.newdesigncongress.org
- New versions of Unity offer more configuration options for your game or app, which make it hard to figure out which option to select. Choosing the wrong option will often result in incompatibility or other headaches down the road. Things like the proliferation of render pipelines, the new input system, etc.
- The experience of using the Unity editor itself has gotten much worse. The editor presents you with a progress bar much more often.
IMO these problems look like symptoms of a company culture where developers are rewarded for adding new features but not incentivized to work on things like editor stability, editor performance, or UX. Kind of a classic problem at lots of larger software companies.
ECS is a very ergonomic abstraction for games: that's the only reason it's even put up with over data oriented models like DOTS which are much more performant
To me the spaghetti code thing is in part because games are just a really hard architecture problem if you're not used to it. It's like trying to build the design, frontend and backend of a CRUD app while also feeling out the business plan as you go along. Before you know it, you have the bones of a few wrong turns sticking out of the foundation, there's huge amounts of coupling between everything, and you essentially can't change any side of the puzzle without breaking a ton of stuff.
Realistically I think Unity is often picked up by people who could make spaghetti code in any engine. And for the same reason I still contend that the asset store should never have allowed primarily code assets.
You need a certain level of engineering rigor to not end up with a brittle buggy mess to slog through by the time something as open ended as a game. The asset store is full of just awful code written by people who don't know better, picked up by people who don't know better, resulting in a gnashing of teeth for everyone involved.
honestly you nailed it lol
I'm a bit unsure what you're saying here. By my reckoning, building objects in Unity out of MonoBehaviour components is simply not ECS, and as far as I can tell, Unity ECS and DOTS go hand-in-hand. I haven't used DOTS, though. I have used ECS but not with Unity.
The reason Unity isn't ECS is because it's missing the "S" in ECS. Unity has entities and components, but you're left on your own if you want to create a system.
Agreed that there's a ton of bad code out there, in video tutorials and on the asset store. I avoid using code assets or copy/pasting code, but I'm mostly running into the next issue you mentioned--that it's a hard architecture problem to begin with.
Even if you want to reduce it to "Entity-Component" the point is that the architecture they provide via Monobehaviors is ergonomic
It creates a very workable mental model for assembling complex game entities without relying on inheritance, and it provides reasonable tools to orchestrate them without introducing hard dependencies
With that said, none of this is guaranteed and will require significant commercial support to make Godot remotely competitive. Some problems are immediately obvious like the lack of tutorials and an asset store (that's what we're working on in the near-term), but it also involves more sophisticated multiplayer options, a better asset pipeline, and much much more, so it's going to be a long road.
But I'm optimistic about Godot's future. I'm currently putting together a simple 2D RTS game with Godot 4 beta to use as a tutorial and template and it's been such a joy. Despite the bugs and the warts, I've gotten so much done in just two weeks. If you squint really hard, you can see an army of indies in the future making simple, but great games with Godot in half the time they do today and that gets me really excited.
In practice, Unreal is source available enough to satisfy the needs of commercial developers, and it's backed by a billion dollar incumbent that shows little or no sign of slowing down.
Without serious revenue generation to fund its developers, Godot will struggle to attract the top talent. It will get great talent, like Firefox, but not in the numbers and dedication that Epic can pay for and so won't be able to take the same risks with development time.
And then there's professional level support. Who can you pay six and seven figures a year to in order to acquire the services of a team of industry experts who work with Godot?
Why would you need to? It's an open source engine that uses straightforward C++, You can add PRs and requests in Github or contact the devs on Twitter or wherever. You can fork it and make whatever changes you like.
FFS, Undertale was made in Game Maker of all things. A game engine doesn't need to compete against AAA studios to be successful.
> Why would you need to? It's an open source engine that uses straightforward C++, You can add PRs and requests in Github or contact the devs on Twitter or wherever.
This is such peak HN, and misunderstanding why companies pay for professional support, that it hurts.
Well...
> You can add PRs and requests in Github or contact the devs on Twitter or wherever. You can fork it and make whatever changes you like.
So I don't have to do these things. If I can have someone capable solve the hard problems for us then I can focus the company on tasks it's better suited at delivering on.
dleslie seems to be the only one here who knows what they're talking about, but I think their assertion that not having a highly paid team of industry experts on call for Godot isn't actually a slight against the engine. I could very well be wrong. It would have been nice to have some actual insightful conversation about the differences in economies of scale between small and large games, to know why that kind of cost is justifiable for a non-proprietary engine.
But it seems like you're just a poser who came into this thread to shit on me for karma. Enjoy your lunch. I'm out.
Even Indie developers hit these hurdles from time to time, when their games explode in popularity and they find themselves porting to other platforms, adding multiplayer and social features, growing into new design elements, and so forth. I think it's a safe bet that, for instance, Innersloth and Klei have at least considered paying for such support.
It doesn't matter if the engine is proprietary or not. It really doesn't. Once the cost of development of deep-cutting features in-house reaches six figures it's easy to open doors to proprietary engine developers and pay for high-quality development of those features. Generally for less than you could expect to pay if you were to pay your own developers. Well, hopefully so. ;)
In classic rent seeking fashion both these companies have strategically swallowed up many small to medium sized software companies whose products many other industries require to stay competitive.
And again in classic rent seeking fashio n they've jacked up prices while coasting on quality.
My architecture/residential friends tell me that Revit is a bloated mess.
An EE at my work complains about the poor integration of Eagle and Fusion360 and the horrible subscription model with frequent downtime.
My relative with a video game company curses the price he has to pay for Maya or 3DSM for his employees while praising Blender.
These are conversations that I've and with people in the last month alone. Everyone is fed up of those two companies and I think that you under estimate how much they have tested on their laurels while competitors are soon to grow up around them.
I couldn't be happier.
I'd be interested in some numbers to see who's really winning here
Here's one company you can hire: https://prehensile-tales.com
You can literally get support from the original authors (and still main contributors) of the engine.
And Godot has quite a few contributors. The Godot 4 rewrite is fantastic: modern rendering techniques, great features, very modular, clean code, etc...
On the other hand, I imagine it forces you into a workflow/rendering style, with custom, simpler art styles being much harder to achieve.
On the low end, where people are still using the tried and tested VS/PS deferred forward rendering, with custom shaders, Godot is becoming increasingly viable.
Fun fact: Tesla's mobile app uses Godot, so in a sense, Godot has already made it.
Realistic lighting makes things feel very... alive. It almost always looks better. It doesn't need to be a photorealistic game. Nanite works great with those ultra high resolution megascans, sure, but it also works well with simple things. A large benefit of it is that you don't need to make many levels of depth.
Putting 2D games aside, I think Unreal is a pretty flexible choice. Moreso, I think the term AAA used to refer to realistic looking graphics, but now refers to the amount of handcrafted content in a game. Good looking graphics are simply becoming easy to obtain.
I do hope Godot eats unity's lunch though
I've been apprehensive about building a large code base in Lua but it has been OK so far.
Love has a good feature set and rock solid performance.
Godot is where Unity was in 2010... Unity used to be considered "only for indies" versus the "professional" Crytek, Unreal, idtech, etc...
Yes large money making titles have shipped with Unity, but Unity never quite broke into Unreal's level of AAA ubiquity.
That's not to say some of those games didn't make AAA money despite that, but it's a very different development pipeline.
Godot is definitely a positive light in the future of game engines, and I am hopeful for its future. At the very least, even if it all goes wrong, you could still use the standalone godot executables for years to come without any SaaS nonsense.
A lot of other EA games (sports) use another engine.
id has an inhouse engine
Valve has an inhouse engine
Riot has an inhouse engine
CDProjekt ..
NaughtyDog ..
Ubisoft ..
Guerrilla ..
Activision/Blizzard have at least 2 ..
...
Shit even Amazon has an engine these days
https://www.msn.com/en-us/news/technology/cd-projekt-red-see...
By revenue, there are several big AAA titles with proprietary tech, and a handful of top mobile titles as well. I'm guessing that's the analysis they used.
Only the very largest companies can justify their own engine these days - Activision, EA, Ubisoft, Riot etc. And most of those engines date back decades. You'd be hard pressed to justify building your own engine tech starting today. An analysis by revenue isn't really very meaningful today because of the historical head start those companies. Their ongoing franchise revenue distorts the analysis.
With the ironSource acquisition complete, I don't think things will turn around. Unity didn't have a cashcow like Epic, so some sort of acquisition was pretty much inevitable. The profits from Unity licenses and the Unity asset store just isn't high enough to sustain development.
[0] I feel like The Innovator's Dilemma is one of those things everyone should at least skim, so they know where the hype around a term like "disruption" came from and what the word originally meant. agilemanifesto.org is another one.
Being "indie" isn't enough for Godot. Unity and Unreal are the market leaders because they provide a single-solution multi-platform engine. Godot does not, and a significant amount of work is required in order to make a Godot game run on multiple platforms. Until Godot can do multi-platform natively, it will be relegated to the sidelines.
Of course, "disruption" seems to be one of those things where if someone says out loud that they're going to do it, rather than just talking about the customers they can help, they're probably full of it. Without those customers who are happy with the cheap, janky, new solution, it's just hot air. But I would be careful not to judge disruption as a theory by BS artists who just imitate its terminology.
Godot is all about "disrupting" game engines by being super indie. It's 99% of the conversation about Godot. The thing is that nobody actually cares about their game engine being indie. They want to make games, and Godot is actually pretty crap at making a game you intend to release.
A game engine is defined by the games made with it. All kinds of games have been made with Unity and Unreal, by solo developers and by massive teams. Each engine can boast collective game revenues (of games made using the engine) in the billions this year.
Godot has been around for 9 years. By this point in their lifecycles, both Unreal and Unity already had massive adoption. Meanwhile, Godot's single claim to fame in 9 years is being used as the graphical engine for the Sonic Colors remake, which was critically eviscerated for its many graphics-related bugs.
Sadly it got less and less support and users.
The engine was amazingly designed, I loved how you managed the game loop and entities.
In my opinion Godot and Blender are symptomatic of the future, and also need healthy competitors.
It's the circle of life, not an "inflection point".