Pas katĂ«r vitesh zhvillimi, Ă«shtĂ« publikuar versioni i ri i motorit tĂ« lirĂ« tĂ« lojĂ«rave Godot 4.0, i pĂ«rshtatshĂ«m pĂ«r krijimin e lojĂ«rave 2D dhe 3D. Motori mbĂ«shtet njĂ« gjuhĂ« tĂ« thjeshtĂ« pĂ«r tâu mĂ«suar pĂ«r pĂ«rcaktimin e logjikĂ«s sĂ« lojĂ«s, njĂ« mjedis grafik pĂ«r projektimin e lojĂ«rave, njĂ« sistem publikimi tĂ« lojĂ«rave me njĂ« klikim, mundĂ«si tĂ« gjera pĂ«r animacion dhe simulimin e proceseve fizike, si edhe njĂ« debugues tĂ« integruar dhe njĂ« sistem pĂ«r zbulimin e ngushticave nĂ« performancĂ«. Kodi i motorit tĂ« lojĂ«rave, mjedisit tĂ« projektimit tĂ« lojĂ«rave dhe mjeteve shoqĂ«ruese tĂ« zhvillimit (motori fizik, serveri i audios, backend-et e renderimit 2D/3D etj.) shpĂ«rndahet nĂ«n licencĂ«n MIT.
Kodi burimor i motorit u hap në vitin 2014 nga studioja OKAM, pas dhjetë vitesh zhvillimi të një produkti pronësor të nivelit profesional, i cili është përdorur për krijimin dhe publikimin e shumë lojërave për PC, konsola lojërash dhe pajisje mobile. Motori mbështet të gjitha platformat më të njohura desktop dhe mobile (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), si edhe zhvillimin e lojërave për Web. Janë përgatitur build-e binare të gatshme për ekzekutim për Linux, Android, Windows dhe macOS.
Në degën Godot 4.0 janë përfshirë rreth 12 mijë ndryshime dhe janë korrigjuar 7 mijë gabime. Në zhvillimin e motorit dhe në shkrimin e dokumentacionit kanë marrë pjesë rreth 1500 persona. Ndër ndryshimet kryesore:
- JanĂ« prezantuar dy backend-e tĂ« reja renderimi (tĂ« klasterizuara dhe mobile) mbi bazĂ«n e API-sĂ« grafike Vulkan, tĂ« cilat zĂ«vendĂ«sojnĂ« backend-et qĂ« kryenin vizatimin pĂ«rmes OpenGL ES dhe OpenGL. PĂ«r pajisjet e vjetra dhe me fuqi tĂ« kufizuar Ă«shtĂ« integruar njĂ« backend pĂ«rputhshmĂ«rie mbi bazĂ«n e OpenGL, i cili pĂ«rdor arkitekturĂ«n e re tĂ« renderimit. PĂ«r renderim dinamik me rezolucion mĂ« tĂ« ulĂ«t pĂ«rdoret teknologjia e supersampling AMD FSR (FidelityFX Super Resolution), e cila shfrytĂ«zon algoritme tĂ« shkallĂ«zimit hapĂ«sinor dhe rindĂ«rtimit tĂ« detajeve pĂ«r tĂ« ulur humbjen e cilĂ«sisĂ« sĂ« figurĂ«s gjatĂ« zmadhimit dhe konvertimit nĂ« rezolucion mĂ« tĂ« lartĂ«. ĂshtĂ« realizuar edhe njĂ« motor renderimi i bazuar nĂ« Direct3D 12, i cili do tĂ« pĂ«rmirĂ«sojĂ« mbĂ«shtetjen pĂ«r platformat Windows dhe Xbox.

- ĂshtĂ« shtuar mundĂ«sia pĂ«r tĂ« punuar me ndĂ«rfaqen nĂ« modalitet me shumĂ« dritare (panele tĂ« ndryshme dhe pjesĂ« tĂ« ndĂ«rfaqes mund tĂ« shkĂ«puten si dritare tĂ« veçanta).

- Një redaktor të ri të ndërfaqes së përdoruesit dhe një widget të ri për projektim vizual janë shtuar.

- Një redaktor të ri temash është shtuar.

- Sistemi për menaxhimin e ndriçimit dhe hijet është rishkruar plotësisht, duke përfshirë teknologjinë në kohë reale të ndriçimit global SDFGI (Firma e Distancës së Nënshkruar e Ndriçimit Global). Cilësia e përfaqësimit të hijave është përmirësuar ndjeshëm.

