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


25. November 2019


Unity have announced their Black Friday Sale for 2019… which is actually on Monday.  On Monday December 2nd 400 assets are going to be on sale for 50% off.  On each day leading up to Cyber Monday they have an individual asset on sale for 70% Off.  The limited time deals are:

Keep in mind you only have the single day to pick up each asset for 70% off, although I would assume most assets will also be available as part of the 50% off sale on Monday.  You can learn more about the sale and the assets involved in the video below.  The above links contain an affiliate code giving GFS a small commission, so thanks a ton if you use them!

GameDev News


14. November 2019


Two completely unrelated stories (beyond the Oculus commonality) in one today.  First, Unity and Oculus have teamed up to launch an 11 part, 20+ hour course on all aspects of creating a VR game using the Unity game engine with the Oculus Rift SDK and hardware.

Details from the Unity blog:

We’ve partnered with Oculus, to launch an extensive intermediate level course guiding you through all aspects of building a virtual reality (VR) game. As the VR industry continues to grow and mature, developers are asking more questions about making the switch to VR, and developers who already work in VR want to improve their skills. That’s why we teamed up with the experts at Oculus to build this comprehensive VR course, “Design, Develop, and Deploy for VR.

In more than 20 hours of hands-on course content, you’ll learn about programming, user experience (UX) considerations for VR, optimization, launching your game and more. Twelve experts from Oculus and Unity give you in-depth lessons to help you build your own vertical slice (think, level of a game) of an escape room game. Plus, after you complete the course, you can submit your vertical slice for feedback from Oculus.

Even though this course is centered around creating a game, the principles and learnings apply to almost any type of VR content, whether you’re building practical business applications or immersive experiences as art or entertainment. You’ll find this course useful even if your interests go beyond making a game. 

The course is hosted on the Unity Learn platform.  You can learn more about Unity learn here.

In additional Oculus news, John Carmack (of id fame) has announced he is stepping down as CIO of Oculus.  His announcement came via Facebook post, excerpt below:

Starting this week, I’m moving to a "Consulting CTO” position with Oculus.

I will still have a voice in the development work, but it will only be consuming a modest slice of my time.

As for what I am going to be doing with the rest of my time: When I think back over everything I have done across games, aerospace, and VR, I have always felt that I had at least a vague “line of sight” to the solutions, even if they were unconventional or unproven. I have sometimes wondered how I would fare with a problem where the solution really isn’t in sight. I decided that I should give it a try before I get too old.

I’m going to work on artificial general intelligence (AGI).

Thankfully John is leaving Facebook before working on artificial intelligence!  You can learn more about both announcements in the video below.

GameDev News


7. November 2019


Back at GDC 2019, Unity announced Havok Physics would be coming soon.  Yesterday, Havok for Unity was released as a preview package in the Unity Package manager.  The Havok physics implementation is built on the DOTS framework therefore you will require Unity 2019.1 for higher to run it.

Details of the Havok preview from the Unity blog:

When we first set out to define what the future of physics would look like with our Data-Oriented Technology Stack (DOTS), we sought a partner that shared the same core concepts and values as us. Through our partnership with Havok, we were able to leverage DOTS to deliver the highly optimized, stateless, entirely C#, and performant Unity Physics. We also knew that some of you would have more complex simulation requirements, needing a stateful physics system. For that reason, we knew Havok would be the perfect solution to integrate into Unity for those high-end simulation needs.

Some of you might be asking, “Ok, but why did you make two systems instead of just one?” We know that our users have a plethora of different use cases, and we wanted to give everyone a choice based on what their needs are. For some, Unity Physics will suffice, while others will want the benefits and enhanced workflows of Havok Physics. Ultimately, there is no right or wrong choice, as we illustrate later in this blog post. You can switch between either solver without having to reauthor all of your content completely.

An obvious question you may have is, why should I choose Havok over the new Unity physics engine?  This is explained in the Havok documentation:

  • Higher simulation performance : Havok Physics is a stateful engine, which makes it more performant than Unity.Physics for scenes with significant numbers of rigid bodies, due to automatic sleeping of inactive rigid bodies and other advanced caching techniques (typically 2x or more faster).

  • Higher simulation quality : Havok Physics is a mature engine which is robust to many use cases. In particular, it offers stable stacking and a solution for smoothing out contact points when rigid bodies slide quickly over each other (known as "welding").

  • Deep profiling and debugging of physics simulations using the Havok "Visual Debugger" standalone application (available on Windows only).

You can learn more about the Havok preview in the video below.  In addition to an overview of what Havok physics is all about, it also covers the installation process and illustrates how to configure and run the Havok Visual Debugger.  The example repository used in the video is available here.

GameDev News


29. October 2019


Unity have just released a new resource for game developers, the FPS Microgame.  It consists of two parts, a project available for download on the Asset Store and a set of courses available on the Unity Learn platform.  The project is structured around teaching game development buy modding an existing game.

The courses are structured around extending the game in the following manner:

  • Add new power-ups and enemies – add loot items (such as a jet pack) and new weapons (like a sniper rifle), make weaponized projectiles (like chocolate chip cookies), create custom enemies, and boost your player’s lifespan with health (or cookie) packs.
  • Design your own levels – reconfigure the battle arena, build new levels with easy-to-use snap-in assets, set constraints for enemies’ movements, and customize the game’s look with props and level art.
  • Mod the look – change the sky, create your own title screen and menus, and give your game a unique splash of color.
  • Test, tune, and optimize – adjust hit points and damage, modify player mechanics like speed and jump strength, optimize your game’s performance, and create a WebGL build to share your game online

More details are available on the Unity blog.  You can learn more about the template and see it in action in the video below.


GameDev News


AppGameKit Studio

See More Tutorials on DevGa.me!

Month List