Efter otte måneders udvikling er frigivelsen af den frie spilmotor Godot 4.3 offentliggjort, som er egnet til at skabe 2D- og 3D-spil. Motoren understøtter et letforståeligt sprog til opgavegivning af spilogik, en grafisk interface til spildesign, et enkelt klik til udrulning af spil, omfattende animationsmuligheder og simulering af fysiske processer, en indbygget debugger og et system til at identificere flaskehalse i ydeevnen. Koden til spilmotoren, spildesignet og de tilknyttede udviklingsværktøjer (fysikmotor, lydserver, 2D/3D renderingsbackends osv.) distribueres under MIT-licensen.
Kildekoderne til motoren blev åbnet i 2014 af OKAM-studiet efter ti år med udvikling af et professionelt niveau af proprietært produkt, som blev brugt til at skabe og offentliggøre mange spil til PC, spillekonsoller og mobile enheder. Motoren understøtter alle populære stationære og mobile platforme (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), samt udvikling af spil til Web. Klare binære versioner er dannet for Linux, Android, Windows og macOS.
Vigtige ændringer:
- Der er tilføjet eksperimentel indbygget support for Wayland-protokollen på Linux- og BSD-systemer.
- Nye ressourcer som AudioStreamInteractive, AudioStreamPlaylist og AudioStreamSynchronized er tilføjet, hvilket muliggør oprettelse af dynamisk musikunderlag, der ændrer sig afhængigt af konteksten i spillet.
- Der er tilføjet mulighed for interpolation ved simulering af fysiske processer i to-dimensionelt rum, som skaber ekstra rammer til at tegne de mellemliggende tilstande mellem det nuværende og næste objektposition, hvilket giver en mere glat output på skærme med høj opdateringshastighed og på svagere enheder.
- Den visuelle shadereditor er helt redesignet og er nu bedre tilpasset til arbejde med store og komplekse shadergrafer. For at forbedre visualiseringen af information er noder nu farvet afhængigt af kategori, og til forbindelser mellem noder bruges mere markante farver. To nye nodetyper - ‘reroute’ og ‘frame’ - er tilføjet for at forenkle flytning og visuel fremhævning af noder.
- Fleksibiliteten i arbejdet med lag er øget. En ny node, TileMapLayer, er tilføjet for at forenkle tilføjelsen af lag. Tidligere oprettede TileMap-noder kan konverteres til TileMapLayer-noder med ét klik i editoren.
- Støtten til eksport af én-tråds applikationer til Web er blevet genindført. Én-tråds applikationer er bedre kompatible med browsere og kræver ikke kompliceret serverunderstøttelse.
- Ydeevnen i multitrådet tilstand er blevet optimeret. Der er foretaget ændringer, der reducerer sandsynligheden for deadlocks. Pålideligheden af multitrådet indlæsning af ressourcer er øget.
- I værktøjet til oprettelse af skeletanimationer er der tilføjet en ny node, SkeletonModifier3D, der forenkler organiseringen af ledernes bevægelse ved hjælp af scripts. Der er tilføjet nye muligheder for at importere skeletanimation i fbx-format. I animationsstyringsgrænsefladen er der tilføjet support til at markere, kopiere, indsætte og duplikere nøglebilleder.
- Muligheden for automatisk at opdele navigationsnet i separate dele er tilføjet, hvilket forenkler arbejdet med projekter, der indeholder store spilverdenainter, og samtidig reducerer hukommelsesforbruget og forbedrer ydeevnen. Opdelingen kan tilpasses via grænse- og størrelsesdefinitioner ved hjælp af nye egenskaber i ressourcerne NavigationPolygon (2D) og NavigationMesh (3D).
- Redigeringsværktøjet har fået indbygget support til at importere filer i fbx-format uden behov for en ekstern konverter. Muligheden for at flytte panelet til filsystemadgang til bunden af skærmen er givet, hvilket gør det muligt at frigøre mere plads til filvisning.
- Udseendet af projektmanageren er blevet redesignede, hvor direkte adgang til redigeringsindstillinger som sprog, tema, zoomniveau og netværksindstilling er gjort muligt. En komponent til at kontrollere opdateringer er også tilføjet.

- En ny node, Parallax2D, er tilføjet, hvilket forenkler skabelsen af dybdeillusioner i 2D-spil gennem bevægelse af baggrundselementer med forskellige hastigheder.
- Der er tilføjet foreløbig support til blanding af alfakanaler i 3D-shaders i rendering-systemet, hvilket muliggør skabelsen af mere realistiske flammer og fyrværkeri. Et API til kontrol af effekter under komposition er også tilføjet, hvilket gør det muligt at tilslutte eget kode for at ændre tegne-logik (for eksempel kan det bruges til at skabe en bevægelsesudtværings-effekt). Mulighederne for tågegenerering er blevet udvidet, så det er muligt at angive, hvor tågen begynder, og hvornår den bliver helt uigennemsigtig. Backend-rendering 'Compatibility' er blevet betydeligt forbedret.
- Arkitekturen i objektet RenderingDevice er blevet moderniseret, og supporten til en rettet acyklisk rendering-graf er tilføjet, hvilket muliggør optimering af kommandooverførslen til grafik-API'en, hvilket viser en stigning i billedhastigheden på 5-15% uden ændringer i 3D-scenen.
- En ny rendering driver, der bruger Direct3D 12, er blevet tilføjet.
- GDScript tilbyder nu muligheden for at reducere kodelængden ved eksport ved at rense, pakke og obfuscere koden. En ny operator "is not" er blevet tilføjet (for eksempel "if my_node is not Node3D:"). Autocomplete-funktionerne i editoren er blevet forbedret.
- Mulighederne for at lave spil til virtual reality-headset er blevet udvidet ved hjælp af OpenXR og WebXR. Understøttelse af Meta XR Simulator er tilføjet.

- Lydkvaliteten i webspil er blevet forbedret, og muligheden for at vise en låseskærm er blevet tilføjet.
Kilde: opennet.ru


