Hét hónap fejlesztés után megjelent a Godot 3.3 szabad játékfejlesztő motor, amely alkalmas 2D és 3D játékok készítésére. A motor támogat egy könnyen tanulható játéklogikai nyelvet, egy grafikus környezetet a játékok tervezésére, egy kattintásos telepítési rendszert, széleskörű animációs és fizikai szimulációs lehetőségeket, beépített hibakeresőt és teljesítményproblémák feltáró rendszerét. A játék motorjának, a játéktervező környezetnek és a kapcsolódó fejlesztői eszközöknek (fizikai motor, hangszolgáltató, 2D/3D renderelési backendek stb.) a forráskódját MIT licenc alatt terjesztik.
A motor forráskódját 2014-ben nyitotta meg az OKAM stúdió, miután tíz évig fejlesztették egy professzionális, tulajdonosi terméket, amelyet számos PC, játékkonzol és mobil eszköz játékának elkészítésére és kiadására használtak. A motor támogatja az összes népszerű asztali és mobil platformot (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), valamint webes játékfejlesztést. A futtatásra kész bináris verziók Linux, Windows és macOS rendszerre készültek el.
Egy külön ágon egy új renderelő backend fejlődik a Vulkan grafikus API alapjain, amely a következő Godot 4.0 verzióban lesz elérhető, a jelenlegi OpenGL ES 3.0 és OpenGL 3.3 renderelő backendek helyett (az OpenGL ES és OpenGL támogatása továbbra is biztosítva lesz az OpenGL ES 2.0/OpenGL 2.1 régi backend új Vulkan alapú renderelési architektúrával való működtetésével). A Godot 3.x-ről a Godot 4.0-ra való átállás a felületek API szintű inkompatibilitása miatt a programok átírását igényli, de a Godot 3.x ág számára hosszú távú támogatási ciklus biztosított, amelynek hossza a felhasználók API iránti keresletétől függ.
A Godot 3.3 ág teljesen kompatibilis a Godot 3.2-vel, és folytatja a motor stabil verzióinak fejlesztését, amelyekhez hosszú távú támogatás biztosítanak. Eredetileg a Godot 3.3 helyett a 3.2.4-es frissítés kiadását terveztek, de a felhasználók a 3.2.x verziókat javítóként értékelték, annak ellenére, hogy az új funkciók a 4.0 ágból kerültek átvitelre, ezért a projekt visszatért a klasszikus szemantikus verziózás rendszeréhez. Kifejezetten a harmadik szám frissítése mostantól csak javítások jelenlétét jelzi, a második szám új funkciók beépítését, az első szám pedig a kompatibilitást befolyásoló változásokat. A 3.x.x ág párhuzamosan lesz támogatva a 4.x.x-szel, amíg a Godot 4.x teljesen stabilizálódik és alkalmazkodik a jelenlegi hardverhez.
A Godot 3.3 figyelemre méltó a következő újítások bevezetésével:
- Készült egy web böngészőben futó szerkesztő változata.

- Hozzáadva a játékok Android platformra történő exportálásának lehetősége AAB (Android App Bundle) formátumban, az APK csomagok mellett. Az AAB formátum lehetővé teszi, hogy csak azokat a natív könyvtárakat töltsük le, amelyek a jelenlegi eszköz működéséhez szükségesek (például armeabi-v7a vagy arm64-v8a). Az Android platformra továbbá megvalósították a Godot motoron alapuló elemek alkalmazásokba való beágyazásának lehetőségét alsó komponensként (subview), amelyek a képernyő egy részét használják. Emellett támogatják a képernyő vak területeit (lekerekítések és kamerakivágások), az egér eseményeket és a külső billentyűzetből történő bevitel lehetőségét.

- Javasolt egy új API a pluginok iOS platformra történő létrehozásához és terjesztéséhez, amely lehetővé teszi a pluginok (ARKit, GameCenter, InAppStore) külön tárolóba történő kiemelését és azok független fejlesztését a Godot motortól. Korábban ezt az API-t az Android platformra valósították meg.
- Javították a Web játékok exportáló eszközeit (HTML5 platform). A böngészőben futó játékokhoz hozzáadták a több szál támogatását és a GDNative szkriptek kezelését, de a HTML5 platform korlátai miatt a megvalósítás nem kompatibilis a natív játékok változataival. Ezenkívül a szálak megvalósítása a SharedArrayBuffer API-ra épül, amely nem minden böngészőben érhető el. Három külön exportálási módot kínálnak: Regular, Threads és GDNative. A több szálas profilban hozzáadták az AudioWorklet API támogatását, amely lehetővé teszi a hangkimenet jobb minőségű elérését anélkül, hogy blokkolná az alapfolyamatot. Szignifikánsan javították a játékvezérlők és virtuális billentyűzetek támogatását.

