The Blender Game Engine Controversy

by Don Hartig

Hi Blenderheads. Firstly, I would like to send a belated shout-out to the Blender 2.8 developer team. I reported a number of bugs towards the end of the development cycle just before the first release candidate was made available at Blender.org and I must say, these guys are more responsive and professional than ANY online platform or service personnel I have ever had to deal with, and that includes all the paid ones. So, well done guys, please keep up the good work! Now, as far as my personal opinion of Blender 2.8 itself goes, I am basically loving it but at this point I am not yet 100% onboard with everything as it stands currently.
First of all, the whole Game Engine debacle/controversy is something I am personally still quite concerned about. I have noticed on many platforms and Youtube channels that even popular Blenderers and Youtubers, such as Gamesfromscratch, which is a great channel by the way, have been quite surprised based on the huge volume of (often angry) comments in their respective platforms’ comment sections, etc. regarding just how many people (used to) use and rely on the Blender Game Engine. I myself am one of them since, even after having used just about every mainstream game engine out there for many years, I always find myself going back to the BGE simply because nothing beats it when it comes to workflow and integration.
I am well-aware of the fact that there are a number of very good game engines out there, including open source ones like Godot, as well as plugin/addon-type game engines for Blender such as Armory and UPBGE, and even the new Arsenal plugin that seems to have commenced development recently. It's very exciting to see the active work taking place with these projects and competition is, of course, always a good thing but I DO think that the Blender Foundation itself should indicate their intentions with regard to what they would like the future of integrated game development in Blender to look like more clearly, as the general impression I am currently getting from them is that they are more or less indifferent as to what happens with regard to integrated game development in Blender starting from 2.8 onwards. Yes, I am also well aware of the multiple statements that have been made by the man himself, Ton Roosendal, expressing ‘willingness to consider an ‘interactive mode’ for Blender in the future’ but this is clearly not mitigating the concern that many Blender users have, and as mentioned, I do think that they are underestimating just how many people use, and indeed started using, Blender specifically because they wanted to (learn to) build games at some point in the future or right off the bat. From another perspective, having its own game engine in a fully-fledged and powerful 3D modelling engine like Blender would also be a massive advantage vs. other 3D modelling engines (with no integrated GEs) as well as other Game Engines (with no real modelling capabilities). Furthermore, the addition of EEVEE would be incredibly powerful for game developers, perhaps arguably even more so than for just 3D modelling if Blender shipped with a built-in game engine.
So, considering the extent to which they have had their hands full with the development of the 2.80 core up to now, and no doubt will continue to be very occupied for the foreseeable future until the end of 2019, in addition to their apparent indifference and disinterest in the notion of an integreated GE, I don't know how likely this is, but it's worth a try:
To the Blender Foundation, please do consider addressing this issue in some official way for the Blender community in general insofar as this is possible. As far as 3rd-party game engines becoming integrated more tightly (even as add-ons) into Blender 2.80 is concerned, there are clearly at least 3 viable options that are already being worked on independently and these could also be considered with regard to official support/joint development with the Blender Foundation. They are Armory, UPBGE and Arsenal. I have also included Godot in the descriptions below, even thought it was not developed specifically for Blender, as I believe that this could potentially be the most promising project if it could somehow be integrated into Blender.

1. Armory

Armory appears to be the most impressive in terms of new and original features, as well as being furthest on the path to being completed (despite apparently being a long way from anything near readiness for actual game development). It uses a node-based system, meaning that game logic can theoretically all be programmed using its built-in node interface, very similar to the way that the cycles node-renderer works in Blender, so this is an advantage for game developers who are familiar with the Blender node UI for rendering setups), but uses the Haxe language, which, despite its cross-platform advantages, is rumored to be unsuited to very large game environments due to performance limitations (at least according to the Arsenal website – see below). Nevertheless, Armory provides frequent updates via Youtube and Twitter and its tech demos showing the use of the Cycles renderer in real-time game environments are the source of a great deal of excitement among game developers who are looking forward to this being an easily accessible feature in the future – cycles rendering in a real-time environment having been considered impossible in the past. Armory also provides the ability to edit game environments and players in real time while the game is running, which is something that is gaining a LOT of attention too. Armory’s official Youtube channel (apparently no voice narration) can be checked out here and its impressive official website and current build can be accessed here: https://armory3d.org/