- Nodu GIProbe, i përdorur për mbushjen e skenës me dritë të reflektuar, është zëvendësuar me nodin VoxelGI, optimal për përpunimin në kohë reale të ndriçimit në skena me ambiente të vogla ose mesatare. Për pajisjet e dobëta është lënë mundësia e renderimit të parashikueshëm të dritës dhe hijave përmes hartave të ndriçimit, për shpejtimin e të cilave tani është angazhuar GPU.

- JanĂ« realizuar teknika tĂ« reja pĂ«r optimizimin e renderimit. ĂshtĂ« shtuar prerja automatike okkluzive (occlusion culling), e cila pĂ«rcakton dhe heq modelet e fshehura pas sipĂ«rfaqeve tĂ« tjera pĂ«r tĂ« rritur performancĂ«n e renderimit dhe pĂ«r tĂ« zvogĂ«luar ngarkesĂ«n mbi CPU dhe GPU.

- Një mod ndriçimi SSIL (Screen Space Indirect Lighting) është shtuar, duke lejuar përmirësimin e cilësisë së renderimit në pajisje me performancë të lartë duke përmirësuar përpunimin e zona të errëta dhe ndriçim indirekt. Për më tepër, janë ofruar cilësime shtesë për imitim të ndriçimit indirekt të shpërndarë përmes teknikës SSAO (Screen Space Ambient Occlusion), të tilla si zgjedhja e niveleve të ndikimit të dritës direkte.
- Janë propozuar njësitë realiste të ndriçimit, të cilat lejojnë rregullimin e intensitetit të dritës dhe përdorimin e cilësimeve standarde të kamerës për menaxhimin e ndriçimit të skenës përfundimtare, siç janë diaphragmi, ekspozita dhe ISO.
- ShtesĂ« tĂ« reja janĂ« shtuar pĂ«r redaktimin e niveleve pĂ«r lojĂ«rat 2D. JanĂ« bĂ«rĂ« ndryshime radikale nĂ« procesin e zhvillimit tĂ« lojĂ«rave 2D. ĂshtĂ« shtuar njĂ« redaktues i ri i kartave tĂ« flakĂ«s (tilemap), i cili tani mbĂ«shtet nivele, mbushje automatik tĂ« peizazhit, pĂ«rhapjen rastĂ«sore tĂ« bimĂ«ve, gurĂ«ve dhe objekteve tĂ« ndryshme, si dhe selektimin fleksibĂ«l tĂ« objekteve. ĂshtĂ« unifikuar puna me kartat e flakĂ«s dhe grupe tĂ« fragmenteve pĂ«r ndĂ«rtimin e hartĂ«s (tileset). ĂshtĂ« siguruar zgjerimi automatik i fragmenteve brenda grupit pĂ«r tĂ« eliminuar boshllĂ«qet ndĂ«rmjet fragmenteve fqinje. ĂshtĂ« shtuar njĂ« funksion i ri pĂ«r vendosjen e objekteve nĂ« skenĂ«, i cili, pĂ«r shembull, mund tĂ« pĂ«rdoret pĂ«r tĂ« shtuar personazhe nĂ« qelizat e rrjetit tĂ« flakĂ«s.
- NĂ« pĂ«rshkrimin 2D Ă«shtĂ« realizuar mundĂ«sia e pĂ«rdorimit tĂ« grupeve tĂ« kanavacĂ«s, qĂ« lejojnĂ« pĂ«rzierjen e elementeve tĂ« mbivendosur tĂ« kanavacĂ«s; pĂ«r shembull, mund tĂ« bashkohen disa sprite dhe tĂ« pĂ«rzihen me sfondin, sikur kĂ«to sprite tĂ« ishin njĂ« element i vetĂ«m. ĂshtĂ« shtuar prona Clip Children, qĂ« lejon pĂ«rdorimin e çdo elementi 2D si maskĂ«. NjĂ« opsion Ă«shtĂ« shtuar gjithashtu nĂ« motorin 2D, i cili lejon pĂ«rdorimin e metodĂ«s MSAA (Multisample Anti-Aliasing) pĂ«r tĂ« pĂ«rmirĂ«suar cilĂ«sinĂ« e imazheve dhe pĂ«r tĂ« krijuar skaj mĂ« tĂ« buta.

- ĂshtĂ« pĂ«rmirĂ«suar funksionimi me ndriçimin dhe hijet nĂ« lojĂ«rat 2D. Ka pasur njĂ« rritje tĂ« konsiderueshme tĂ« performancĂ«s kur pĂ«rdoren disa burime drite. ĂshtĂ« shtuar mundĂ«sia e imitimeve tre dimensionale pĂ«rmes ndryshimit tĂ« nivelit tĂ« ndriçimit nĂ« hartat normale, si dhe krijimit tĂ« efekteve vizuale tĂ« tilla si hijet e gjata, aureolat dhe konturet e qarta.

