Godot, de open-source, platformonafhankelijke game-engine, is langzaam aan populariteit gewonnen sinds de eerste stabiele release in 2014. Met de aanstaande release van Godot 4.0 zijn veel game-ontwikkelaars verheugd om de langverwachte release van Beta 1 op 15 september te verkennen.
Wat betekenen de nieuwe features van Godot 4.0 voor jou? Hoe zal het zich verhouden tot Unity?
Van een nieuwe rendering-API en physics-engine tot nieuwe knooppunten, GDScript-functies en .NET 6 API-ondersteuning, Godot 4.0 kan veel van de klachten van zijn tegenstanders aanpakken.
Een nieuwe rendering-API
Godot stapt over van OpenGL-renderer naar Vulkan. Dit betekent dat verlichting in 3D-scènes er aanzienlijk beter uitziet.
Bij het vergelijken van grote hoeveelheden draw calls, ondersteunt de Vulkan-renderer beter open-world games met veel objecten. De OpenGL-renderer, aan de andere kant, had de neiging om middelen te benadrukken en te knellen.
Samen met de nieuwe rendering-API komen er nieuwe knooppunten die meer details toevoegen aan 3D-scènes:
- Het VoxelGI-knooppunt is een revisie van het oude wereldwijde verlichtingssysteem. Het zorgt voor meer genuanceerde verlichting in kleine en middelgrote omgevingen.
- Het Signal Distance Field Illumination-knooppunt maakt grote open werelden mogelijk met betere objectschaduwen, lichtbreking en nog veel meer.
- Met het FogVolume-knooppunt kunnen ontwikkelaars shaders schrijven voor complexe mist- en mistdetails.
Hoewel het geen nieuw knooppunt is, maakt de introductie van Sky-shaders het gebruik van shaders voor een skybox mogelijk, wat zich vertaalt in dynamische positionering en real-time updates.
Er zijn veel kleine verbeteringen, zoals op GPU gebaseerde deeltjes, toevoegingen aan shader-scripts en nieuwe optimalisatietechnieken. Maar de belangrijkste veranderingen zijn het waard om nader te onderzoeken.
Een nieuwe fysica-engine
Bij het inzetten van natuurkunde in 3D-scènes vertrouwde Godot historisch gezien op de Bullet-engine. Niet meer. Maak kennis met de Godot Physics-engine.
Enkele nieuwe functies zijn onder meer nieuwe botsingsvormen en de herimplementatie van zachte lichamen. Dit maakt snelle prototyping en meer realistische objectmanipulatie mogelijk. Bovendien betekent multithreading-ondersteuning meer optimalisaties; al deze veranderingen brengen minder prestatiekosten met zich mee.
Het nieuwe CharacterBody-knooppunt, dat de KinematicBody vervangt, zorgt voor meer flexibiliteit en opties. Bugfixes voor jitter en vreemd bewegingsgedrag zijn een Godot-send. Het resultaat? Stabielere en consistentere bewegingspatronen, zelfs met rare botsingsvormen of extreme hoogtekaarten.
Een nieuw navigatiesysteem vervangt het op knooppunten gebaseerde systeem volledig door een servergebaseerd systeem, waardoor de bruikbaarheid wordt vergroot zonder dat dit ten koste gaat van de prestaties.
Nieuwe Quality of Life-functies in GDScript
Met een volledige herschrijving in de bèta is GDScript sneller geworden. Daarnaast worden meer algemeen toepasbare functies en algemene verbeteringen toegevoegd:
- U kunt functies nu behandelen als variabelen en anonieme functies gebruiken.
- Algemene syntaxisverbeteringen zorgen voor meer consistente code.
- U kunt specifieke typen voor arrays specificeren om bugs te verminderen.
- wachten En super trefwoorden vervangen oudere, minder duidelijke code met betrekking tot timing en overerving.
Als u met een team werkt of een oud project opnieuw bezoekt, zult u merken dat slecht benoemde variabelen frustrerend kunnen zijn. Om dit tegen te gaan, genereren scripts nu automatisch nuttige documentatie. Als u de muisaanwijzer op geëxporteerde variabelen in de Docker plaatst, kunt u nuttige beschrijvingen van de variabele krijgen.
C# en ondersteuning voor .NET 6
.NET 6-ondersteuning is grotendeels voltooid met de bèta. Als u om voorkeurs- of prestatieredenen bij C# wilt blijven, zijn er veel nieuwe functies om naar uit te kijken.
Bij gebruik van .NET 6 is C# 10 de standaard. Een nieuwe afhankelijkheid van brongeneratoren betekent dat, als er een probleem is in uw code, Godot een fout zal genereren tijdens het compileren in plaats van runtime. Dit bespaart tijd, vooral als er laat in het spel een bug optreedt.
U kunt nu signalen declareren als C#-gebeurtenissen voor meer consistente signaalcode. Er wordt ook actief gewerkt aan het schrijven van GDExtension in C#. Een voorbeeld is dat C#-klassen zich niet anders zullen registreren dan ingebouwde klassen. Dit zal helpen om de ondersteuning voor C#-knooppunten te verbeteren. Ten slotte introduceert Godot 4.0 een enkele, verenigende download, zodat C#-gebruikers niet specifiek de Mono-versie hoeven te downloaden.
Is Godot 4.0 beter dan Unity?
De bèta is slechts een bèta, wat betekent dat deze nog steeds onstabiel is. Er zijn tal van bugs die de ontwikkelaars kunnen vinden en oplossen. Godot is echter op weg om een meer gevestigde en geaarde engine te worden met de kenmerken van Unity. Toch is het belangrijk om te erkennen dat, hoewel Godot en Unity beide game-engines zijn, ze zich op verschillende doelgroepen richten.
De afgelopen jaren heeft Unity zich gericht op VFX en hyperrealistische 3D-scènes. Ontwikkelaars daarentegen gebruiken Godot voor prototyping en het maken van kleinere, vaak 2D-spellen. Dit betekent niet dat het gebruik van een van beide motoren u vasthoudt. Ervaring met beide motoren is handig, zodat u echt begrijpt welke het beste is voor uw behoeften.
Of je nu een Unity-ontwikkelaar bent, nieuwsgierig naar de Godot-engine en wat het doet, of gewoon op zoek naar iets nieuws hulpmiddelen voor het ontwikkelen van games, brengt deze release veel nieuwe functies om je te helpen bij het maken van je volgende game.
Hoewel het lastig te kwantificeren is, is de Godot-gemeenschap een van de beste eigenschappen. U zult ondersteunende ontwikkelaars vinden die graag hun kennis delen. Als het nieuwe knooppuntensysteem er intimiderend uitziet, vraag dan gewoon om hulp. En alsof dat nog niet overtuigend genoeg is, zijn er nog meer redenen om te overwegen om Godot te gebruiken voor je volgende game.
De toekomst: wat Godot 4.0 betekent voor game-ontwikkelaars
Godot 4.0 zal functies voor levenskwaliteit integreren die ontbreken in 3.5, en het brengt ook wenselijke functies van andere engines.
Aangezien Godot 4.0 kan resulteren in prestatieverbeteringen voor games, zou het in de toekomst meer grip moeten krijgen. Verschillende functies en verbeteringen kunnen allemaal in projecten worden geïntegreerd om ze te optimaliseren of werelddetail te verbeteren.
Het zien van deze geheel nieuwe functies suggereert dat de motor zal blijven groeien. Dus wanneer je de drang voelt om woordspelingen van Samuel Beckett uit te halen, bedenk dan dat het pas 17 januari 2022 was toen de eerste Godot 4.0 Alpha werd uitgebracht.