Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
26. November 2019

.

This is a very common question, so this guide and video is setting out to answer why *I* might choose to use Godot over those other engines. Keep in mind, this isn’t me saying Godot is better or worse than those engines. Additionally, I have a video on Unreal vs Unity in the works, so if you want to decide which of those engines to use, stay tuned for that.

Without further ado, let’s jump in.

Free

Obviously, the lack of a price tag is one of the most obvious features of Godot. Yes, you can start for free with both Unity and Unreal Engine, but both ultimately have a price tag. With Unity, you pay a per seat license fee if you make over 100K a year. With Unreal Engine you pay a fixed 5% royalty after the first $3000 dollars earned. If you’re not making money nor plan to, this obviously doesn’t matter… but the more successful your game is, the better a deal free is!

Open Source

On the topic of free, we also have free as in freedom. Godot is free in both regards, to price tag and license, being licensed under the MIT license. Unity trails in this regard having only select subsets of the code available. Unreal Engine has the source code available and you can completely build the engine from scratch, as well as being able to fix problems yourself by walking through a debug build and applying fixes.

UE4 however is under a more restrictive proprietary license, while Godot is under the incredibly flexible and permissive code license.

Another aspect in Godot’s favor… it’s also by far the smallest code base and very modular in design from a code perspective. This makes it among the easiest engines to contribute code to. The learning curve to understand the source code is a fraction of that to get started contributing to Unreal, while contributing to Unity is frankly impossible without a very expensive negotiated source license.

Language Flexibility

Over the years Unity have *REMOVED* language support. Once there was UnityScript and Boo, a python like language, in addition to C#. Now it’s pretty much just C# and their in development visual scripting language.

Unreal on the other hand has C++ support, with the C++ thanks to Live++ usable very much like a scripting language (although final build times are by far the worst of all 3 engines!), as well as the (IMHO) single best visual programming language available, Blueprints.

For Godot the options are much more robust. First off there is the Python-lite scripting language, GDScript. You can also use C++, although the workflow for gameplay programming may be suboptimal. Additionally, C# support is being added as a first-class language and there is a visual programming language available here as well, although I can’t really think of a reason to use it as it stands now.

Where Godot really shines though is its modularity. GDScript itself is implemented as a module, meaning making other custom scripting languages is a borderline trivial task, as is extending or customizing GDScript. Additionally, there is GDNative/NativeScript it makes it fairly simple to link to external code, without having to jump into the guts of Godot (nor having to compile Godot) or to write performance critical code in C or C++. Finally, you have the ability to create C++ “modules” that have access to all of the C++ classes available in Godot without having to make changes to the underlying codebase.

Ease of Use

This one is obviously subjective, but if you are looking to create a game, especially as a beginner, the learning curve and ease of use with GDScript make this the easiest of the 3 engines to pick up, at least in my opinion. Unreal Engine is frankly fairly appalling for 2D titles, having basically abandoned Paper2D (their 2D API) on the vine. Over the last couple years Unity have really been focusing heavier on dedicated 2D support, but you still must dig through a lot of cruft and overhead to get to the meat of your game.

With Godot you pretty much everything you need for 2D out of the box and the ability to work directly with pixel (or % based) coordinates.

It’s Tiny

Unreal and Unity are multi GB installs and both have a hub or launcher app. Godot… a 50ish MB zip file (plus templates for a couple hundred more MB needed when deploying). Download, unzip and start game development!

You Like it Better?

You may, or you may not like the coding model of Godot. Chances are if you like the Node based approach to game development, you will love Godot. All three game engines (and almost all modern game engines) take a composition-based approach to scene modeling. Godot takes it one step further, making everything nodes, trees of nodes, even scenes are simply nodes. The approach is different enough that users may either love or hate the approach. If you love the approach Godot takes, you will be productive in it. If you don’t like it, you’re probably better served using Unity or Unreal.

Why Not Pick Godot Then?