- ĂshtĂ« shtuar njĂ« efekt i mjegullĂ«s voluminoze, qĂ« pĂ«rdor teknikĂ«n e riprojekcionit temporal pĂ«r tĂ« arritur njĂ« pamje realiste dhe performancĂ« tĂ« lartĂ«.

- Janë shtuar shaderët e reve, që lejojnë gjenerimin dinamik të reve, që ndryshojnë në kohë reale.

- ĂshtĂ« realizuar mbĂ«shtetje pĂ«r "dekalet", njĂ« metodĂ« pĂ«r projeksionin e materialit nĂ« sipĂ«rfaqe.
- Janë shtuar efekte bazuar në pjesëza që zbatohen për të gjithë hapësirën e lojës, që përdorin GPU dhe mbështesin atraktoret, përplasjet, pasqyrat dhe emetuesit.
- Janë zgjeruar mundësitë e ndërfaqes për redaktimin vizual të shaderëve.

- Gjuha e shenjave është zgjeruar, duke shtuar mbështetje për struktura, makroshtesa të përpunuesit paraprak, zëvendësimin e shenjave (operatori include), vargje të unifikuara dhe përdorimin e "varying" për të kaluar të dhëna nga trajtuesi i fragmentit në trajtuesin e ndriçimit.
- ĂshtĂ« shtuar mundĂ«sia e aplikimit tĂ« shenjave tĂ« llogaritjes, duke pĂ«rdorur GPU pĂ«r tĂ« pĂ«rshpejtuar algoritmet.
- NĂ« gjuhĂ«n e skenarĂ«ve GDScript sistemi i tipizimit statik Ă«shtĂ« pĂ«rmirĂ«suar, Ă«shtĂ« shtuar njĂ« sintaksĂ« e re pĂ«r pĂ«rcaktimin e pronave, janĂ« propozuar fjalĂ« kyçe await dhe super, janĂ« shtuar operacionet map/reduce, Ă«shtĂ« realizuar njĂ« sistem i ri anotimesh, Ă«shtĂ« shtuar mundĂ«sia e pĂ«rdorimit tĂ« simboleve unicode nĂ« emrat e variablave dhe emrat e funksioneve. ĂshtĂ« shtuar njĂ« mjet pĂ«r gjenerimin automatik tĂ« dokumentacionit. Performanca dhe stabiliteti i runtime GDScript janĂ« pĂ«rmirĂ«suar. NĂ« ambientin e zhvillimit Ă«shtĂ« siguruar mundĂ«sia pĂ«r shfaqjen e disa gabimeve menjĂ«herĂ«, janĂ« shtuar paralajmĂ«rime tĂ« reja pĂ«r probleme tipike.

- MundĂ«sitĂ« e zhvillimit tĂ« logjikĂ«s sĂ« lojĂ«rave nĂ« gjuhĂ«n C# janĂ« zgjeruar. ĂshtĂ« shtyrĂ« mbĂ«shtetje pĂ«r platformĂ«n .NET 6 dhe gjuhĂ«n C# 10. PĂ«r vlerat skalarĂ« janĂ« pĂ«rdorur tipe 64-bit. ShumĂ« API janĂ« transformuar nga tipe int dhe float nĂ« long dhe double. ĂshtĂ« mundĂ«suar pĂ«rcaktimi i sinjaleve nĂ« formĂ« ngjarjesh C#. ĂshtĂ« mundĂ«suar zhvillimi i zgjerimeve GDExtensions nĂ« gjuhĂ«n C#.
- ĂshtĂ« shtuar mbĂ«shtetje eksperimentale pĂ«r zgjerime (GDExtension), tĂ« cilat mund tĂ« pĂ«rdoren pĂ«r tĂ« zgjeruar mundĂ«sitĂ« e motorit pa e rigeruar atĂ« dhe pa bĂ«rĂ« ndryshime nĂ« kod.
- ĂshtĂ« propozuar si standard motori i simullimit tĂ« proceseve fizike Godot Physics, i optimizuar pĂ«r tĂ« zgjidhur detyra tĂ« zakonshme nĂ« lojĂ«rat kompjuterike dhe i arritur nĂ« paritet nĂ« funksionalitet me motorin e mĂ«parshĂ«m Bullet (pĂ«r shembull, nĂ« Godot Physics Ă«shtĂ« shtuar pĂ«rpunimi i formave tĂ« reja tĂ« pĂ«rplasjeve, mbĂ«shtetje pĂ«r hartat e lartĂ«sisĂ« dhe mundĂ«sia e pĂ«rdorimit tĂ« nyjeve SoftBody pĂ«r simullimin e veshjeve). ĂshtĂ« bĂ«rĂ« optimizimi i performancĂ«s dhe Ă«shtĂ« zgjeruar pĂ«rdorimi i shumĂ«prosesorĂ«ve me ndarjen e ngarkesĂ«s nĂ« bĂ«rthama tĂ« ndryshme CPU gjatĂ« simullimit tĂ« proceseve fizike nĂ« mjedise 2D dhe 3D. JanĂ« zgjidhur shumĂ« probleme me simullimin.
- Një sistem i ri i rendering-ut të tekstit është propozuar, duke ofruar më shumë kontroll mbi prerjen dhe transferimin e tekstit, si dhe duke siguruar qartësi të lartë në çdo rezolutë ekrani.
- I janë zgjeruar mjetet për lokalizimin dhe punën mbi përkthimin.
- Shtuar një dialog të veçantë për importimin e burimeve 2D dhe 3D, duke mbështetur paraparjen dhe modifikimin e cilësimeve të skenës, materialeve dhe pronave fizike që importohen.

