TÖÖTAJATE PALVEL! Võetud avatud internetist.
Pärast 10 kuu pika arendustöö avaldati vabaks mängumootoriks Godot 3.2, mis sobib 2D- ja 3D-mängude loomiseks. Mootor toetab lihtsat mängulogi keskkonda, mängude projekteerimise graafilist keskkonda, ühe klikiga mängude deployimise süsteemi, laia ulatuse animatsiooni ja füüsikaliste protsesside simuleerimist, integreeritud debuggeri ja tingimuste leidmise süsteemi. Mängumootori kood, mängude projekteerimise keskkond ja seotud arendusvahendid (füüsikamootor, heliserver, 2D/3D renderdamise backend jne) on litsentseeritud MIT litsentsi alusel.
Mootori lähtekoodid avati 2014. aastal OKAM stuudio poolt, pärast kümne aasta jooksul arendatud professionaalse taseme patendi toote tööd, mida kasutati paljude mängude loomiseks ja avaldamiseks PC, mängukonsoolide ja mobiilseadmete jaoks. Mootori tugi kõikide populaarsete lauaarvutite ja mobiilsete platvormide (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX) ning ka mängude tegemiseks Webis. Valmis binaarsed kogumid on loodud Linuxi, Windowsi ja macOS-i jaoks.
Uues haru viiakse ellu uus renderduspõhi, mis tugineb Vulkan graafika API-le ja mis pakutakse järgmises Godot 4.0 versioonis, selle asemel et kasutada praegu pakutavaid OpenGL ES 3.0 ja OpenGL 3.3 renderduspõhisid (OpenGL ES ja OpenGL toetamine säilitatakse, võimaldades vana OpenGL ES 2.0/OpenGL 2.1 renderdusliidese töötamist uue Vulkan-põhise renderduskeskkonna peal). Üleminek Godot 3.2-lt Godot 4.0-le nõuab rakenduste ümbertegemist API taseme ühilduvuse rikkumise tõttu, kuid Godot 3.2 haru jaoks tagatakse pikaajaline toetuse tsükkel, mis sõltub sellest, kui palju kasutajaid seda haru otsib. Samuti ei välistata vahepealsetes 3.2.x versioonides stabiilsust mitte mõjutavate uuenduste portimist 4.x harust, näiteks AOT-kompileerimise, ARCore, DTLS ja iOS platvormide C# projektide toetamine.
Godot 3.2 peamised uuendused:
- Lisatud toetus Oculus Quest virtuaalsetele prillidele, mis on rakendatud Androidi platvormi pluginana. Augmenteeritud reaalsuse süsteemide arendamiseks iOS-is on lisatud ARKit raamistik. Androidi platvormil arendatakse ARCore raamistikku, kuid see ei ole veel valmis ja see lisatakse ühes vahepealses versioonis 3.3.x;
- Visuaalse shaderi redaktori liides on ümber töötatud. Lisatud on uusi sõlmi keerukamate shaderite loomiseks. Šeidereile, mis on rakendatud klassikaliste skriptide abil, on lisatud konstantide, massiivide ja modifikaatorite "varying" toetus. Palju OpenGL ES 3.0 taustal spetsiifilisi shaidereid on portitud OpenGL ES 2 jaoks;
- Füüsikaliselt korrektse materjali renderdamise (PBR) toetus on sünkroonitud uute PBR-renderdamise mootorite, nagu Blender Eevee ja Substance Designer, võimalustega, et tagada sarnane stseenide kuvamine Godotis ning kasutatavates 3D-modelleerimise pakettides;
- erinevate renderdamise seadete optimeerimine on toimunud jõudluse parandamiseks ja pildi kvaliteedi tõstmiseks. GLES3 tagaküljele on viidud paljusid võimalusi GLES3-st, sealhulgas MSAA (Multisample anti-aliasing) silumise meetodi tugi ja mitmed postprotsessimise efektid (heleduse, DOF-ärapanemise ja BCS);
- Täielik tugi 3D-stseenide ja -mudelite importimiseks glTF 2.0 (GL Transmission Format) formaadis on lisatud, samuti on algne tugi FBX formaadile, mis võimaldab importida animatsiooniga stseene Blenderist, kuid ei ühildu veel Maya ja 3ds Maxiga. Lisatud on ka luu- ja nahkade tugi stseenide importimisel glTF 2.0 ja FBX kaudu, mis võimaldab kasutada ühte luud mitmes võrgus. Töö glTF 2.0 toe parandamise ja stabiliseerimise osas on viidud läbi koostöös Blenderi paketi arendajate kogukonnaga, kus parandatud glTF 2.0 tugi pakutakse versioonis 2.83;
- Mootori võrguvõimalusi on laiendatud WebRTC ja WebSocket protokollide toega ning UDP kasutamise võimalusega multicast režiimis. Lisatud on API krüptograafiliste räsi ja sertifikaatidega töötamiseks. Lisatud on graafiline liides võrguaktiivsuse profileerimiseks. On alustatud Godoti sadama loomisega WebAssembly/HTML5 jaoks, mis võimaldab käivitada redaktori brauseris läbi Webi;
- Android platvormile on ümber töötatud plugin ja eksportimise süsteem. Nüüd pakutakse Androidi pakettide loomise jaoks kahte eraldi eksportimise süsteemi: üks eeltöödeldud mootori variant ja teine, mis võimaldab luua kohandatud versioone põhinevaid oma kogusid. Oma kogude seadistamine on võimalik teha Androidi plugina tasemel, ilma algse šablooni käsitsi muutmiseta;
- Redaktorisse on lisatud valikuline funktsioonide keelamise toetus, näiteks saab eemaldada nupud 3D-redaktori, skripti redaktori, ressursside, sõlmede, paneelide, omaduste ja teiste elementide kutsumiseks, mis arendajale ei ole vajalikud (ülejäänud elemendid peitmine lihtsustab oluliselt liidest);
- Lisatud algne tugi versioonihaldussüsteemidega integreerimiseks ja redaktori Git toetava plugina rakendamine;
- Pakkuda on võimalus ümber määrata kaamera käimasolevale mängule redaktori aknast, mis võimaldab hinnata erinevaid režiime mängus (vaba vaatamine, sõlmede kontrollimine jms);
- Pakutud LSP (Language Server Protocol) serveri teostus GDScript'i keele jaoks, mis võimaldab edastada teavet GDScript'i semantika ja koodi automaatse lõpetamise reeglite kohta välistele redigeerijatele, nagu VS Code plugin ja Atom;
- GDScript'i sisseehitatud redaktoris on tehtud arvukalt täiustusi: lisatud võimalus seadistada järjehoidjaid koodipositsioonides, rakendatud minimap paneel (kogu koodi kiireks ülevaatamiseks), parendatud sisestamise automaatset lõpetamist, laiendatud visuaalse skriptimise režiimi võimalusi;
- Lisatud on pseudo-3D mängude loomise režiim, mis võimaldab kasutada sügavuse efekti kahe mõõtmelistes mängudes, määrates mitmeid kihte, mis loovad vale perspektiivi;
- 2D-redaktoris on taastunud tekstuuride atlasete tugi;
- GUI-s on uuendatud ankurdamise ja piirkondade piiride seadistamise protsessi;
- Tekstide jaoks on lisatud võimalus jälgida reaalajas efektide parameetrite muutusi, tagatud BBCode'i siltide tugi ja võimalus määrata oma efekte;
- Lisatud helivoogude generaator, mis võimaldab luua helilaineid üksikute raamide ja spektraalanalüsaatori põhjal;
- V-HACD raamatukogu abil on realiseeritud võimalus dekomponeerida nõgusad mesh'id täpseteks ja lihtsustatud koonuslikeks osadeks. See võimalus lihtsustab oluliselt kokkupõrkevormide genereerimist olemasolevatele 3D-mesh'idele;
- Mänguloogika arendamine C# keeles Mono kasutades on nüüd võimalik Androidi ja WebAssembly platvormidel (varasemalt C# toetas ainult Linuxit, Windowsit ja macOS-i). C# 8.0 toetus on rakendatud Mono 6.6 põhjal. C# jaoks on samuti rakendatud esialgne AOT (ahead-of-time) kompileerimise tugi, mis on lisatud koodibaasi, kuid pole veel aktiveeritud (WebAssembly puhul kasutatakse praegu tõlgendajat). C# koodi redigeerimiseks on võimalik ühendada välised redigeerijad, nagu MonoDevelop, Visual Studio for Mac ja Jetbrains Rider;
- Dokumentatsiooni on märkimisväärselt laiendatud ja parandatud. Avaldatud on osaline tõlge dokumentatsioonist vene keelde (tõlgitud on sissejuhatav juhend töö alustamiseks).
Allikas: linux.org.ru

