Po 7 mesiacoch vývoja bol zverejnený vydanie voľného herného enginu Godot 3.3, vhodného na tvorbu 2D a 3D hier. Engine podporuje ľahko sa učiteľný jazyk na zadávanie hernej logiky, grafické prostredie na návrh hier, systém jedným kliknutím na nasadenie hier, rozsiahle možnosti animácie a simulácie fyzikálnych procesov, vstavaný debuggér a systém detekcie úzkych hrdiel v výkonnosti. Kód herného enginu, prostredia návrhu hier a sprievodných vývojových nástrojov (fyzikálny engine, zvukový server, backendy 2D/3D renderovania atď.) sa šíri pod licenciou MIT.
Zdrojové kódy enginu boli sprístupnené v roku 2014 štúdiom OKAM, po desiatich rokoch vývoja proprietárneho produktu profesionálnej úrovne, ktorý bol použitý na vytvorenie a publikovanie mnohých hier pre PC, herné konzoly a mobilné zariadenia. Engine podporuje všetky populárne stacionárne a mobilné platformy (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX) a tiež vývoj hier pre web. Hotové binárne zostavy sú pripravené pre Linux, Windows a macOS.
V oddelenej vetve sa vyvíja nový backend renderovania na báze grafického API Vulkan, ktorý bude ponúknutý v nasledujúcom vydaní Godot 4.0, namiesto súčasných backendov renderovania prostredníctvom OpenGL ES 3.0 a OpenGL 3.3 (podpora OpenGL ES a OpenGL zostane zabezpečená prostredníctvom prevádzky starého backendu OpenGL ES 2.0/OpenGL 2.1 na novej architektúre renderovania na báze Vulkan). Prechod z Godot 3.x na Godot 4.0 si vyžaduje prepracovanie aplikácií kvôli porušeniu kompatibility na úrovni API, ale pre vetvu Godot 3.x bude zabezpečený dlhý cyklus podpory, ktorého trvanie bude závisieť od dopytu po prísne API zo strany používateľov.
Veté Godot 3.3 je plne kompatibilná s Godot 3.2 a pokračuje v rozvoji stabilných vydaní enginu, pre ktoré bude zabezpečený dlhý cyklus podpory. Pôvodne sa plánovalo miesto Godot 3.3 vydať aktualizáciu 3.2.4, ale verzie 3.2.x boli používateľmi vnímané ako korekcie, aj keď prechodom na vetvu 4.0 boli pridané nové funkcie. Preto projekt prešiel na klasický systém semantického verzionovania. Konkrétne, aktualizácia tretej číslice teraz bude označovať dostupnosť iba opráv, druhá - zahrnutie novej funkcionality a prvá - zmeny ovplyvňujúce kompatibilitu. Vetva 3.x.x bude sprevádzaná paralelne s 4.x.x, kým Godot 4.x nebude úplne stabilizovaný a prispôsobený pre všetok aktuálny hardvér.
Godot 3.3 sa vyznačuje pridaním nasledujúcich noviniek:
- Bol pripravený variant editora, ktorý funguje v webovom prehliadači.

- Bola pridaná možnosť exportovania hier pre platformu Android vo formáte AAB (Android App Bundle), okrem balíkov APK. Formát AAB umožňuje organizáciu sťahovania iba tých natívnych knižníc, ktoré sú potrebné na prácu na aktuálnom zariadení (napríklad armeabi-v7a alebo arm64-v8a). Pre platformu Android bola taktiež realizovaná možnosť vkladania do aplikácií prvkov založených na engine Godot vo forme subkomponentov (subview), ktoré využívajú časť okna. Takisto bola pridaná podpora pre slepé oblasti obrazovky (zaoblenia a vybratia pre kameru), udalosti myši a vstup z externých klávesníc.