I am not even going to pretend that Godot is the perfect game engine and ideal in every situation… there are certainly areas where Unity and Unreal have a small to huge advantage. This could be its own entire video, but a quick list include:

  • Performance concerns, especially on large 3D scenes (hopefully resolved with proper culling and the upcoming Vulkan renderer). In 3D, both engines out perform Godot quite often
  • Platforms… Unity and Unreal support every single platform you can imagine, Godot supports most of the common consumer categories and takes longer to get support for devices like AR/VR. Hardware manufacturers work with Unity and Epic from the design stages, while Godot pretty much must wait for hardware to come to market and then for someone to implement it. Another huge difference, and one of the few downsides to open source software, it isn’t compatible with the closed proprietary licenses of console hardware. While Godot has been ported to run on console hardware, it isn’t supported out of the box and probably never will be.
  • Ecosystem. Godot has a vibrant community but can’t hold a candle to the ecosystem around Unreal and especially Unity. There are simply more users, more books, larger asset stores, etc.
  • The resume factor… this is a part of ecosystem continued. It’s easier to get a job with Unity experience or Unreal experience on the resume than Godot. While many people wouldn’t (and really for a full-time hire, shouldn’t) care what engine you use, when people are hunting for employees, they often look for Unity or UE experience specifically. The other side of this coin is the number of people with Unity or UE experience is larger if you are the one doing the hiring.
  • As with many open source projects, it’s still heavily dependent on one or two key developers. If the leads left the project, it would be a massive blow to the future of Godot. Meanwhile there are hundred or thousands of people being paid to develop Unity or Unreal and the departure of any individual member isn’t likely to have a tangible impact.

The Longer Video Version

Programming General


4. November 2019


The Godot open source game engine is growing at a massive rate.  To properly manage that growth and to set expectations of community behaviour, Godot have released a code of conduct.

From the Godot blog, details of why they created a code of conduct:

During the past five years of free and open source, collaborative development, we've been blessed with one of the best-behaved online communities that I have been in contact with. The vast majority of users on all our community platforms dearly care both for the Godot project itself, but also for all their fellow participants.

Yet there are occasional outliers, and to properly moderate an ever growing community (more than doubling in size each year) we need a written statement for the de facto guidelines that our moderation teams have applied until now. This will give users a clear overview of our expectations for positive and respectful behavior. Community moderators, who are also participants donating their free time to ensure a safe environment for all users, will therefore be able to back their decisions with common guidelines.

You can read the specifics of the new code of conduct here.  You can learn more about the change in the video below.  If you are interested in learning more about the Godot Engine be sure to check out our tutorial series or our complete 2D game in Godot tutorial.

GameDev News


15. October 2019


Material Maker is a free and open source MIT licensed procedural texture generation tool built using (and that can run within) the Godot game engine.  Material Maker 0.6 was just released.

Details of the 0.6 release from the Itch.io news page:

  • Material Maker is now a lot more generic and nearly all generators are based on GLSL shaders that can be edited. To test this feature, just drag one from the library to the graph editor, selected the newly created node and hit Ctrl+F. The node becomes editable, and hitting the pencil button will show the shader editor that can be used to define the node's parameters, inputs, outputs, and GLSL functions that will be used to generate textures. For now it lacks diagnostic tools, so you'd better start with  code you already tested (in shadertoy for example). Since images described in GLSL are math functions, all those generators are resolution independent.
  • It is now possible to create a group of interconnected generators using Ctrl+G. This will create a new node that contains the previously selected ones, while keeping all connectivity with other nodes of the graph. To edit the new subgraph, click on the pencil button of the newly created node ; and to get back to the parent graph, use the Up button in the top left corner of the view. If a Remote node was selected, it will be used to define the new node's parameters.
  • All nodes now have embedded previews. Just click on the closed eye left of each node output to open it.
  • The 3d preview can now be moved manually, and the "O" button in its top right corner will show the preview as background of the graph view.
  • the library pane now has icons for many generators and a filter.
  • There are quite a few new generators: truchet, weave, runes, mirror and kaleidoscope.

