Efter 7 mÄnaders utveckling har den fria spelmotorn Godot 3.3 publicerats, lÀmplig för att skapa 2D- och 3D-spel. Motorn stödjer ett lÀttförstÄeligt sprÄk för spel-logik, en grafisk miljö för spel design, en en-klicks distribution av spel, omfattande animationsmöjligheter och simulering av fysiska processer, en inbyggd debugger och ett system för att upptÀcka prestandaflaskhalsar. Koden för spelmotorn, spel designmiljön och dÀrtill hörande utvecklingsverktyg (fysikmotor, ljudserver, backend för 2D/3D rendering etc.) distribueras under MIT-licensen.
KÀllkoden till motorn slÀpptes 2014 av studion OKAM, efter tio Är av utveckling av en professionell proprietÀr produkt som anvÀndes för att skapa och publicera mÄnga spel för PC, spelskonsoler och mobila enheter. Motorn stödjer alla populÀra stationÀra och mobila plattformar (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), samt spelutveckling för webben. FÀrdiga binÀrfiler har skapats för Linux, Windows och macOS.
En separat gren utvecklar en ny renderingsbackend baserad pĂ„ grafik-API:et Vulkan, som kommer att erbjudas i nĂ€sta version av Godot 4.0, istĂ€llet för de nuvarande renderingsbackender som anvĂ€nder OpenGL ES 3.0 och OpenGL 3.3 (stöd för OpenGL ES och OpenGL kommer att behĂ„llas genom att den gamla backenden OpenGL ES 2.0/OpenGL 2.1 fungerar ovanpĂ„ den nya renderingsarkitekturen baserad pĂ„ Vulkan). ĂvergĂ„ngen frĂ„n Godot 3.x till Godot 4.0 kommer att krĂ€va omarbetning av applikationer pĂ„ grund av API-kompatibilitetsbrott, men en lĂ„ng stödcykel kommer att sĂ€kerstĂ€llas för Godot 3.x-grenen, vars lĂ€ngd beror pĂ„ efterfrĂ„gan frĂ„n anvĂ€ndarna pĂ„ den strikt programmeringsgrĂ€nssnittet.
Godot 3.3-grenen Ă€r helt kompatibel med Godot 3.2 och fortsĂ€tter utvecklingen av stabila versioner av motorn, vilket kommer att sĂ€kerstĂ€llas med en lĂ„ngsiktig stödcykel. Ursprungligen var det planerat att slĂ€ppa uppdateringen 3.2.4 istĂ€llet för Godot 3.3, men versionerna 3.2.x uppfattades av anvĂ€ndarna som korrigerande, trots att nya funktioner frĂ„n version 4.0 hade portats, sĂ„ projektet gick över till ett klassiskt system för semantisk versionering. Specifikt kommer uppdateringen av det tredje siffran nu att indikera enbart bugfixar, det andra â inkluderingen av nya funktioner och det första â att det finns förĂ€ndringar som pĂ„verkar kompatibiliteten. 3.x.x-grenen kommer att stödjas parallellt med 4.x.x tills Godot 4.x Ă€r helt stabiliserad och anpassad för all aktuell hĂ„rdvara.
Godot 3.3 Àr anmÀrkningsvÀrd för tillÀgget av följande nyheter:
- En version av editorn som körs i webblÀsare har förberetts.

- Möjligheten att exportera spel för Android-plattformen i AAB-format (Android App Bundle) har lagts till, utöver APK-paketen. AAB-formatet möjliggör nedladdning av endast de nativa biblioteken som behövs för att köra pÄ den aktuella enheten (t.ex. armeabi-v7a eller arm64-v8a). För Android-plattformen har Àven möjlighet till inbÀddning av Godot-motorbaserade element i applikationer i form av subkomponenter (subview) som anvÀnder en del av fönstret införts. Stöd för skÀrmrundningar och nischer för kameran, musens hÀndelser och inmatning frÄn ett externt tangentbord har ocksÄ lagts till.

