Blender Game Engine

freie Spiel-Engine in Blender

Die Blender Game Engine, abgekürzt oft auch BGE, ursprünglich Ketsji genannt, ist eine Spiel-Engine, die in Blender, einer freien 3D-Grafiksoftware, integriert war. Sie wurde in C++ als eine größtenteils unabhängige Komponente geschrieben und unterstützt Features wie z. B. Python-Programmierung und OpenAL-3D-Sound.

Blender Game Engine


Elemente eines Rennspiels in der Blender Game Engine
Basisdaten

Entwickler Blender Foundation
Betriebssystem plattformübergreifend
Programmier­sprache C, C++ und Python
Lizenz GPL (Freie Software)
https://www.blender.org

Geschichte

Bearbeiten

Erwin Coumans und Gino van den Bergen entwickelten im Jahr 2000 die Blender Game Engine. Ihr Ziel war, ein marktfähiges Produkt zu entwickeln, mit dem Computerspiele und andere interaktive Anwendungen leicht und benutzerfreundlich erstellt werden können. Diese Anwendungen sollten sowohl als Standalone-Version oder mit einem Plug-in auf Websites eingebettet funktionieren. Dieses Plug-in wurde jedoch eingestellt, da es Sicherheitsbedenken mit Python gab, jedoch wurde später versucht, das Projekt wiederzubeleben (es wurde überlegt, eine Alpha-Version für den Internet Explorer und Firefox zu entwickeln und COLLADA zu unterstützen). Ein anderes Plug-in namens Burster[1] tauchte auf, das sicheres Spielen mit Unterstützung von Verschlüsselungen auf Websites ermöglichte.

Da der Code der Physik-Programmbibliothek (SUMO) nicht unter die Open-Source-Lizenz fiel, als der Rest von Blender dies tat, funktionierte die Blender Game Engine bis zur Version 2.37a nicht.

Blender Version 2.41 war fast vollständig der Spiel-Engine gewidmet.[2]

GLSL-Shader und Soft-Body-Spielphysik wurden in Version 2.48 implementiert, um die Spiel-Engine wieder den modernen Spiel-Engines anzunähern.[3] Sie nutzt OpenGL, um mit der Grafik-Hardware zu kommunizieren.

Während des Google Summer of Code 2010 wurden die Open-Source-Navigation-Mesh- und Pathfinding-Programmbibliotheken, Recast and Detour,[4] implementiert. Jedoch wurden diese erst 2011 in den Hauptentwicklungszweig eingefügt. Zudem wurde Audaspace entwickelt, um Python bessere Audiokontrolle zu geben. Diese Programmbibliothek nutzt OpenAL und SDL.

Ende der bisherigen Game Engine und zukünftige Entwicklung

Bearbeiten

Ton Roosendaal, der Gründer der Blender Foundation, schrieb noch 2013[5], dass die Blender Game Engine in der Zukunft als ein „Interaktiver Modus“ für Spiel-Prototypen, Architekturvisualisierungen und wissenschaftliche Simulationen fest in Blender integriert werden soll. Der Blender-Entwickler Martijn Berger gab 2015 an, dass die Spiel-Engine möglicherweise entfernt werde, falls für Blender Version 2.8 keine zufriedenstellende Lösung gefunden wird.[6]

Im April 2018 wurde das endgültige Ende der Game Engine in der bisherigen Form mitgeteilt – man arbeite an einer Alternative, die aber nichts mehr mit der bekannten Engine zu tun haben werde[7]. Die Blender Game Engine wurde vor der Veröffentlichung der Version 2.8 aus Blender entfernt.

Die UPBGE ist ein Fork von Blender, die von Tristan Porteries und einigen Freunden im September 2015 gegründet wurde.

Er wurde gegründet mit dem Ziel, den offiziellen Blender Game Engine Code aufzuräumen und zu verbessern und mit neuen Funktionen zu experimentieren. Dabei übernehmen die Entwickler regelmäßig aktuelle Veränderungen aus dem offiziellen Blender Quellcode.

Am 4. Dezember 2021 wurde UPBGE 0.3.0 offiziell als Stable veröffentlicht.[8]

Range Engine

Bearbeiten

Die Range Engine ist ein Fork der UPBGE.

Sie wird entwickelt mit dem Ziel, die Blender Game Engine zu optimieren sowie neue Features einzubauen.

Funktionen

Bearbeiten

Die Blender Game Engine nutzt ein System grafischer Bausteine, sogenannter „Logic Bricks“. Es gibt drei Arten von Logic Bricks:

  • Sensoren(Sensors): Sie kontrollieren, ob der Benutzer Eingaben (Tastendrücke etc.) tätigt, oder etwas im Spiel verändert wird. Ist eine bestimmte Bedingung gegeben, wird ein Signal an die verbundenen Controller gesendet.
  • Controller: Sie sind die „wichtigsten“ Logic Bricks. Sie steuern die Sensoren und Actuatoren, indem sie die Signale weiterverarbeiten. Dies kann mithilfe von logischen Operatoren oder Python-Skripten umgesetzt werden.
  • Actuatoren (Actuators): Sie führen bei Aktivierung durch ein entsprechendes Signal eine Aktion aus.