- Bol zverejnený nový API na skladanie a distribúciu pluginov pre platformu iOS, ktorý umožňuje presunúť pluginy (ARKit, GameCenter, InAppStore) do samostatného repozitára a rozvíjať ich nezávisle od enginu Godot. Predtým bol tento API implementovaný pre platformu Android.
- Zlepšili sa prostriedky na export hier pre Web (platforma HTML5). Pre hry spúšťané v prehliadači bola pridaná podpora viacerých vlákien a skriptov GDNative, avšak z dôvodu obmedzení platformy HTML5 je ich realizácia nekompatibilná s variantmi pre natívne hry. Okrem toho je realizácia vlákien viazaná na API SharedArrayBuffer, ktoré nie je dostupné vo všetkých prehliadačoch. Poskytujú sa tri samostatné režimy exportu - Regular, Threads a GDNative. V profile s viacerými vláknami bola navyše pridaná podpora API AudioWorklet, čo umožňuje dosiahnuť kvalitnejší zvuk bez blokovania hlavného vlákna. Výrazne sa zlepšila podpora herných ovládačov a virtuálnych klávesníc.

- Pridaná podpora pre skladanie hier pre nové zariadenia Apple vybavené ARM čipom M1. Bola pridaná podpora pre pripojenie digitálnych podpisov pre spustiteľné súbory generované pre macOS.
- Z vetvy 4.0 bol prenesený modernizovaný API na organizovanie viacerých vlákien, ktorý využíva schopnosti štandardu C++14, zvýšila sa spoľahlivosť na rôznych platformách a bola vykonaná optimalizácia výkonu.
- Z vetvy 4.0 bola prenesená optimalizácia, ktorá používa štruktúru BVH (Bounding Volume Hierarchy) namiesto metódy Octree na dynamické priestorové delenie pri vykresľovaní. BVH sa teraz používa predvolene a rieši mnohé problémy s výkonom.
- Bola zavedená unified implementation 2D batching (Batching, optimalizácia na zníženie počtu volaní na vykreslenie zohľadnením vzájomného umiestnenia objektov), ktorá sa môže použiť ako pre OpenGL ES 3, tak aj pre OpenGL ES 2. Samotná optimalizácia teraz pokrýva viac objektov, vrátane čiar a polygonov.
- Pridaná nová funkcia na vytváranie svetelných máp (lightmapper), ktorá využíva metódu sledovania lúčov a podporuje potlačenie šumu pomocou knižnice oidn (Open Image Denoise). Nový lightmapper používa CPU na výpočty a rieši väčšinu problémov s kvalitou, ktoré sa vyskytovali v staršom spracovateľovi. Ďalej je pripravená verzia lightmapper, ktorá využíva GPU, no tá je viazaná na API Vulkan a objaví sa len vo verzii 4.0.

- Z vetvy Godot 4.0 boli prenesené mnohé vylepšenia týkajúce sa renderovania, ako napríklad rýchle programové sklanozovanie, optimalizované transformácie skrytých 3D objektov, prispôsobiteľný počet svetelných zdrojov pre každý objekt a vylepšené vykresľovanie tieňov pomocou PCF filtra.

- Vo fyzikálnom simulačnom engíne bolo vylepšené spracovanie rôznych druhov kolízií.
- Do editora boli pridané úplné možnosti kopírovania a vkladania uzlov, ktoré umožňujú presun medzi rôznymi scénami.
- Vylepšený režim inšpekcie, ktorý zabezpečuje vizuálne vyznačenie subresurcov.

- Pridaná podpora definovania nastavení predvolených hodnôt pre importované zdroje.

- Bola vykonaná práca na zvýšení pohodlia pri práci v 3D editore, vrátane pridania nekonečnej dynamickej trojrozmernej mriežky a výrazného vylepšenia implementácie otáčania a vyznačovania pomocou gizmo (indikátor osí súradníc).

- Do nástrojov pre skupinovú prácu bola pridaná ochrana pred zmenami v scénach, ktoré už majú otvorených iných používateľov (zobrazí sa varovanie, ak sa pri ukladaní zistia novšie verzie otvorených súborov).
- Vylepšený import z FBX súborov.

- Pridaný plugin OpenXR s podporou rovnomenného štandardu na vytváranie aplikácií pre virtuálnu a rozšírenú realitu. Do portu HTML5 na vytváranie hier na báze technológií virtuálnej reality bola pridaná podpora špecifikácie WebXR.

- Pridaná podpora načítania a prehrávania zvuku vo formáte MP3 (ktorý predtým nebol podporovaný kvôli patentom).
- Do GraphEdit bola pridaná podpora mini-náhľadu celej štruktúry (minimap), ktorá sa zobrazuje v pravom dolnom rohu a umožňuje rýchly prehľad všetkých uzlov.

Zdroj: opennet.ru











