Ok, this is a continuation of my previous article. I’ve been finding a game engine for my next hobby game and did a bit of research on my 2 topmost candidates which are now Godot vs Defold.
Godot is probably a people top of mind when it comes to open-source Unity alternatives. However, Defold is also great. They just went ‘open source’ this year. Although it’s arguably not an ‘open source’ per OSI definition, I’d say it’s open-source enough for me.
Godot and Defold are both awesome and I find it’s really difficult to pick. So I think it largely depends on your needs.
Below are my own impression on the comparison, I’d love to hear other people’s opinions too to help me choose, and please correct me if I have wrong data/assumptions.
Features
Godot has more features. Development is very rapid and seems ambitious. It keeps adding more and more features. A great deal of battery included. This is nice but sometimes also overwhelming and confusing.
Defold seems more barebones and focused on core features. For example, it has no animation timeline editor, so you will rely on 3rd parties like spine or dragon bones.
3D support
Godot has 3D built-in. And folks are waiting for Godot 4.0. (which is hyped to be kind of comparable to the mainstream commercial engine)
Defold has limited 3D support. I think the developer is still working on improving it.
Funding
This is essential for longevity. Godot is funded by the community. It’s a member of the Software Freedom Conservancy and has corporate sponsors too. (One of them is a gambling company, which some people might have a personal concern about it). As far as I know, the big tech company also sponsor their developers for certain features, eg: Microsoft for C# support and Mozilla for bringing Godot editor to the web. Interestingly, Godot also got funding from Epic Games via Epic MegaGrant. Epic is the maker of Unreal Engine, which is a commercial (non-direct) competing game engine.
Defold was part of King, Company that well known for Candy Crush Saga. But now it is independent under its own Defold foundation. However, King still supports it as a corporate sponsor. So, the funding looks kind of similar to Godot.
License
Godot is open source under MIT license, Defold has its own open license (based on apache). And not compatible with OSI definition. Basically, both engines have source code available, and you can freely modify and publish a game with it.
The only difference with Defold is, you cannot resell the Defold editor. That’s not something to worry about, since you are making games with it, right? not intending to sell your own Defold Editor distro 🙂
Editor platform support
Same. Both are available on Windows, Linux, and macOS
Editor size
Godot has a smaller downloadable. but when you want to export to platforms, you need to download additional packages. Defold already has this included so I think the size is comparable.
Godot’s editor feels lightweight. Their UI is not native, because Godot Editor is actually a Godot Games, that’s actually very cool.
Defold is running under JVM, so it feels a bit heavier on my PC.
Supported Output platforms
Godot: Linux, macOS, Windows, BSD, Android, iOS, BlackBerry 10, HTML5, UWP. No official Console support, but can be done via 3rd party (Switch, PS4, Xbox)
Defold: Android, iOS, macOS, Linux, Windows, HTML5, Nintendo Switch.
Console support, eg: Nintendo Switch is not something that compatible with open-source. So the game engine needs to be modified to work with Nintendo tooling and devkit, where all the process is under NDA.
With Godot, you need to do it yourself or work with 3rd party studio.
Defold has paid subscription tier for the Nintendo Switch version, So it should have easier.
However, If you are a small indie developer that just started, just forget about console support, except if you are really serious about it.
Output build size
Both engine allow you to strip unnecessary part to reduce bloat.
But I think this is where Defold really shines, It can produce impressive small build size. as low as 1.6MB APK size and 734kb html5 (gzipped)
Comparison:
Defold: https://forum.defold.com/t/build-size-auto-stripping-or-manual-configuration/1819/65
Godot: https://github.com/Calinou/godot-size-benchmarks
I’d suppose this lower engine overhead reflects performance as well, particularly in low-end devices. I haven’t check myself but have seen a discussion thread about Godot performance issues on old slow android devices.
Defold small size makes it ideal for web games, it’s closer to native JS engine like Phaser.
Language
Godot has GDScript as main language. The syntax is similar to Python, but its not Python. We can code with other languages as well: C#, C++, Rust, Nim, JS, etc.
Even though Godot supports multiple-languages, they are mainly a community effort and mostly not mature enough, So I’d recommend sticking with GDScript as the official one. Although GDScript is slow, you get broader platform support, smaller build size, and fewer gotchas/surprise when developing the games. C# support is getting popular, though. This is a big plus If you are coming from Unity.
Defold uses Lua. There’s also a community project for haxe and typescript support but done via transpilation (means it eventually converted to lua and processed by Defold as lua).
I’d personally prefer JavaScript but none of them officially support it. However, both Lua and GDScript are simple languages that easy to learn.
Popularity
Godot is much more popular with loyal & fanatic userbase. It has good momentum and brand recognition. It kind of known as an open-source alternative to unity, just like Inkscape to CorelDraw or Gimp to Photoshop.
Defold has a smaller user base at this moment, their forums are friendly and helpful, though. hopefully, its community keeps growing too.
Resources and Tutorials
Why does popularity matter? Obviously, this is related to the availability of tutorials, articles, discussion, courses, assets, plugins, external apps support, 3rd party services integration, and general ecosystem around the engine. That’s where Godot shines. It’s got a lot more tutorials and courses out there. Defold currently has fewer, although their own manual and tutorials are neat and good.
Summary
So I think Defold simpler engine that suits best on mobile and performance. and Godot is a more general all-purpose engine with a lot of features, but kind of desktop-first, and mobile/web is like a scaled-down version.
I love that they don’t directly competes, because I like both.
So I’d personally choose:
- Godot for a desktop game or 3D desktop game.
- Defold for html5 and mobile games, where size and performance matters.
We are lucky that nowadays we have plenty of choice of free game engines, but it really overwhelming and Just choosing them takes a lot of energy, sigh. I haven’t even done the coding. Maybe I’ll write another article once I’ve done it.