Is it really possible to build games line Cities Skylines, Subnautica, Rust, Outer Wilds, KSP, Ori... in Godot? Is this more of a long term ambition at this point, or is it possible for this kind of game to be built in Godot today?
Is it really possible to build games line Cities Skylines, Subnautica, Rust, Outer Wilds, KSP, Ori... in Godot? Is this more of a long term ambition at this point, or is it possible for this kind of game to be built in Godot today?
I think Godot is there, and they are seeing the start of adoption by AAA devs even before the Unity licensing shenanigans. But as Unity's own rise shows, it's not going to be a matter of flipping a switch and having comparable share amongst big games tomorrow.
It's probably also worth mentioning that it's possible to build pretty much any game in any framework, or without, it's just a matter of time and effort. Like LWJGL still is seen as a "toy" framework despite being in one of the most successful video games of all time (Minecraft). Factorio used just Allegro as a layer on top of SDL before migrating to bare SDL2. Conversely, many of the technical problems for KSP1 or Cities Skylines 2 have been attributed to Unity being a poor fit, despite being widely recognised as having "made it" into the "real engines" tier. There were also some EA developers with not very nice things to say about frostbite for games that don't look like Battlefield in the era where EA was pushing for all their devs to adopt it.
Unity was seen as a hobby engine then, we used it for the web, but for desktop used Unreal. Godot today is way ahead of where Unity was in 2007ish.
That allows developers to experiment a little bit (internally or with smaller projects) and hedge their bets.
If there is language compatibility (e.g. C# ) and your reusable components are somewhat sensibly designed (if only to mitigate update risks in your initial engine) it's feasible to think about switching for your next game (unless say in with service product that is expected to run indefinitely)
This might be a bit silly, but when it comes to engines and tools in regards to graphical fidelity and larger projects, I like to think of it in 3 broad categories:
* Impossible - you're not making the next Crysis in GameMaker, Construct, or RPG Maker. Period.
* Unviable - you could technically rip out and replace 50% of jMonkeyEngine or NeoAxis with something more performant and better, if you had near-unlimited resources; except we both know it's not happening.
* Viable - you could take an off-the-shelf engine like Unity or Unreal and with a large amount of work achieve your goals, with varying degrees of success.
Godot was strictly in the "unviable" group during its 2.X and 3.X releases, but is getting better now (new renderer, nice LOD functionality, good C# support in addition to GDScript when you don't want to program gameplay in C++) and thanks to community efforts missing functionality is also getting added (like the terrain plugins, the older of which were sometimes quite broken): https://godotengine.org/asset-library/asset It still doesn't have that big of a commercial ecosystem around it (like Unity does) and still feels a bit half baked at times and getting the same things you could get out of Unity or Unreal working would take more work for larger projects... but it feels more and more doable.Then again, currently Godot is hands down better for smaller projects, a lot of indie games, game jam games and quick prototyping, both Unity and Unreal feel too sluggish and heavyweight for that (and Unity in particular is a mess because of the whole legacy pipeline/URP/HDRP situation, DOTS, multiple input systems, multiple UI solutions and just so much fragmentation). Not every game needs to have the scale of the ones previously listed, actually most don't and should better manage their scope and could still be wildly successful.
Overall, it feels trending upwards and I'm curious to see where Godot will be in 5-10 years. If you tried right now, you'd just have all the normal early adopter struggles.
"just"?
Also large portion of first party Unity subsystems which you install through builtin package manger (I am not talking about third party asset store stuff) is available in source code form under relatively nonrestrictive Unity Companion License to anyone. Don't need the Enterprise plan or additional payments for that. For those modules you can not only read and modify the source code, but you can even openly distribute your modified versions. The biggest restriction of this license is that you can only use that source code in combination with Unity, you can't port it to different engines. And in many cases where I read it, to better understand how to correctly use the library or avoid a bug, it was quite readable.
So overall access to source code isn't the main obstacle for game developers to fix the problem in Unity, spending time fixing things and afterwards maintaining a modified version is.
Making Godot, less 'klugey' but less performant.
The trouble with maximizing Unity the way professional devs do, is that you have to know which kluges to use and which to avoid. It's somewhat impractical and the end result still isn't that awesome: some of those games you mention are hitting a performance wall even though they're in Unity.
I don't think Godot is really on par with Unity in the 3d performant space in all respects, but I think that could change quickly, and what will happen is that it'll catch up over the medium term without going totally klugey. I'd give it a couple years to get there. Right now I think you'd have to design around what's not currently performant enough.
I have no experience in building big titles or even commercial games, but I see no obvious "blockers" to building a large and complex 3d game. It's not like Godot itself limits you to only doing basic 2d platformers or whatever - it seems as flexible and power as unity.
Sure you might not have all the same eye candy as the very latest unreal engine or whatever, so AAA quality titles might be out, and I am not sure what the multiplayer stack is like, but it seems like the fundamentals are there and so there is nothing to hold people back.
It will be a while until we see AA / AAA games in Godot, it's missing too much right now to be viable in the 3D space (again, for AA/AAA. For indies, sure, why not). One day, certainly, I hope so, but not today nor tomorrow.