2. UPBGE (Uchronia Project Blender Game Engine)

Despite its name being about the worst choice I can possibly imagine for a game engine (please just call it “Uchronia“, which would sound much cooler), I actually had the most hope for this one and have tried to find out everything I could regarding its development cycles and plans for future updates, features, etc. Unfortunately, nothing much seems to be happening with this project and I could not even find any information regarding whether it will or aims to be (crowd)funded at some point in the future, nor could I find any official social media accounts (at least not any particularly active ones) for UPBGE. Real pity since this is based on the original BGE and therefore includes the logic block system (at least right now), which nothing can beat in terms of simplicity and (new) user friendliness. The UPBGE development team is also the original team that worked on BGE so Python remains the language used for coding in this engine. I personally have spent some time building a tech demo in which I have also tried the new real-time reflection features, which, albeit quite difficult (non-intuitive) to set up, are fantastic since this has always been a huge limitation of the original BGE engine. I hope that this will at least be considered as an alternative for tighter (or even supported) integration by the Blender Foundation in the future.
Despite its apparent lack of activity, (originally because the dev team had been waiting for Blender 2.8 to be officially released according to their website at the time), you can find tons of tech demos on Youtube and please feel free check out and leave feedback on UPBGE’s rather quiet web page here: https://upbge.org/.


3. Arsenal

(no official logo from the Katharostech Arsenal project yet)
Arsenal appears to be a very ambitious project aimed at enabling users to be able to create “any scale of AAA game as well as any type of 2D game” which I’m sure is music to the ears of Blender game developers. It also proposes using RUST as the development language for the project. It is currently in its infancy and only has one very basic demo version available on github. Also, there does not appear to be any plan for funding the project and it is being developed primarily as a game development tool for the company, Katharostech, that is developing it. The engine is likely to be released under the MIT license but Katharostech aims to retain the right to change the licence terms in order to ensure that they do not inadvertently restrict themselves with regard to how they may and may not use it in the future according to their website. Definitely worth checking out. You can read about it on their webpage here: https://katharostech.github.io/arsenal/getting-started.html.

4. Godot

Godot is the most impressive all-round game engine and I have used it extensively over the past few weeks. The UI is fantastically streamlined and the node-based system it uses is very easy to fall in love with. It is also very light on resources despite its being an extremely powerful tool with built in 2D, and now fully-fledged 3D, game engines. I remember the Blender Foundation mentioning somewhere that they would like to ‘discuss integrating it into Blender’ but it should be noted that Godot was not created specifically to be used with Blender or with Blender as a focal point of its development. Therefore, although seeing Godot, with it’s very Python-like scripting language, GDScript, being fully integrated into Blender, even as a plugin, would be the ultimate one-stop game development tool (minus a built-in 2D texture editor which would truly be awesome), it should be noted that the Godot engine itself will probably not be made available as a plugin or add-on for Blender any time soon, at least as far as I can tell. Godot does however specifically have a section in its documentation that explains how to import models from Blender and their development team have reportedly visited the Blender Foundation in the Netherlands, so the mutual willingness to work on better integration between these to open-source powerhouses does seem to be present, which is a good sign for great things to come in the future. Godot also has the fastest development cycle of any software program I have ever seen, connsidering it has been upgraded from being a 2D game engine to a fully-fledged 3D game engine in less than a year and will soon be supporting Vulcan, all as an open-source project, being developed primarily by only 2 developers, Juan ‘reduz’ Linietsky and Ariel ‘punto’ Manzur! Let’s see what happens next with this exciting project. You can visit the Godot Engine official site here: www.godotengine.org.

Conclusion

In my opinion, full integration, or at least full official development support, for a game engine in Blender would truly blow every other game engine and 3D modelling program out of the water for good and make Blender the only go-to standard for the game development industry in a relatively short amount of time. What do you think will happen with the Blender Foundation as it relates to the future of integrated game development. Will Blender be reduced to primarily just another, albeit powerful and free, 3D modelling tool in the future or will the Blender Foundation see the huge advantage of actively supporting integrated game development tools as part of the existing Blender work environment? Looking forward to hearing what you think in the comments.

~Don Hartig