2.79 / 76.7 – 137.5 MiB (varies by operating system)
|Written in||C, C++, and Python|
|Type||3D computer graphics|
The Blender Game Engine is a discontinued component of Blender, a free and open-source 3D production suite, used for making real-time interactive content. The game engine was written from scratch in C++ as a mostly independent component, and includes support for features such as Python scripting and OpenAL 3D sound.
Erwin Coumans and Gino van den Bergen developed the Blender Game Engine in 2000. The goal was to create a marketable commercial product to easily create games and other interactive content, in an artist-friendly way. These games could run either as stand-alone applications, or embedded in a webpage using a special plugin that was eventually discontinued, as the inability to sandbox Python aroused security concerns, though there was a later effort to revive it (an updated alpha version for Internet Explorer, and Firefox and COLLADA support was considered). Another plugin has surfaced named Burster, which enables secure embedded gameplay on websites, with sandboxing and encryption support.
Key code in the physics library (SUMO) did not become open-source when the rest of Blender did, which prevented the game engine from functioning until version 2.37a.
Blender 2.41 showcased a version that was almost entirely devoted to the game engine; audio was supported.
Version 2.42 showed several significant new features, including integration of the Bullet rigid-body dynamics library.
A new system for integration of GLSL shaders and soft-body physics was added in the 2.48 release to help bring the game engine back in line with modern game engines. Like Blender, it uses OpenGL, a cross-platform graphics layer, to communicate with graphics hardware.
During the 2010 Google Summer of Code, the open-source navigation mesh construction and pathfinding libraries Recast and Detour were integrated; the work was merged to trunk in 2011. Audaspace was coded as well to provide a Python handle for sound control. This library uses OpenAL or SDL as a backend.
The Blender Game Engine uses a system of graphical "logic bricks" (a combination of "sensors", "controllers" and "actuators") to control the movement and display of objects. The game engine can also be extended via a set of Python bindings.
Ton Roosendaal stated that the future of the Blender Game Engine would integrate the system into Blender as an "Interaction Mode" for game prototypes, architectural walkthroughs and scientific simulators. Blender developer Martijn Berger stated that "The sequencer and game engine are in serious danger of removal, if we cannot come up with a good solution during the 2.8 project."
On the 16th of April 2018 Blender Game Engine was removed from Blender ahead of 2.8's launch.
UPBGE (Uchronia Project Blender Game Engine) is a fork of Blender created by Tristan Porteries and some friends in September 2015. It is an independent branch with the aim of cleaning up and improving the official Blender Game Engine code, experimenting with new features, and implementing forgotten features that currently exist but have not been merged with the official Blender trunk. UPBGE Blender builds can be downloaded from the upbge.org website. As of late 2017, the UPBGE team is integrating their code with the unreleased 2.8 version of Blender and the team's intention is to make use of the new real-time physically based renderer in Blender 2.8 which is called Eevee. There are ongoing discussions about the UPBGE code becoming part of a future official Blender release.
This section gives self-sourcing popular culture examples without describing their significance in the context of the article. (November 2018)
Edited: 2021-06-18 18:24:47