Blender Game Engine
This article needs additional citations for verification. (February 2017) |
![]() Creating a racing game in the Blender Game Engine | |
Developer(s) | Blender Foundation |
---|---|
Stable release | |
Written in | C, C++, and Python |
Operating system | Cross-platform |
Type | 3D computer graphics |
License | GPL-2.0-or-later |
Website | upbge |
The Blender Game Engine is now maintained on a seperate fork of Blender called UPBGE{UPBGE.org} , 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.[citation needed]
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 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.
When BGE development was starting to stagnate, some of the blender game engine developers started their own fork, UPBGE, when bge was removed as it was incompatible with blender 2.8, the community restored it on the fork and made the engine compatible with the new 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 is an open-source collision detection and rigid body dynamics library developed for PlayStation 3
- Shape types: Convex polyhedron, box, sphere, cone, cylinder, capsule, compound, and static triangle mesh with auto deactivation mode
- Discrete collision detection 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 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 or preprocessing
- Audio, using the SDL toolkit
- Multi-layering of Scenes for overlay interfaces.
Future roadmap
Ton Roosendaal stated[2] that the future of the Blender Game Engine would integrate the system into Blender as an "Interactive 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."[3]
On the 16th of April 2018 Blender Game Engine was removed from Blender ahead of 2.8's launch.[4]
Blender is working to have a good support for external game engines like Godot, Armory3D and Blend4Web.[5]
Gallery
-
Blender Game Engine 2.42 screenshot
-
Blender Game Engine 2.42 screenshot
-
Blender GLSL shader node editor 2.42 screenshot
-
Logic Bricks and Python Scripting
Notable games
See also
- Blender (software)
- Panda3D
- Pygame
- Crystal Space
- Verge3D, Blender-based WebGL framework
References
- ^ "Blender 2.79 Release Index". Blender.org. 11 September 2017. Retrieved 12 September 2017.
- ^ "Blender roadmap – 2.7, 2.8 and beyond". Blender. Retrieved 1 March 2014.
- ^ "2.8 project developer kickoff meeting notes". Blender. Retrieved 12 November 2015.
- ^ "rB159806140fd3". developer.blender.org. Retrieved 18 April 2018.
- ^ "[Bf-committers] Blender 2.8 - realtime and interactive 3d".