- Në redaktor janë shtuar widget-e të reja, si një panel për të rikuperuar ndryshimet dhe një dialog i ri për zgjedhjen e ngjyrës dhe për azhurnimin e paletave.

- Interfejsi pĂ«r inspektimin Ă«shtĂ« pĂ«rditĂ«suar, panairi i menaxhimit skena dhe redaktori i skripteve. ĂshtĂ« pĂ«rmirĂ«suar ndriçimi i sintaksĂ«s, Ă«shtĂ« shtuar mundĂ«sia pĂ«r tĂ« shfaqur kursorĂ« tĂ« shumtĂ«, janĂ« ofruar mjete pĂ«r redaktimin e formateve JSON dhe YAML.
- Janë zgjeruar aftësitë e redaktorit të animacionit, i cili tani mbështet përzierjen e figurave dhe ka përmirësuar proceset e bazuara në kurbën Bézier. Kodi për animacionin 3D është riparuar, duke implementuar mbështetje për kompresimin për të reduktuar konsumin e memories. Sistemi për përzierjen e animacionit dhe krijimin e efektesh kaluese është riparuar. Janë zgjeruar mundësitë për të krijuar animacione të komplikuara. Janë ofruar biblioteka animacionesh për ruajtjen dhe ripërdorimin e animacioneve të krijuara.

- ĂshtĂ« shtuar njĂ« mod i krijimit tĂ« filmave, i cili kryen rendering kadro pĂ«r kadro tĂ« skenĂ«s me cilĂ«si maksimale pĂ«r krijimin e intro-ve dhe regjistrimin e videove.
- Mbështetja për helmet 3D dhe platformat e realitetit virtual është zgjeruar. Në përbërjen kryesore të motorit është integruar mbështetje për standardin OpenXR, që definon një API universale për krijimin e aplikacioneve të realitetit virtual dhe të shtuar. Në Windows dhe Linux është siguruar mbështetje për të gjitha helmet popullore 3D, duke përfshirë helmet e SteamVR, Oculus dhe Monado.
- Stabiliteti i nën-sistemit për organizimin e lojës në rrjet është përmirësuar dhe procesi i zhvillimit të lojërave shumë-user është lehtësuar.
- Janë zgjeruar mundësitë e sistemit të zërit, është integruar mbështetje për polifoninë, është shtuar një API për sintezën e foljes dhe është realizuar mundësia e përjetësimit të zërit.
- ĂshtĂ« siguruar mundĂ«sia pĂ«r tĂ« nisur ndĂ«rfaqen Godot nĂ« tabletĂ«t Android dhe nĂ« shfletuesin web.

- ĂshtĂ« shtuar njĂ« sistem i ri pĂ«r ndĂ«rtimin e lojĂ«rave pĂ«r arkitekturĂ« tĂ« ndryshme CPU. PĂ«r shembull, tani Ă«shtĂ« e mundur tĂ« bĂ«ni ndĂ«rtim pĂ«r Raspberry Pi, Microsoft Volterra, Surface Pro X, Pine Phone, VisionFive, ARM Chromebook dhe Asahi Linux.
- API ka ndryshime që e thyejnë kompatibilitetin. Kalimi nga Godot 3.x në Godot 4.0 do të kërkojë riaftësimin e aplikacioneve, por për degën Godot 3.x është siguruar një periudhë e gjatë mbështetjeje, e cila do të varet nga kërkesa e përdoruesve për API-në e vjetër.

Burimi: opennet.ru

















