OP VERZOEK VAN WERKENDEN! Verkregen van open net.
Na 10 maanden ontwikkeling is de vrijgegeven versie van de vrije game-engine gepubliceerd Godot 3.2, geschikt voor het creëren van 2D- en 3D-spellen. De engine ondersteunt een eenvoudige, leerbare programmeertaal voor game-logica, een grafische omgeving voor het ontwerpen van games, een one-click deploysysteem, uitgebreide mogelijkheden voor animatie en simulatie van fysieke processen, een ingebouwde debugger en een systeem voor het opsporen van prestatieproblemen. De code van de game-engine, de ontwerpomgeving en de bijbehorende ontwikkeltools (fysieke engine, geluidsserver, backends voor 2D/3D rendering, enz.) worden verspreid onder de MIT-licentie.
De bronbestanden van de engine werden in 2014 vrijgegeven door de studio OKAM, na tien jaar ontwikkeling van een proprietair product van professioneel niveau, dat werd gebruikt voor het maken en publiceren van vele games voor pc, spelconsoles en mobiele apparaten. De engine ondersteunt alle populaire desktop- en mobiele platformen (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), evenals game-ontwikkeling voor het web. Klaar voor gebruik gecompileerde binaries zijn beschikbaar voor Linux, Windows en macOS.
In een aparte tak wordt een nieuwe rendering-backend ontwikkeld op basis van de grafische API Vulkan, die zal worden aangeboden in de volgende release Godot 4.0, in plaats van de momenteel aangeboden rendering-backends via OpenGL ES 3.0 en OpenGL 3.3 (ondersteuning voor OpenGL ES en OpenGL zal behouden blijven door de werking van de oude backend OpenGL ES 2.0/OpenGL 2.1 bovenop de nieuwe renderingarchitectuur op basis van Vulkan te garanderen). De overstap van Godot 3.2 naar Godot 4.0 vereist een herziening van applicaties vanwege incompatibiliteit op API-niveau, maar voor de Godot 3.2-tak zal een langdurige ondersteuning worden gegarandeerd, waarvan de duur zal afhangen van de vraag naar deze tak door gebruikers. Het porteren van niet-storende innovaties uit de 4.x-tak, zoals ondersteuning voor AOT-compilatie, ARCore, DTLS en iOS-platform voor C#-projecten, naar tussentijdse releases 3.2.x is ook niet uitgesloten.
Belangrijkste vernieuwingen in Godot 3.2:
- Ondersteuning voor de virtual reality-headsets Oculus Quest is toegevoegd, gebaseerd op een plugin voor het Android-platform. Voor de ontwikkeling van augmented reality-systemen voor iOS is ondersteuning voor het ARKit-framework toegevoegd. Voor Android wordt de ondersteuning voor het ARCore-framework ontwikkeld, maar deze is nog niet klaar en zal in een van de tussenversies 3.3.x worden opgenomen;
- De interface van de visuele shader-editor is herzien. Nieuwe knooppunten zijn toegevoegd voor het maken van geavanceerdere shaders. Voor shaders die via klassieke scripts worden geïmplementeerd, is ondersteuning voor constanten, arrays en 'varying'-modificatoren toegevoegd. Veel shaders die specifiek zijn voor de OpenGL ES 3.0-backend zijn geporteerd naar OpenGL ES 2;
- De ondersteuning voor fysiek correcte renderen van materialen (PBR) is gesynchroniseerd met de mogelijkheden van nieuwe PBR-renderengines zoals Blender Eevee en Substance Designer, om een overeenkomstige weergave van de scène in Godot en de gebruikte 3D-modelleringspakketten te waarborgen;
- Verschillende renderinginstellingen zijn geoptimaliseerd voor verbeterde prestaties en hogere beeldkwaliteit. Veel mogelijkheden uit GLES3 zijn naar de GLES3-backend overgebracht, inclusief ondersteuning voor de MSAA (Multisample anti-aliasing) smoothing-methodiek en verschillende post-processing effecten (glow, DOF-blur en BCS);
- Volledige ondersteuning voor de import van 3D-scènes en modellen in het glTF 2.0-formaat (GL Transmission Format) is toegevoegd, evenals initiële ondersteuning voor het FBX-formaat, dat het mogelijk maakt om scènes met animatie uit Blender te importeren, maar nog niet compatibel is met Maya en 3ds Max. Ondersteuning voor skeletal skins bij het importeren van scènes via glTF 2.0 en FBX is toegevoegd, waardoor één skelet in meerdere meshes kan worden gebruikt. Het werk aan het verbeteren en stabiliseren van de ondersteuning voor glTF 2.0 is in samenwerking met de ontwikkelaarsgemeenschap van het Blender-pakket uitgevoerd, waarin de verbeterde ondersteuning voor glTF 2.0 zal worden aangeboden in versie 2.83;
- De netwerkmogelijkheden van de engine zijn uitgebreid met de ondersteuning voor WebRTC- en WebSocket-protocollen, evenals de mogelijkheid om UDP in multicast-modus te gebruiken. Een API is toegevoegd voor het gebruik van cryptografische hashes en het werken met certificaten. Een grafische interface voor het profileren van netwerkactiviteit is toegevoegd. Het werk aan het maken van een Godot-port voor WebAssembly/HTML5 is begonnen, waarmee de editor in de browser kan worden uitgevoerd via Web;
- De plugin voor het Android-platform en het exporteursysteem is herzien. Nu zijn er twee aparte exportsystemen beschikbaar voor het creëren van pakketten voor Android: één met een vooraf samengestelde engine en de andere waarmee je eigen builds kunt maken op basis van aangepaste engine-opties. Aanpassing van eigen builds kan worden uitgevoerd op het niveau van de Android-plugin, zonder handmatige aanpassingen aan de oorspronkelijke sjabloon.
- Er is ondersteuning toegevoegd voor het selectief uitschakelen van specifieke functies in de editor; bijvoorbeeld, knoppen voor het openen van de 3D-editor, de scriptseditor, de resourcebibliotheek, knooppunten, panelen, eigenschappen en andere elementen die de ontwikkelaar niet nodig heeft, kunnen worden verwijderd (het verbergen van onnodige functies vereenvoudigt de interface aanzienlijk).
- Initiële ondersteuning voor integratie met versiebeheersystemen is toegevoegd, samen met een plugin voor Git-ondersteuning in de editor.
- De mogelijkheid is geboden om de camera voor een draaititel in te stellen via een venster in de editor, wat het mogelijk maakt om verschillende spelmodi te beoordelen (vrije weergave, knooppuntinspectie, enzovoort).
- Een LSP-server (Language Server Protocol) voor de programmeertaal GDScript is geïmplementeerd, waarmee informatie over de semantiek van GDScript en de regels voor code-autocompletion naar externe editors zoals de VS Code-plugin en Atom kan worden verzonden.
- Er zijn talrijke verbeteringen aangebracht in de ingebouwde GDScript-editor: de mogelijkheid om bladwijzers op posities in de code in te stellen is toegevoegd, er is een minimap-paneel geïmplementeerd (voor een snel overzicht van de gehele code), de code-autocompletion is verbeterd en de mogelijkheden van de visuele scriptontwerpmodus zijn uitgebreid.
- Er is een modus voor het maken van pseudo-3D-spellen toegevoegd, waarmee diepte-effecten in 2D-spellen kunnen worden gebruikt door verschillende lagen te definiëren die een schijnperspectief vormen.
- Ondersteuning voor textuuratlassen is teruggebracht in de 2D-editor.
- In de GUI is het proces van het positioneren van ankers en gebiedsgrenzen gemoderniseerd.
- Voor tekstgegevens is de mogelijkheid toegevoegd om in real-time de wijziging van effectparameters te bekijken, is ondersteuning voor BBCode-tags toegevoegd en kan men eigen effecten definiëren.
- Er is een generator voor geluidsstromen toegevoegd, waarmee geluidswaves kunnen worden gemaakt op basis van individuele frames en een spectraal analyser.
- Met de V-HACD bibliotheek is de mogelijkheid geïmplementeerd om holle meshes te decomponeren in nauwkeurige en vereenvoudigde Convexe delen. Deze mogelijkheid vereenvoudigt aanzienlijk de generatie van botsingsvormen voor bestaande 3D-meshes;
- De mogelijkheid is geïmplementeerd om game-logica te ontwikkelen in C# met behulp van Mono voor de platforms Android en WebAssembly (voorheen werd C# ondersteund voor Linux, Windows en macOS). Op basis van Mono 6.6 is ondersteuning voor C# 8.0 geïmplementeerd. Voor C# is ook initiële ondersteuning voor vooruitlopende compilatie (AOT, ahead-of-time) toegevoegd aan de codebase, maar is nog niet geactiveerd (voor WebAssembly wordt momenteel een interpreter gebruikt). Voor het bewerken van C#-code is de mogelijkheid toegevoegd om externe editors aan te sluiten, zoals MonoDevelop, Visual Studio for Mac en Jetbrains Rider;
- De documentatie is aanzienlijk uitgebreid en verbeterd. Een gedeeltelijke vertaling van de documentatie naar het Russisch is gepubliceerd (de inleidende handleiding voor beginners is vertaald).
Bron: linux.org.ru

