Nach 10 Monaten Entwicklung Veröffentlichung einer kostenlosen Spiel-Engine , geeignet für die Erstellung von 2D- und 3D-Spielen. Die Engine unterstützt eine leicht erlernbare Sprache zur Programmierung der Spiel-Logik, eine grafische Umgebung für die Spieleentwicklung, ein Ein-Klick-Deployment-System, umfangreiche Animations- und Simulationsmöglichkeiten, einen integrierten Debugger und ein System zur Identifizierung von Leistungseinbußen. Der Code der Spiel-Engine, der Entwicklungsumgebung und der damit verbundenen Entwicklungswerkzeuge (physikalische Engine, Audio-Server, Backends für 2D/3D-Rendering usw.) unterliegt der MIT-Lizenz.
Die Quelltexte der Engine wurden im Jahr 2014 von dem Studio , nach zehn Jahren der Entwicklung eines proprietären Produkts auf professionellem Niveau, das zur Erstellung und Veröffentlichung für PC, Spielkonsolen und mobile Geräte. Die Engine unterstützt alle gängigen Desktop- und mobilen Plattformen (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX) und die Entwicklung von Spielen für das Web. Vorab kompilierte binäre Builds für Linux, Windows und macOS.
Im entwickelt sich für das Rendering auf Basis der Grafik-API Vulkan, die in der nächsten Version Godot 4.0 angeboten werden wird, anstelle der derzeit angebotenen Rendering-Backends über OpenGL ES 3.0 und OpenGL 3.3 (die Unterstützung von OpenGL ES und OpenGL wird durch die Bereitstellung des alten OpenGL ES 2.0/OpenGL 2.1 Backends auf der neuen Vulkan-basierten Rendering-Architektur aufrechterhalten). Der Umstieg von Godot 3.2 auf Godot 4.0 erfordert eine Überarbeitung der Anwendungen aufgrund der API-Kompatibilitätsprobleme, aber für den Branch Godot 3.2 wird ein langfristiger Support-Zyklus gewährleistet, dessen Zeitraum von der Nachfrage der Benutzer abhängt. Auch in den Zwischenversionen 3.2.x ist eine Portierung stabilitätsunabhängiger Neuerungen aus dem Branch 4.x nicht ausgeschlossen, wie z. B. die Unterstützung , , und Plattformen .
Die Hauptneuheiten von Godot 3.2:
- Die Unterstützung für die Oculus Quest Virtual-Reality-Headsets wurde auf der Basis hinzugefügt für die Android-Plattform. Zur Entwicklung von Augmented-Reality-Systemen für iOS wurde die Unterstützung des Frameworks . Für Android wird die Unterstützung des Frameworks weiterentwickelt, ist aber derzeit noch nicht verfügbar und wird in einer der Zwischenversionen 3.3.x enthalten sein; der visuelle Editor für Shader.

