I received a comment on a previous article where I listed a group of engines and tools ranging from paid and free variants. The user asked about fully open source game engines, which even I myself knew very little about, so as soon as they listed the names, I was immediately interested in seeing what they were all about. Open source is a fairly important area of the software industry, although professionals can utilize open source in many other industries, such as electronics, teaching and even fashion to name a few. When an open source license is given to a piece of software, the person doing so agrees to some important rules as listed below:
- Make the entirety of the program’s code available to the public.
- Allow anyone to modify, enhance, or re-engineer a program’s code.
- Allow the program to be utilized for any purpose a user wishes.
- Allow the creation of derivative works.
Why open source? Well, open source dates back pretty far in the tech industry, but the idea is that by having an open piece of software, it can be improved on in a multitude of ways due to it being accessible to many different people—compared to a proprietary piece of software, where the code is actually hidden from the public and the software has a license with certain terms a user needs to agree to when using the software.
Godot is a multi-platform 2D and 3D game open source game engine. It has an extremely lively development history with over 1000 forks on github and over 100 developers working on the engine. The major difference from other engines is that Godot uses its own scripting language. GDscript is a python-like script format that is easy to learn. It is a hybrid between Javascipt, PHP, and C++ and can be very powerful. It’s design is focused on not being wasteful. In other words, it won’t have you scratching your head in a mess of code. GDscript can be used to add custom behaviors to any object, with a built-in debugger with breakpoints and stepping that can be used as well as graphs for possible bottleneck checking. Godot can run on any OS (Windows, Linux, Mac) but also export your creation to any platform (PC, Console, Mobile).
Godot Games Showcase:
Xenko is a complete toolkit with multiple functionality: it can handle animation tasks, event programming, audio effect production, physics tools, and much more. The programming language used is C# 6.0. Xenko allows you to create games in 2D and 3D and is even VR ready with support for up to DirectX 12 and Vulkan. Projects can be deployed to Windows, Windows Phone, Android, and iOS. Support for PS4, Linux, and MacOS are planned to come soon. Unfortunately, at this time, the main editor/SDK only supports Windows.
The source code is also available on Github under the GPL license. A GPL license is incredibly restrictive and requires you to release all changes and derived source code. You do not however have to release source code if you link to the binary versions. It may be possible to negotiate the use of the GPL license but it is not guaranteed to change anytime soon.
Xenko Overview Video:
Is the Open Source Option Right for You?
The hardest thing for these open source engines is getting exposure in the public eye. Due to low popularity, we see a lack of games being developed commercially with these engines, with just a handful being made for other reasons or free release. This is most likely attributed to the grassroots nature of the projects. Besides that being a major flaw, I think these two engines have potential for any indie developer—and better yet they are free to access.
When reading into these engines, you’ll notice that there is a lot of dedication and passion put toward their development. It even goes further than that, though: for example, Godot Engine was a game engine used internally by multiple companies in Latin America before going open source and releasing to the public. Godot also is under an MIT License which is one of the most popular types of licenses ahead of GPL for example (which is what Xenko runs under).
Xenko on the other hand has ties to a company based in Japan called Silicon Studio. Silicon Studio also have their hands in the development of other engines, which are used in very popular games—engines such as Orochi3, Mizuchi, and middleware known as Yebis, which was actually used on the recent release of Final Fantasy XV.
Open Source tools may not be for everyone, and you might come across issues such as compatibility or it may be difficult for those used to other toolkits. Although with these engines being available it allows for anyone to have a go and attempt to use them without having to worry about paying a dime.