Zu den Funktionen bzw. Bestandteilen der Blender Game Engine gehören:

  • der grafische Logik-Editor zum Festlegen von Verhaltensweisen ohne Programmieren
  • Kollisionserkennung von Objekten und Spielphysik mit der Bullet-Physik-Engine, die für die PlayStation 3 entwickelt wurde
  • eigenständige Kollisionserkennung für Rigid-Body-Simulationen
  • Unterstützung von Fahrdynamik inklusive Feder-Reaktionen, Abdämpfung, Reifenreibung etc.
  • eine Python API für komplexere Aufgaben wie z. B. künstliche Intelligenz
  • Unterstützung aller OpenGL-Lichtarten inklusive Transparenz, animierten Texturen sowie Reflexion-Mapping
  • Unterstützung für Textur-„Blending-Modes“, pixelbasierte Beleuchtung, dynamische Beleuchtung, viele Mapping-Arten, GLSL Vertex Painting, Cel Shading (ohne Umrandungen) und Normal Mapping sowie Parallax Mapping
  • Wiedergabe von Spielen und interaktiven Anwendungen ohne Kompilieren oder Präprozessor
  • Wiedergabe von Audio
  • Möglichkeit, Szenen auf unterschiedliche Ebenen zu legen, um z. B. eine grafische Benutzeroberfläche darzustellen

Systemanforderungen

Bearbeiten

Um alle Funktionen von Blender angemessen nutzen zu können, sollten die Mindestanforderungen gegeben sein:[9]

Unterstützte Betriebssysteme:

Mindestanforderungen Empfohlene Hardware Optimale Hardware
Prozessor 32-Bit-Dual-Core-Prozessor mit SSE2-Unterstützung 64-Bit-Quad-Core-Prozessor 64-Bit-Eight-Core-Prozessor
RAM 2 GB RAM 8 GB RAM 16 GB RAM
Grafikkarte OpenGL 2.1 kompatible Grafikkarte mit mindestens 512 MB RAM OpenGL 3.2 kompatible Grafikkarte mit 2 GB RAM zwei OpenGL 3.2 kompatible Grafikkarten mit 4 GB RAM
Bildschirm 24-bit-Bildschirm (Mindestauflösung: 1280 × 768 Pixel) 24-bit-Bildschirm mit Full-HD-Auflösung (1920 × 1080 Pixel) zwei 24-bit-Bildschirme mit Full-HD-Auflösung
Eingabegeräte Maus oder Touchpad Maus mit drei Maustasten Maus mit drei Maustasten und Grafiktablett

Spiele (Auswahl)

Bearbeiten
  • Yo Frankie!
  • Dead Cyborg – Ein kostenloses, spendenbasiertes Sci-Fi Abenteuer-Spiel.[10]
  • Sintel The Game
  • Boro-Toro – Ein von DarkMatter Designs entwickeltes Side-Ccrolling Plattform-Puzzle-Spiel, welches 2009 den BAFTA „Ones to Watch“ Award gewonnen hat.[11]
  • Krum: Edge of Darkness – Ein auf Steam verfügbares Hack-N-Slash-Abenteuer-Spiel.

Siehe auch

Bearbeiten
  • Blend4Web, Blender-basierte Spiel-Engine für Onlinespiele
  • Panda3D
  • Pygame
  • Crystal Space
  • Verge3D ist ein Blender-basierte Echtzeit-Renderer und ein Toolkit zur Erstellung interaktiver 3D-Anwendungen auf Websites
Bearbeiten

Einzelnachweise

Bearbeiten
  1. Share your Blender files. In: geta3d.com. Abgerufen am 12. März 2016.
  2. BlenderWiki: Dev:Ref/Outdated/Release Notes/2.41. In: wiki.blender.org. Archiviert vom Original am 11. Februar 2016; abgerufen am 22. Juli 2022.
  3. 2.48 Released! In: BlenderNation. Abgerufen am 11. März 2016.
  4. recastnavigation/recastnavigation. Abgerufen am 24. Juni 2018 (englisch).
  5. Blender roadmap – 2.7, 2.8 and beyond. In: Blender. Abgerufen am 1. März 2014.
  6. 2.8 project developer kickoff meeting notes. In: Blender. Abgerufen am 12. November 2015.
  7. Blender Today Live: RIP Blender Internal, RIP Game Engine. blendernation.com, 24. April 2018, abgerufen am 12. Februar 2023.
  8. UPBGE/upbge. UPBGE Game Engine, 14. April 2022, abgerufen am 15. April 2022.
  9. Blender Foundation: Requirements – blender.org – Home of the Blender project – Free and Open 3D Creation Software. In: blender.org. Abgerufen am 11. März 2016.
  10. http://deadcyborg.com/about.html
  11. Ones to Watch Award in 2009. (benötigt Flash Player) In: bafta.org. Archiviert vom Original am 25. März 2010; abgerufen am 22. Juli 2022.