If you’re into the gaming culture, you have probably heard the term ‘game engine’ being thrown around somewhere. A game engine is a software that provides game developers with the required set of tools to build and develop games fast and efficiently. A game engine can be thought of as a framework for game development that includes all the major areas in game development. These are: graphics, physics, audio, networking, graphical user interface and scripting. Game engines are built so that developers don’t have to create all features of the game from scratch as that would be expensive and time consuming.
A good game engine supports both 2D and 3D games although one can be more tailored towards 3D or 2D. Both Unity and Godot support either of the two. A game engine works with other software such as Maya, Photoshop to make game assets like 3D models and sprites. More software can be needed depending on the specifications of the game in making. A game engine has five main components: the main program which is the game mechanics, a rendering engine to render all the extensive graphics, an audio engine to tailor voices and volume capacity, a physics engine to implement the laws of physics in the game and an artificial intelligence module for AI software engineers.
Godot and Unity are two of the most common game engines in the market today. They are also one of the oldest and have paved way for nearly anyone with resources to create their own games. As much as they are both widely known, many people have a favorite of the two. This is because they both have their own advantages and downsides. They are tailored for different needs and different game specifications. In the next section, we are going to look at their similarities and differences.
Godot is considered the underdog in game engines. This is because it is powerful yet open source, meaning that the developer does not have to pay anything to use the tool. It is also older, and is geared mainly toward 2D game development. However, it supports 3D but is not the best at 3D game development and rendering. Because of how long ago it was started, Godot, unlike newer game engines is suited for people with programming knowledge. Every feature is accessible through code meaning that someone without coding knowledge cannot use it. However, among the coders, it is highly praised because of its well-arranged documentation and ease of coding.
Godot is an open source C++ based game engine with a superior editor loved by many coders. And like all other open source software, Godot is constantly updated and fixing bugs by their online community. This means if you have a question, there is a community to help you out when you’re stuck. Godot is a great choice for 2D game development but also works with 3D games. What makes Godot great for beginners however is the large set of documents it provides which allow the beginner to easily learn and develop a simple game.
Godot supports all major platforms including: Windows, Linux, Mac OS, and iOS, Android, PS3, HTML5, PS Vita and even the less popular Windows Phone. With Godot, it is easy for beginners to learn and make simple games without reinventing the wheel.
The key features for Godot game engine include the following.
Godot has a dedicated scripting language
Godot game engine comes with a uniquely written programming language called GDScript. GDScript was developed by the Godot team as a result of testing other languages and failing. GDScript came about as a result of mixing and iterating multiple programming languages such as Python and Lua. Since none of these languages worked for them how they wanted, they decided to merge the two. This is why GDScript is as readable as Python since it retains some of the features of Python language such as strict typing and more straightforward short codes. Through this, they were also able to create a better editor which is what Godot is mainly praised for. The language is quick to learn and this is why many developers love Godot.
GDScript also includes visual scripting. Visual scripting is important when it comes to developers who are into artsy stuff. It makes coding much more intuitive and allows easy making of prototypes. However, it is important to note that a game should not be created only through visual scripting.
Supports multiple programming languages
As we know by now, to use a game engine, you have to have some bit of coding knowledge. The problem comes in when you know a language that is not supported by your game engine. Godot ensures that whatever language you know is supported by it. It supports C++, C# and their own GDScript. Recently, they have been working on VisualScript which is a similar to Unreal’s Blueprint engine.
Supports both 2D and 3D development
Many games today are in 3D. However, for Indie developers, 2D game development is essential. Godot is great for Indie developers since it is especially tailored for 2D game models. Godot game engine provides a smooth and great workflow for these game models and this is why almost all Indie game developers use it. Unlike newer game engines that work in pseudo 2D where a 3D world is represented in two dimensions, Godot works in actual 2D that is expressed in pixels. This is the reason we say it is tailored especially for 2D game models. They plan on releasing 2.5D support soon.
It is an open source game engine
Godot is well known for being an open source software. All its features and tools are registered under the MIT license. This means that it is free and you own everything that you create from it. Because of its open source nature, it is very flexible. If you are a developer and find something that does not work for you the way you want, you can change it. Through its online community, more and more tools and features are added and availed freely to users. It therefore allows them to unique elements to their games.
It has a node system
To understand the node system, you have to first understand how game engines work. Game engines normally use scenes to represent a level in a game. In the scene, there are objects. These objects are what identify a scene. With newer game engines, the objects are called Actors.
For Godot however, scenes have a node. Each node is a single object and can inherit from any other node. Many nodes make a scene meaning that even scenes have the inheritance property as long as they have the same root node. Nodes can be difficult to master if you have never worked with them before. However, for people used to them, it is a very intuitive and great design tool
Godot has its own IDE
Godot comes with its own IDE or text editor. You are not bound to use this editor and can use any other editor you prefer. The inbuilt editor is definitely not as cool as other third party IDEs but is great for use in Godot.
It is light for systems
Godot does not consume a lot of memory in the system. In fact with just over 60MB, standard Godot is executable. It also does not need installation. After you download it, all you need to do it to unzip it and get started. It is preferred by many because on top of its small file size, the engine is perfect for lower powered systems. It is important to note however note that, the in engine performance of your system is directly linked to the performance of the finished product. This means that if your system’s engine is slow and buffery, the game will also be slow and jittery.
Godot is a cross platform
Godot supports all major operating systems in the world today. This list includes Windows, Mac and Linux among others. It can also be supported by either 32 or 64 bit machines which makes it every convenient for many. The only problem is that many alternative tools in Godot are tailored with only one OS in mind: Windows. This means that when using another operating system with such tools will cause problems.
Has a server
Godot game engine has an inbuilt server to support multiplayer game development. The server also allows games made by Godot to be suitable for multiple game environments such as Android, PS3, HTML5, PS Vita and even the less popular Windows Phone. They are currently working on a Raspberry Pi version.
Godot is open source and this means that the online community is involved in documentation. With around 100k active users, Godot has one of the best manuals. As time goes, Godot users will continue to grow and the manual will continue to get better and better.
Godot has one of the most diverse and powerful animations studio – better than most of the newer game engines. And as much as it is diverse, Godot has made it that it is also one of the easiest to use and learn. It does not go as deep as newer game engines meant for 3D models, but definitely offers ease of use.
Great for 2D games
As we’ve said before, Godot was tailored for 2D game models and until they released a new version, it was limited to only 2D creations. If you plan on developing a 2D game, then Godot is a great choice for you.
Unity can be said to be the most common game engine in the world. It is so common that half of the world’s mobile games are created using Unity. It is also a real time platform. Unity was started in Denmark but later moved to San Francisco and now has over five million game developers using it. While Unity is more geared towards developers who can code, it also accommodates beginners who want to use virtual scripting with the assets in the asset store. The beginner can create basic game prototypes easily using Unity.
Unity game engine was launched at Apple’s Developers Conference and since then developing 2D and 3D game apps for different platforms has been made easier. This powerful cross platform supports 27 platforms and unique devices. Unity supports both 2D and 3D game development. Unity is free to use for every individual or company. However, if the entity makes over $100K in sales annually, they have to purchase the pro version of Unity engine. After paying, the engine offers a massive supply of new assets, tools and learning resources all provided by their online community. If you’re looking to learn Unity, there are more than enough resources offered by the community.
Unity is compatible with the following operating systems: Mac OS, Linux, Windows and Android. It supports multiple platforms including: mobile phones, desktop, virtual reality (VR), web and TV. Unity’s cloud system allows the developer to get real time feedback when developing the game. Unity game engine has five main components: the main program which is the game, a rendering engine to render all the extensive graphics, an audio engine to tailor voices and volume capacity, a physics engine to implement the laws of physics in the game and an artificial intelligence module for AI software engineers.
The key features for the Unity game engine include the following.
Great tool for Indie developers
Indie game developers create innovative games and mostly work alone or as a small team. Unity is one of the best tools for this. Due to the huge amount of expertise that has gone into making Unity, it can support everyone including small budget developers. This means that developers with small budgets can build games with the same tools as huge game makers
It is cross platform
Unity is loved by many game developers because it is supports a lot of platforms – 27 to be exact. This means that the game can easily be shared for PC, web, mobile platforms and some game consoles. It does this with incredible ease. The Unity engine supports Android, Max, PC, PS3, PS4, Xbox and Steam. It also supports web plugins which is an amazing little perk. Being cross platform, developers can easily create games for all platforms and widen their market in this way. This has also made it simple for developers to port to the next development stage.
Unity game engine supports 2D games
Although Unity is primarily considered as a 3D game development engine, it can also be used to build 2D games. With the latest version release, there is an inbuilt 2D engine with all the necessary tools and features needed for 2D game development. It allows the developer to create 2D games with lots of ease and still allows multiple support on different platforms. Unity even allows the developer to use both 2D and 3D together in one game. 2D games can therefore be made for mobile phones, gaming consoles and PC.
Supports multiplayer gaming
Due to Unity’s versatile features, creating multiplayer games has been made quite easy. Unity game engine has an inbuilt server to support multiplayer game development. The server also allows games made by Unity to be suitable for multiple game environments such as Android, PS3, HTML5, PS Vita and even the less popular Windows Phone.
There is a Unity 3D version which is free
Unlike the previous game engine, Unity is not open source. However, Unity 3D comes with a free version for people who want to learn game development. This free version has all the game development features of the engine, which are all meant to help amateur game developers improve their skills. After they have, there can now advance to a Pro version which is paid for.
Unity has a rich asset store
Think of the asset store as an app store in your phone. The asset store is where all extra features, game assets, extensions and solutions regarding Unity are found. Unity has a wide variety of assets in its store, which is one of the largest for game engines. This has helped the online Unity community which has over 5 million active users, to assist each other with scripts and problems throughout the development process. Currently, there are over 15k asset packages in the asset store including 3D models, music, sound effects and IDE extensions
Has an easy to understand IDE
Unity has a relatively easy to understand IDE or text editor. It allows the developer to build logic around an object and set the codes simply by dragging the codes in the IDE. It also avails logical conditioning of the objects to allow quick testing, prototyping and balancing during game development.
Unity is free
Contrary to what you may think, Unity is free. This applies for either individuals or a company. If the person or company makes over $100K in sales per year however, they have to purchase the pro version of the game engine. There are also royalty fees involved. However, there are licensing fees you have to pay for Unity. Sometimes, this fees may be very expensive to purchase since they come with many additional features. The Pro Version offers a lot more features than the free version. Some of these features include render to texture capabilities, global lighting and a custom splash screen. Unity has plus and pro version depending on the level of usage. As you start out, the free version will work perfectly for you, but as you become a better developer, there is a high chance you may need to upgrade to Pro for some special features. There are two versions of Unity, pro and plus depending on the need you can choose the one you want.
In the gamin society, both of these game engines are considered great. However, they both stand out in their respective fields. Unity is known for mobile game development and is rated highly in this field. This is because of its rich features, affordability and great tools. Godot on the other hand is known for superb 2D game models. This is because they use nodes. Each node is a single object and can inherit from any other node. Many nodes make a scene meaning that even scenes have the inheritance property as long as they have the same root node. Nodes can be difficult to master if you have never worked with them before. For people used to them, it is a very intuitive and great design tool.
Unity is a complete game engine and offers all kind of features for different users. Also unity is one of the industry standard when it comes to game engine. Godot is for people who love to code and want to make games completely with Code. Unity is for people who love a mix of things like little coding, little drag and drop.
Hope this article cleared some basic doubt. Get in , pick a game engine and start making games.