4 ms·
I've started using Godot (4.0-alpha) for some hobby game dev recently. In the past I've done a fair amount with Unity and touched Unreal once or twice. Thoughts
by brundolf 4y ago
I've started using Godot (4.0-alpha) for some hobby game dev recently. In the past I've done a fair amount with Unity and touched Unreal once or twice. Thoughts so far:
Godot is far from perfect. It's definitely more sparse than the others in terms of features. I've encountered some bugs (nothing show-stopping, and it's tough to say how much of that is just from using the alpha version, but it has impacted my flow). There are unfortunate quirks; for example, saving scripts always saves the whole scene, and saving large scenes can pause the editor for multiple seconds, which is a particularly annoying combination. The programming model is heavily OOP. The custom scripting language, GDScript, is a blessing and a curse; its tight integration with the engine comes at the cost of subpar tooling (and of course, just learning a new language with new quirks).
But.
Godot has the distinct feeling of being cohesive. It feels like it was designed by one person, who knows what it takes to make games, and set out with a holistic vision. Everything you might need to do has an answer, or at least a story. You don't get confusing mixed signals from different parts of the interface or from the docs; there's one, intentionally-designed way to do each thing. GDScript has its quirks, but it also has very elegant built-ins for doing engine-specific stuff that would be super clunky in a general-purpose language. Using Godot almost has the feeling of using (good) Apple software; somebody anticipated your needs, and made sure they'd be met. Maybe not in the exact way you would have picked, but in a way that will work, and will fit in with everything else.
That, combined with it being fully open-source, makes it feel like it has good bones. Especially in contrast with Unity - which felt like a growing pile of corpses being tossed on top of each other with each release - it's been so refreshing that it's singlehandedly gotten me back into hobby game dev. I don't feel like I'm wasting my time learning one half-baked API that's going to be replaced with another half-baked API six months from now. For every annoyance or missing feature in Godot, I have faith that things will continue to improve - because they're built on a solid foundation - or that I could at least build it myself if I really needed to.
I believe in the vision and the future of this piece of software. And that makes it feel worthwhile to invest the time learning all its quirks.
- glanzwulf 4y agoWhat kind of features are you missing from Godot vs other engines?
- brundolf 4y agoA recent one I looked for was a terrain system. There just... isn't one yet. It's totally possible they could add one some day, but I assume other things have just been higher-priority so far for their limited dev time (which isn't unreasonable) I did find a third-party plugin that looks pretty high-quality, but it hasn't been ported to 4.0 yet
- TillE 4y agoBear in mind that almost nobody has really started porting anything to Godot 4, because it's still in alpha and stuff isn't quite nailed down yet. It makes sense to wait until the first beta, which is probably a few weeks off.
- brundolf 4y agoSure, makes sense. But the question was which features are missing from the engine itself, and that one came to mind (Unreal and Unity both have built-in terrain systems, even though Unity's is crap). Not making demands, just observing/relaying
- KronisLV 4y agoAnother thing that's pretty interesting to have, but isn't quite there yet is dynamic render resolution scaling, which can be a godsend for lower spec devices. That said, there's pretty much nothing preventing from people writing their own functionality to achieve this and someone actually did: https://godotengine.org/asset-library/asset/1141 https://godotengine.org/asset-library/asset/1141 (note: for some, certain limitations might be dealbreakers, as described at the bottom of the description) It's pretty cool to see people creating pieces of functionality like this, be it terrain functionality, or even the resolution scaling, which you can see a video of here: https://www.youtube.com/watch?v=AW0A-G5mMcw https://www.youtube.com/watch?v=AW0A-G5mMcw I also recall there being a more static version that didn't seem to mess with your scene (as much?), but it wasn't really suitable for dynamic resolution changes at runtime back when I checked. Now if Godot 3 could get a backport of dynamic LOD that would be great, but other than that Godot 4 is promising and it feels like the engine has a bright future ahead of it! I just doubt that the asset/plugin situation will get anywhere close to as much of a flourishing ecosystem as Unity's, given that the financial incentives aren't quite there yet. Of course, having most of the current ones (even if a limited selection) be free is nice, though.
- RicoElectrico 4y agoSo it's like a PostgreSQL of game engines, as I heard similar praises of it.
- Thaxll 4y agoExcept no one use it for any serious games. Godot is praised there and there on HN but in the real world of making games most people don't know about it and certainly won't use it. atm it's good a indie engine. Edit: the downvote party is there, where are the game built with godot again?
- jay_kyburz 4y agoI'm in the real world of making games and I spent 3 months evaluating Godot. I really wanted to like it. I found several critical problems and raised them with the core developers who did not take them seriously.
- ido 4y agoCan you summarize what the problems were?
- jay_kyburz 4y agoHere is the biggest. https://github.com/godotengine/godot/issues/32383 https://github.com/godotengine/godot/issues/32383
- Kinrany 4y agoTL;DR: IDs of destroyed objects are reused for new objects, which breaks the function for checking that an object still exists. Fixed in debug mode but not in release.
- aaronfranke 4y agoIt's fixed in the master branch since 2020, and is therefore fixed in 4.0.
- hertzrat 4y agoGodot seems nice so far. How is the c# support? The docs? Is it hard to do x if you look online for how to do so? Performance? Occlusion culling? Last time I looked into it, it was too far behind still, but it looks like Godot 4 will be a really cool release
- mindwok 4y agoC# support is excellent. They received funding from Microsoft to add it, and it’s nearly as full featured as the native GDScript and it’s significantly faster (at least in 3.X). Can’t really speak to the rest, although I believe occlusion culling is one of the killer features of the 4.0 release.