- Hozzáadták az új Apple hardverek, amelyek ARM M1 chipet használnak, játékainak összeállítási támogatását. Hozzáadták a digitális aláírások csatolásának támogatását a macOS-hoz generált végrehajtható fájlokhoz.
- A 4.0 ágból átkerült a modernizált API a több szál kezeléséhez, amely a C++14 szabvány lehetőségeit használja fel, ezzel növelve a megbízhatóságot különböző platformokon, valamint optimalizálva a teljesítményt.
- A 4.0 ágból átkerült az optimalizálás, amely a BVH (Bounding Volume Hierarchy) struktúrát használja az Octree módszere helyett a dinamikus térbeli felosztás során a renderelésnél. A BVH mostantól alapértelmezett használatú, és megoldja a teljesítménnyel kapcsolatos problémák nagy részét.
- Bevezették az egységesített 2D-batch-ing (Batching, az optimalizálás a rajzolási hívások csökkentésére az objektumok közötti elhelyezkedés figyelembevételével) megvalósítást, ami mind az OpenGL ES 3, mind az OpenGL ES 2 esetében alkalmazható. Magának az optimalizációnak most több objektumot is figyelembe vesz, beleértve a vonalakat és sokszögeket.
- Hozzáadtak egy új fénytérkép-készítőt (lightmapper), amely a ray tracing módszert alkalmazza, és támogatja a zajcsökkentést az oidn (Open Image Denoise) könyvtárral. Az új lightmapper a számításokhoz CPU-t használ, és megoldja a régi feldolgozóval kapcsolatos minőségi problémák nagy részét. Továbbá készült egy GPU-t használó lightmapper változat is, de ez a Vulkan API-ra épül, és csak a 4.0 ágból érkezik.

- A Godot 4.0-ból számos, a rendereléssel kapcsolatos fejlesztés került át, mint például a gyors programozott bővítés, a rejtett 3D objektumok optimális transzformációi, az egyes objektumokhoz szabható fényforrások mennyisége és a PCF-szűrő segítségével javított árnyékrajzolás.

- A fizikai folyamatok szimulációs motorjában javult a különböző ütközéstípusok kezelése.
- A szerkesztőbe teljes körű másolás és beillesztés lehetőségek kerültek, amelyek lehetővé teszik a különböző jelenetek közötti áthelyezést.
- Fejlesztették az ellenőrzési módot, amelyben vizuális kiemelés biztosítja a részforrásokat.

- Hozzáadva a lehetőség az importált erőforrások alapértelmezett beállításainak meghatározásához.

- A 3D szerkesztő használhatóságának javításán dolgoztak, beleértve a végtelen dinamikus háromdimenziós rács hozzáadását és a forgatás, valamint a kiemelés lényeges javítását a gizmo (koordináta-tengely jelző) segítségével.

- A csoportos munka eszközeiben védelmet kaptak a már más felhasználók által megnyitott színpadokban végzett módosítások ellen (figyelmeztetés jelenik meg, ha mentéskor újabb verziókat találnak a megnyitott fájlokból).
- Javították az FBX formátumból való importálást.

- Hozzáadták az OpenXR plugint, amely támogatja a virtuális és kibővített valóság alkalmazások létrehozásához készült azonos nevű szabványt. A virtuális valóságnak szánt HTML5 portba hozzáadták a WebXR specifikáció támogatását.

- Hozzáadták az MP3 formátumban történő hangfájlok feltöltésének és lejátszásának támogatását (korábban szabadalmak miatt nem volt támogatott).
- A GraphEditbe mini-térkép (minimap) támogatását adták hozzá, amely a jobb alsó sarokban jelenik meg, és lehetővé teszi az összes csomópont egy pillantásra történő áttekintését.

Forrás: opennet.ru