- neue Knoten zur Erstellung fortschrittlicherer Shader. Für Shader, die durch klassische Skripte realisiert werden, wurde die Unterstützung von Konstanten, Arrays und Modifikatoren «varying» hinzugefügt. Viele Shader, die spezifisch für das OpenGL ES 3.0 Backend sind, wurden für OpenGL ES 2 portiert; новые узлы для создания более продвинутых шейдеров. Для шейдеров, реализуемых классическими скриптами, добавлена поддержка констант, массивов и модификаторов «varying». Многие шейдеры, специфичные для бэкенда OpenGL ES 3.0, портированы для OpenGL ES 2;
- Die Unterstützung für physikalisch korrekte Materialdarstellung (PBR) ist mit den Fähigkeiten neuer PBR-Rendering-Engines wie Blender Eevee und Substance Designer synchronisiert, um eine ähnliche Szenendarstellung in Godot und den verwendeten 3D-Modellierungspaketen zu gewährleisten;
- Eine Optimierung verschiedener Rendering-Einstellungen wurde durchgeführt, um die Leistung zu steigern und die Bildqualität zu verbessern. Viele Funktionen von GLES3 wurden in das GLES3-Backend übertragen, einschließlich der Unterstützung für das MSAA-Glimmungsverfahren (Multisample Anti-Aliasing) und verschiedene Post-Processing-Effekte (Leuchten, DOF-Unschärfe und BCS);
- Es wurde vollständige Unterstützung für den Import von 3D-Szenen und -Modellen im glTF 2.0-Format (GL Transmission Format) hinzugefügt, und es wurde erste Unterstützung für das FBX-Format implementiert, das den Import von animierten Szenen aus Blender ermöglicht, jedoch vorerst nicht mit Maya und 3ds Max kompatibel ist. Die Unterstützung von Skinning beim Import von Szenen über glTF 2.0 und FBX wurde hinzugefügt, was die Verwendung eines Skeletts in mehreren Meshes ermöglicht.
Die Arbeiten zur Verbesserung und Stabilisierung der Unterstützung für glTF 2.0 wurden in Zusammenarbeit mit der Entwicklergemeinschaft des Blender-Pakets durchgeführt, in der die verbesserte Unterstützung für glTF 2.0 in der Version 2.83 angeboten wird; - Die Netzwerkfunktionen der Engine wurden durch die Unterstützung von WebRTC- und WebSocket-Protokollen sowie durch die Möglichkeit, UDP im Multicast-Modus zu verwenden, erweitert. für die Verwendung von kryptographischen Hashes und die Arbeit mit Zertifikaten. Eine grafische Benutzeroberfläche für das Profiling der Netzwerkaktivität wurde hinzugefügt. Die Arbeiten an einem Port von Godot für
WebAssembly/HTML5 haben begonnen, der es ermöglichen wird, den Editor über das Web im Browser zu starten; - Überarbeitet für die Android-Plattform und das Export-System. Jetzt werden zwei separate Export-Systeme zur Erstellung von Paketen für Android angeboten: eines mit einer vorgefertigten Engine und das andere, das die Erstellung eigener Builds basierend auf kundenspezifischen Engine-Varianten ermöglicht. Die Konfiguration eigener Builds kann auf Plugin-Ebene für Android ohne manuelle Bearbeitung des ursprünglichen Templates erfolgen;
- Der Editor hat Unterstützung für selektive Funktionen hinzugefügt, zum Beispiel können die Schaltflächen zum Aufrufen des 3D-Editors, des Skripteditors, der Ressourcenbibliothek, der Knoten, der Panels, der Eigenschaften und anderer Elemente, die für den Entwickler nicht erforderlich sind, entfernt werden (das Ausblenden von Unnötigem erleichtert die Benutzeroberfläche erheblich);
- Erste Unterstützung für die Integration mit Versionsverwaltungssystemen wurde hinzugefügt und ein Plugin zur Unterstützung von Git
im Editor implementiert; - Es wurde die Möglichkeit geschaffen, die Kamera für das laufende Spiel über das Fenster im Editor zu überschreiben, was die Bewertung verschiedener Spielmodi (Freie Ansicht, Inspektion von Knoten usw.) ermöglicht;
- Die vorgeschlagene Implementierung des LSP-Servers (Language Server Protocol) für die Sprache GDScript ermöglicht die Übermittlung von Informationen über die Semantik von GDScript und die Regeln zur automatischen Vervollständigung des Codes an externe Editoren wie das VS Code-Plugin und Atom;
- Es wurden zahlreiche Verbesserungen im integrierten GDScript-Editor vorgenommen: die Möglichkeit, Lesezeichen an Codepositionen zu setzen, die Implementierung eines Minimalkarten-Tools (für eine schnelle Übersicht über den gesamten Code) und verbesserte Eingabe-Autovervollständigung; die Funktionen des visuellen Skripting-Modus;
- Ein Modus zur Erstellung von Pseudo-3D-Spielen wurde hinzugefügt, der den Tiefeneffekt in 2D-Spielen durch die Definition mehrerer Ebenen ermöglicht, die eine fiktive Perspektive bilden;

- Im 2D-Editor Unterstützung von Texturatlanten;
- Im GUI wurde der Prozess der Platzierung von Ankern und Bereichsgrenzen modernisiert;
- Für Textdaten wurde die Möglichkeit implementiert, Änderungen an Effekteigenschaften in Echtzeit zu überwachen, Unterstützung für BBCode-Tags und die Möglichkeit zur Definition eigener Effekte werden geboten;
- ein Soundstream-Generator, der es ermöglicht, Schallwellen auf Basis einzelner Frames und eines spektralen Analysators zu erstellen;
- Mit Hilfe der Bibliothek wurde die Möglichkeit zur Zerlegung konkaver Meshes in präzise und vereinfachte konvexe Teile realisiert. Diese Funktion erleichtert erheblich die Generierung von Kollisionformen für bestehende 3D-Meshes;

- Es wurde die Möglichkeit realisiert, Spiel-Logik in C# unter Verwendung von Mono für die Plattformen Android und WebAssembly zu entwickeln (zuvor wurde C# für Linux, Windows und macOS unterstützt). Auf Basis von Mono 6.6 wird C# 8.0 unterstützt. Für C# wurde auch eine erste Unterstützung für die vorausschauende Kompilierung (AOT, ahead-of-time) implementiert, die in den Code integriert wurde, aber noch nicht aktiviert ist (für WebAssembly wird derzeit ein Interpreter verwendet). Für die C#-Codebearbeitung wurde die Möglichkeit geschaffen, externe Editoren wie MonoDevelop, Visual Studio für Mac und Jetbrains Rider anzuschließen;
- Deutlich erweitert und verbessert . Eine teilweise Veröffentlichung in die russische Sprache ( eine Einführung in die Arbeit).
Quelle: opennet.ru



