Efter 6 måneders udvikling er den frie spilmotor Godot 3.4 blevet offentliggjort, som er velegnet til at lave 2D- og 3D-spil. Motoren understøtter et let at lære sprog til spil-logic, en grafisk miljø til spil-design, et system til udgivelse af spil med ét klik, brede animationsmuligheder og simulering af fysiske processer, en indbygget debugger og et system til at identificere flaskehalse i ydeevnen. Koden til spilmotoren, spil-designmiljøet og tilhørende udviklingsværktøjer (fysisk motor, lydserver, backends til 2D/3D rendering osv.) distribueres under MIT-licensen.
Kildekoderne til motoren blev åbnet i 2014 af studiet OKAM, efter ti års udvikling af et proprietært produkt af professionel kvalitet, der blev brugt til at lave og offentliggøre mange spil til PC, spilkonsoller 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 spiludvikling til web. Klargjorte eksekverbare binære versioner er dannet for Linux, Windows og macOS.
En ny renderings-backend baseret på grafik-API'en Vulkan udvikles i en separat gren, som vil blive tilbudt i den næste udgave af Godot 4.0, i stedet for de nuværende renderings-backends via OpenGL ES 3.0 og OpenGL 3.3 (understøttelse af OpenGL ES og OpenGL vil blive bevaret ved at sikre, at den gamle backend OpenGL ES 2.0/OpenGL 2.1 fungerer oven på den nye renderingsarkitektur baseret på Vulkan). Overgangen fra Godot 3.x til Godot 4.0 vil kræve en omlægning af applikationerne på grund af uforenelighed på API-niveau, men der vil blive sikret en langvarig supportcyklus for Godot 3.x-grenen, hvis varighed afhænger af efterspørgslen fra API-brugerne.
Godot 3.4 er bemærkelsesværdig for tilføjelsen af følgende nyheder:
- Brugergrænsefladen til redigering af temaer er blevet redesignet, så der er implementeret en visuel proces til valg af noder, og der er givet mulighed for at ændre udseendet uden at forlade forhåndsvisningstilstand.

- Der editor er blevet forbedret for at øge brugervenligheden: funktionen til hurtig indlæsning af ressourcer i inspiceringsmode er tilføjet, oprettelse af noder i vilkårlige positioner er tilladt, en ny grænseflade til template-eksport er tilføjet, der er implementeret yderligere operationer med gizmo (systemet med begrænsende parallelepipeder), og animationseditoren baseret på Bézier-kurver er forbedret.

- Der er tilføjet en fortrydelsesfunktion, der muliggør at fortryde alle ændringer af scenen, der er forårsaget af animation ved hjælp af AnimationPlayer, i stedet for at fortryde ændringen af hver egenskab individuelt.
- Indstillingerne har fået en mulighed for at ændre zoomniveauet i 2D-visningsområdet (2D viewport), som f.eks. kan bruges til at forstørre eller formindske 2D-elementer uafhængigt af den aktuelle stræktilstand (stretch mode).
- File API har fået mulighed for at arbejde med filer (inklusive PCK), der overstiger 2 GB.
- Der er foretaget ændringer for at øge smoothness i rendering ved at beregne ændringer i frames uden forbindelse til systemtimeren og løse problemer med synkronisering af output ved brug af vsync.
- I InputEvents inputsystemet er der tilføjet støtte til bindinger til scan-koder, der afspejler den fysiske placering af knapperne på tastaturet, uafhængigt af den aktive layout (f.eks. vil knapperne WASD i QWERTY-layout automatisk blive matchet med knapperne ZQSD i det franske AZERTY-layout).
- Der er tilføjet AESContext- og HMACContext-grænseflader for at give scripts adgang til krypteringsalgoritmerne AES-ECB, AES-CBC og HMAC. Der er også tilføjet mulighed for at gemme og læse åbne RSA-nøgler til generering og validering af digitale signaturer.
- Renderingsmotoren har fået indledende støtte til at stoppe rendering af objekter, der er inden for kameraets fokus, men ikke synlige på grund af blokering fra andre objekter (f.eks. dem der er bag en væg). Rasteriseret (på pixelniveau) skæring af overlapning vil kun blive implementeret i Godot 4-grenen, mens nogle geometriske metoder til skæring af overlappende objekter og støtte til portale overlapning er tilføjet i Godot 3.

- Der er tilføjet en ny toningsmetode, ACES Fitted, der muliggør større realisme og fysisk præcision ved at øge kontrasten i lyse objekter.

- Understøttelse af udledning af 3D-partikler i form af ringe eller hulcylindre er blevet tilføjet.
- Ydelsen ved generering af konvekse objekter fra meshes er blevet betydeligt forbedret i fysiksimuleringsmotoren, og kollisionssporingstilstand er blevet revideret i inspektionsinterfacet. For 2D-fysikmotoren er der tilføjet understøttelse af BVH (Bounding Volume Hierarchy) struktur for dynamisk rumfordeling. Understøttelse af HeightMapShapeSW-funktionen er implementeret i 3D-fysikmotoren, og der er tilføjet synkroniseringsværktøjer til KinematicBody3D.
- Muligheden for at eksportere 3D-scener i glTF-format er blevet tilføjet, f.eks. til at åbne mesh-filer forberedt i Godot i Blender.
- Understøttelse af ubesværet komprimering af WebP-billeder, som nu som standard anvendes til komprimering af teksturer i stedet for PNG-format, er blevet tilføjet.
- I Android-porten er der tilføjet grundlæggende understøttelse af API Scoped storage og en ny metode til at hente ekstra ressourcer (Play Asset Delivery) til AAB (Android App Bundle) eksekverbare filer.
- For HTML5-platformen er mulighederne for installation som PWA (Progressive Web Apps) blevet implementeret, JavaScriptObject-grænsefladen er tilføjet for interaktion mellem Godot og JavaScript (f.eks. kan metoder i JavaScript kaldes fra Godot-scripts), og der er tilføjet understøttelse af AudioWorklet til multitrådede builds.
- Understøttelse af Apple Silicon-chipsystemer (M1) er blevet tilføjet til macOS-platformen.
Kilde: opennet.ru