The source code for Material Maker is hosted on GitHub, although the 0.6 code doesn’t seem to have been made an official release yet.  Material Maker can also be downloaded from within the Godot Engine, in which case it will directly create a Spatial Material ready for use in your Godot game.  The standalone release instead exports a series of PNG textures for use in whatever engine or application you wish to use.

You can learn more about Material Maker in the video below.

GameDev News


7. October 2019


Godot, the popular open source 2D/3D game engine, just released the first alpha of Godot 3.2.  This means that there is a complete feature freeze and hopefully we will see a final release of 3.2 in just a few months time.

Details from the Godot News:

After close to 7 months of development and over 4,000 commits since the 3.1 release, we are now happy to release Godot 3.2 alpha 1, our first milestone towards the next stable installment of our free and open source game engine.

This first alpha build comes relatively late in our planned release schedule, mostly because of work done on our official build infrastructure to adapt to 3.2 requirements (changes to the Android buildsystem and packaging, especially with the new C# support), as well as a build server upgrade. But we have been in the alpha stage since August 31, and testers and developers were not idle in the meantime, so the master branch from which 3.2 will be released is already quite stable. As such we expect the alpha and beta phases to be quite short for Godot 3.2, and a stable release within one or two months should be possible.

The alpha stage corresponds for us to a feature freeze, as announced on GitHub a month ago, which means that we will no longer consider pull requests with new features for merge in the master branch, and that until Godot 3.2 is released. This way, we can focus on what we already have, finish and polish the major features which are still in progress, and fix many of the old and new bugs reported by the community.

Alpha snapshots will be released regularly during this phase, to continuously test the master branch and make sure that it keeps getting more stable, reliable and ready for production.

Note: While we are behind schedule, we still plan to release Godot 3.1.2 as soon as time permits.


Godot 3.1 alpha1 can be downloaded here or here (if you also require C# support).  Release notes are not yet available but there is an in-depth changelog of new features available here.  If you are interested in learning Godot, be sure to check out our complete ongoing tutorial series available here.  Watch the video below for more details on the 3.2 release of Godot.  The game mentioned at the beginning of the video is Resolutiion and is coming soon to Steam.

GameDev News


2. October 2019


Today Godot announced they have a new platinum sponsor, Heroic Labs.  A platinum sponsor has pledges at least $1500 a month towards the development of Godot, an open source 2D/3D game engine that is open source and entirely crowd funded.  This pledge should help with the future development of Godot, enabling Godot to employ more developers in a full time capacity.

Details of the sponsorship from the new posts:

Today, open source game development tools do a similar job. They help everyone –– from indie developers to AAA studios –– to focus on creating the best game rather than having to rebuild a physics engine, shift graphics blobs manually in memory, or develop reliable back-end infrastructure.

That’s why we created Nakama and made it open source. We wanted game developers to have access to the same high quality back-end functionality that’s available to developers working in other industries. Crucially, we wanted to make sure that anyone could build their game with Nakama, whether they’re learning in their bedroom, bootstrapping as an indie dev, or trying something new at a big studio.

We’re thrilled that Godot shares our passion for open source tooling and we’re excited by the possibilities unlocked by combining Godot and Nakama.

Plus some details of their future plans regarding Godot:

Nakama is a real-time, competitive, social back-end that helps game developers create compelling multiplayer experiences. Already we have integrations with Unity, Unreal Engine, Swift, Android, and more.

Right now, we’re working on our integration with Godot Engine and we’ll post an update once it’s available. Nakama and Godot together will give a whole new generation of game developers the opportunity to build resilient, beautiful, and immersive gameplay experiences.


Nakama is an open source back end server for networked games.  You can host it yourself or use their managed hosting solutions.  You can learn more about the sponsorship and about Nakama in the video below.  If you are interested in learning how to use Godot, be sure to check out our tutorial series available here or our step by step series available here.

GameDev News


AppGameKit Studio

See More Tutorials on DevGa.me!

Month List