© Ezra Thess Mendoza Guevarra 2020
E. T. M. GuevarraModeling and Animation Using Blenderhttps://doi.org/10.1007/978-1-4842-5340-3_6

6. The Future of Game Engines

Ezra Thess Mendoza Guevarra1 
(1)
Laguna, Philippines
 

In this chapter, I’ll talk about the Blender game engine. It was announced that the game engine is not included in version 2.80. If that’s so, is there an open source alternative that is the same as or better? Is there a possibility that we will see the Blender game engine in future releases?

Let’s start the discussion.

The Blender Game Engine

The Blender game engine has been used by many 3D artists and developers since 2000. This engine uses a system of graphical logic bricks to control the movement and display of objects. The game engine can also be extended via a set of Python bindings.

The Blender game engine is Blender’s tool for real-time projects, from architectural visualization and simulations to games. It allows you to create interactive 3D applications or simulations. The major difference between the game engine and the conversational Blender system is in the rendering process. In a normal Blender engine, images and animations are built offline; once rendered, they cannot be modified. Conversely, the Blender game engine renders scenes continuously in real time and incorporates facilities for user interaction during the rendering process.

The Blender game engine also oversees a game loop, which processes logic, sound, physics, and rendering simulations in sequential order. The engine is written in C++. The user has access to a powerful, high-level, event-driven logic editor that is comprised of a series of specialized components called logic bricks. The logic editor provides deep interaction with the simulation, and its functionality can be extended through Python scripting. It is designed to abstract the complex engine features into a simple user interface, which does not require programming experience.

There are several powerful libraries that the game engine uses.
  • Audaspace: A sound library for control audio.

  • Bullet: A physics engine featuring 3D collision detection, soft-body dynamics, and rigid-body dynamics.

  • Detour: A pathfinding and spatial reasoning toolkit.

  • Recast: A state-of-the-art navigation mesh construction toolset of games.

Figure 6-1 shows the version 2.79b Blender game engine.
../images/483751_1_En_6_Chapter/483751_1_En_6_Fig1_HTML.jpg
Figure 6-1

Blender game engine 2.79B

You already know how the Blender game engine works. You might feel that it is really a powerful tool, and you are asking why the team stopped developing this engine. In Figure 6-1, the tools are in the current version. Well, for anyone who is talented, it doesn’t matter if your tools are from the Jurassic era or from the future. I personally think that the team is trying to make Blender easier to learn.

So, what do we have for now?

UPBGE

When I researched about the Blender game engine’s future, this render engine name came up: UPBGE, or Uchronia Project Blender game engine. It is an open source 3D game engine formed from the old Blender game engine and deployed with Blender itself. This unified workflow is its main strength, as you can make your game from start to finish with UPBGE.

It features real-time advanced physics powered by Bullet, including rigid bodies, soft bodies, obstacles simulation, and pathfinding. It has a fully integrated audio engine powered by OpenAL and SDL, supports 3D sound and sound effects, and provides an easy and straightforward visual logic system.

It also has advanced features, such as PBR materials and powerful Python language bindings and components that allow support to even more libraries through the use of PyPI, Render attachments, fake or real-time reflections settings directly through the interface, and an HDR pipeline.

Figure 6-2 shows the UPBGE user interface.
../images/483751_1_En_6_Chapter/483751_1_En_6_Fig2_HTML.jpg
Figure 6-2

UPBGE 2.4 user interface

You can download UPBGE from https://upbge.org/index.html.

Armory3D

Armory3D is another 3D game engine that I came across. It is an open source software 3D game engine with full Blender integration, which turns it into a complete game development tool. It offers a unified workflow from start to finish, making your work faster. No more jumping between different applications to constantly export data.

Behind the scenes, Armory3D is powered by open source technology. Utilizing Kha, a multimedia framework, and Haxe, a cross-platform toolkit, it provides first-class performance and portability.

Armory3D is based on the Cycles nodes. Materials are precompiled into shaders suitable for real-time rendering. Every scene in Armory3D is renderable as-is in Cycles using pathtracing. This makes it possible to use Cycles for light baking with no separate setup. Everything is bundled to provide the ultimate game development tool. As a starting point, you can choose one of the available game prototype templates. The code editor has integrated debugging support. You can use nodes, write scripts in Haxe, or embed WebAssembly code. You can also create live scenes and export them to desktop, web, and mobile consoles, so everyone can experience them. A binary data format, asset compression, and efficient build tools are developed to prevent bloated package sizes. A robust animation system is employed, with support for GPU skinning, action blending, and events. On top of that, each node can be animated in a timeline using keyframes, just like you are used to.

Figure 6-3 is a sneak peek at the Armory3D user interface.
../images/483751_1_En_6_Chapter/483751_1_En_6_Fig3_HTML.jpg
Figure 6-3

Armory 06 3D user interface

You can download Armory3D from https://armory3d.org.

In Figure 6-3, UPBGE is using the Blender 2.7x version User Interface. UPBGE is currently developing their version for Blender 2.80, while Armory3D is already using version 2.80. But this is the key; these engines are using their own version of Blender while improving the logic node editor in it. Blender 2.80 doesn’t have a logic editor but the Armory3D team included it to give us a game engine on par with other game engines in the market. UPBGE is also developing its current logic editor to give us a game engine that will make things easy for us based on Blender’s current version. This is the power of a GNU GPL license.

I have talked about open source 3D game engines, but is there any future for the Blender game engine?

The Future of the Blender Game Engine

There are a lot of questions on the Internet about the future of the Blender game engine. Ton Roosendaal answers this question. Figure 6-4 shows his Twitter post regarding this topic.
../images/483751_1_En_6_Chapter/483751_1_En_6_Fig4_HTML.jpg
Figure 6-4

Ton Roosendaal’s answer on Twitter

Based on this answer, based on the development of current Blender 2.80 builds, we can assume that the Blender game engine (at least for now) is at rest. Epic games and Unreal made a huge donation, so we can hope that they might also develop Blender to have a better game engine. If it returns to the spotlight, it is up to the Blender team. For now, we can enjoy Eevee and the open source game engines available there. Creativity is not bound by the tools that we have.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.117.91.153