The Blender Game Engine was a
free and open-source
Free and open-source software (FOSS) is software available under a Software license, license that grants users the right to use, modify, and distribute the software modified or not to everyone free of charge. FOSS is an inclusive umbrella term ...
3D production suite used for making real-time interactive content. It was previously embedded within
Blender, but support for it was dropped in 2019, with the release of Blender 2.8. 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
OpenAL (Open Audio Library) is a cross-platform audio application programming interface (API). It is designed for efficient rendering of multichannel three-dimensional positional audio. Its API style and conventions deliberately resemble those o ...
3D sound.
History
Blender Game Engine was developed in 2000 with the goal of creating a marketable commercial product to create games and other
interactive content, in an artist-friendly way.
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
A bullet is a kinetic projectile, a component of firearm ammunition that is shot from a gun barrel. They are made of a variety of materials, such as copper, lead, steel, polymer, rubber and even wax; and are made in various shapes and constru ...
rigid-body dynamics library.
Version 2.5 alpha0 was the first version of Blender to have the Logic Editor workspace for coding, which came along with the UI redesign.
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
OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
, 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.
In 2019, with the release of Blender 2.8, the Blender Game Engine was entirely removed from Blender itself. The engine's capabilities and appeal had largely fallen behind other rising game engines of the time, and it was difficult to update both Blender itself alongside the game engine. Users were instead recommended to use other, more powerful
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
alternatives, like
Godot.
Following its removal from the official version of Blender, an unofficial fork of the game engine source code was created, named UPBGE (Uchronia Project Blender Game Engine). This was done with the aim of maintaining and modernizing the engine. Since then, UPBGE has been updated with support for Blender's new realtime renderer, EEVEE, and runs on top of Blender 3.0 source code.
Features
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.
* Graphical logic editor for defining interactive behavior without programming.
* Collision detection and dynamics simulation now support Bullet Physics Library.
Bullet
A bullet is a kinetic projectile, a component of firearm ammunition that is shot from a gun barrel. They are made of a variety of materials, such as copper, lead, steel, polymer, rubber and even wax; and are made in various shapes and constru ...
is an open-source collision detection and rigid body dynamics library developed for
PlayStation 3
The PlayStation 3 (PS3) is a home video game console developed and marketed by Sony Computer Entertainment (SCE). It is the successor to the PlayStation 2, and both are part of the PlayStation brand of consoles. The PS3 was first released on ...
.
* Shape types: Convex polyhedron, box, sphere, cone, cylinder, capsule, compound, and static triangle mesh with auto deactivation mode.
* Discrete
collision detection
Collision detection is the computational problem of detecting an intersection of two or more objects in virtual space. More precisely, it deals with the questions of ''if'', ''when'' and ''where'' two or more objects intersect. Collision detect ...
for rigid body simulation.
* Support for in-game activation of dynamic constraints.
* Full support for vehicle dynamics, including spring reactions, stiffness, damping, tire friction etc.
* Python scripting API for sophisticated control and AI, fully defined advanced game logic.
* Support all
OpenGL
OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
lighting modes, including transparencies, Animated and reflection-mapped textures.
* Support for multimaterials, multitexture and texture blending modes, per-pixel lighting, dynamic lighting, mapping modes,
GLSL Vertex Paint texture blending, toon shading, animated materials, support for normal and
parallax mapping.
* Playback of games and interactive 3D content without
compiling
In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs tha ...
or
preprocessing.
* Audio, using the
SDL toolkit.
* Multi-layering of scenes for overlay interfaces.
Gallery
File:BgeCarSc.jpg, Blender Game Engine 2.42 screenshot
File:BgeFpsShooter.jpg, Blender Game Engine 2.42 screenshot
File:Working with Nodes Blender.PNG, Blender GLSL shader node editor 2.42 screenshot
File:LogicBricksPythonScript.jpg, Logic Bricks and Python Scripting
Notable games
* ''
Garn47''
* ''Super Mario Dolor''
* ''
Sintel The Game''
* ''Tomato Jones''
* ''
Yo Frankie!''
See also
*
Blender (software)
Blender is a Free and open-source software, free and open-source 3D computer graphics software tool set that runs on Microsoft Windows, Windows, macOS, BSD, Haiku (operating system), Haiku, IRIX and Linux. It is used for creating animated films, ...
*
Panda3D
*
Pygame
Pygame is a cross-platform set of Python modules designed for writing video games. It includes computer graphics and sound libraries designed to be used with the Python programming language.
History
Pygame was originally written by Pete Shinne ...
*
Crystal Space
*
Verge3D, Blender-based
WebGL
WebGL (short for Web Graphics Library) is a JavaScript Application programming interface, API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-in (computing), plug-ins. WebGL is fully integra ...
framework
References
External links
*
*
{{Video game engines
Blender Foundation
Free game engines
Game engines for Linux
Python (programming language)-scriptable game engines
Video game IDE