- Ett nytt API för byggande och distribution av plugins för iOS-plattformen har föreslagits, vilket gör det möjligt att flytta plugins (ARKit, GameCenter, InAppStore) till ett separat repository och utveckla dem oberoende av Godot-motorn. Det tidigare API:et hade implementerats för Android-plattformen.
- Export-verktygen för spel pĂ„ Web (HTML5-plattform) har förbĂ€ttrats. För webblĂ€sarbaserade spel har stöd för flertrĂ„dad körning och GDNative-skript lagts till, men pĂ„ grund av begrĂ€nsningar i HTML5-plattformen Ă€r deras implementering inkompatibel med varianter för inbyggda spel. Dessutom Ă€r implementeringen av trĂ„dar kopplad till API:et SharedArrayBuffer, vilket inte Ă€r tillgĂ€ngligt i alla webblĂ€sare. Tre separata exportlĂ€gen â Regular, Threads och GDNative â har införts. I det flertrĂ„diga lĂ€get har stöd för API:et AudioWorklet lagts till, vilket möjliggör bĂ€ttre ljudutveckling utan att blockera huvudtrĂ„den. Stödet för gamepads och virtuella tangentbord har avsevĂ€rt förbĂ€ttrats.

- Stöd för att bygga spel för den nya Apple-hÄrdvaran med ARM-chippet M1 har lagts till. Stöd för att fÀsta digitala signaturer för körbara filer som genereras för macOS har lagts till.
- Den moderniserade API:n för flertrÄdad organisering har flyttats frÄn version 4.0, vilken anvÀnder funktioner frÄn C++14-standarden, ökar tillförlitligheten pÄ olika plattformar och optimerar prestanda.
- Optimeringen har flyttats frÄn version 4.0, som anvÀnder BVH-struktur (Bounding Volume Hierarchy) istÀllet för Octree-metoden för dynamisk rumsavdelning vid rendering. BVH anvÀnds nu som standard och löser mÄnga prestanda problem.
- En enhetlig implementation av 2D-batching (Batching, en optimering för att minska anrop för rendering genom att ta hÀnsyn till objekts placering) har implementerats, som kan anvÀndas bÄde för OpenGL ES 3 och OpenGL ES 2. SjÀlva optimeringen tÀcker nu fler objekt, inklusive linjer och polygoner.
- En ny ljuskartlÀggare (lightmapper) har lagts till, som anvÀnder ray tracing-metoden och stöder brusreducering med hjÀlp av oidn-biblioteket (Open Image Denoise). Den nya lightmapper:n anvÀnder CPU för berÀkning och löser de flesta kvalitetsproblem relaterade till den gamla bearbetaren. Dessutom har en GPU-baserad version av lightmapper:n förberetts, men den Àr kopplad till Vulkan API och kommer endast att finnas i version 4.0.

- FrÄn Godot 4.0 har mÄnga förbÀttringar relaterade till rendering överförts, sÄsom snabb programvaruskinning, optimerade transformationer av dolda 3D-objekt, anpassningsbart antal ljuskÀllor för varje objekt och förbÀttrad skuggritning med hjÀlp av PCF-filter.

- I fyssimuleringsmotorn har behandlingen av olika typer av kollisioner förbÀttrats.
- Redigeraren har fÄtt fullstÀndiga möjligheter för kopiering och klippning av noder, vilket möjliggör överföring mellan olika scener.
- InspektionslÀget har förbÀttrats, dÀr visuell markering av delresurser sÀkerstÀlls.

- Stöd för att definiera standardinstÀllningar för importerade resurser har lagts till.

- Arbetet med att öka anvÀndarvÀnligheten i 3D-redigeraren har genomförts, inklusive en oÀndlig dynamisk 3D-nÀt och avsevÀrt förbÀttrad rotation och markering med hjÀlp av gizmo (koordinatsystemets pekare).

- I verktygen för grupparbete har skydd mot förÀndringar i scener som redan Àr öppna av andra anvÀndare lagts till (ett meddelande visas om nyare versioner av öppna filer upptÀcks vid sparande).
- Import frÄn FBX-filer har förbÀttrats.

- Ett OpenXR-plugin med stöd för den namngivna standarden för skapande av virtuella och förstÀrkta verklighetsapplikationer har lagts till. Stödet för WebXR-specifikationen har lagts till i HTML5-porten för spel skapade med VR-teknologier.

- Stöd för uppladdning och uppspelning av ljud i MP3-format har lagts till (tidigare ont invÀnt pÄ grund av patent).
- I GraphEdit har stöd för en miniatyrskiss av hela strukturen (minikarta) lagts till, vilket visas i nedre högra hörnet och ger en översikt över alla noder.

KĂ€lla: opennet.ru











