Pas pesë muajsh zhvillimi, është publikuar rishikimi i motorit të lojërave të lirë Godot 4.2, i përshtatshëm për krijimin e lojërave 2D dhe 3D. Motori mbështet një gjuhë të thjeshtë për mësimin e logjikës së lojës, një ambient grafik për projektimin e lojërave, një sistem për shpërndarjen e lojërave me një klik, mundësi të gjera animacioni dhe simulimi të proceseve fizike, një debugger të integruar dhe një sistem për zbuluar ngushticat në performancë. Kodi i motorit të lojërave, ambientit të projektimit të lojërave dhe mjeteve përkatëse të zhvillimit (motorin fizik, serverin e zërit, backendet për renditjen 2D/3D etj.) shpërndahen nën licencën MIT.
Tekstet burimor të motorit u hapën në vitin 2014 nga studioja OKAM, pas dhjetë vjetësh zhvillimi të një produkti privat të nivelit profesional, i cili u përdor për të krijuar dhe publikuar shumë lojëra për PC, konsola lojrash dhe pajisje mobile. Motori mbështet të gjitha platformët e njohura stacionare dhe mobile (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), si dhe zhvillimin e lojërave për Web. Binarët e gatshëm për të drejtuar janë formuar për Linux, Android, Windows dhe macOS.
Ndryshimet kryesore:
- Për zhvilluesit e lojërave 2D u shtua mbështetje për përmasimin e detyrueshëm të numrave të plotë, duke lejuar përfshirjen e një rrjete pikseli katror, pa marrë parasysh raportin e vërtetë të aspektit. U ofrua mundësia për të marrë koordinatat barycentric të normales nga pikat e prerjes së objektit me rrezet. U shtuan metodat Rotate_toward dhe Angle_difference për të trajtuar saktë rotacionin dhe këndet. Në nyjat Line2D u shtua prona "closed" për të krijuar linja të mbyllura me mbushje të vazhdueshme.

- ĂshtĂ« punuar pĂ«r tĂ« rritur besueshmĂ«rinĂ« e sistemit tĂ« animacionit. JanĂ« riparuar dhe unifikuar nyjat AnimationPlayer dhe AnimationTree, pjesĂ«t e pĂ«rbashkĂ«ta tĂ« cilave janĂ« ndarĂ« nĂ« njĂ« klasĂ« ndĂ«rmjetĂ«se AnimationMixer. ĂshtĂ« shtuar opsioni pĂ«r pĂ«rzierje tĂ« pĂ«rcaktuar. NĂ« parashikimin e animacionit Ă«shtĂ« shtuar njĂ« mod tĂ« kalqĂ«s (onion skinning), qĂ« pĂ«rfshin tregimin e mbulimeve me gjysmĂ« transparencĂ« nga kadrot e kaluara dhe ato tĂ« ardhshme tĂ« animacionit.

- Aftësitë e "nregjistrimit" të rrjetit të navigimit (baking, konvertimi në formë statike) për 2D janë afruar me mundësitë që ishin më parë të disponueshme në navigimin 3D, për shembull, për rrjetat 2D është implementuar mbështetje për punën me trupa fizikë, instancat e rrjeteve poligonale, shumëkëndëshit të thjeshtë dhe hartat e pllakave (tilemap). Në hostingut Në navigimin 2D dhe 3D është shtuar mbështetje për nregjistrimin shumëfishe të mësheve.

- Kodu u riformua pĂ«r tĂ« punuar me flakĂ« dhe hartat e flakĂ«ve. Operacionet e grupimit tĂ« blloqeve dhe renditjes nĂ« boshtin Y janĂ« optimizuar, duke lejuar njĂ« reduktim tĂ« rĂ«ndĂ«sishĂ«m tĂ« kohĂ«s sĂ« pĂ«rditĂ«simit tĂ« flakĂ«ve. ĂshtĂ« punuar pĂ«r tĂ« rritur lehtĂ«sinĂ« nĂ« krijimin e hartave tĂ« flakĂ«ve dhe pĂ«rdorimin e tyre. ĂshtĂ« shtuar njĂ« mjet pĂ«r rrotullimin dhe kthimin e flakĂ«ve gjatĂ« vendosjes sĂ« tyre. JanĂ« pĂ«rmirĂ«suar mjetet pĂ«r redaktimin e poligonĂ«ve dhe skenave tĂ« flakĂ«ve.

- Në redaktorin e skenarëve GDScript është shtuar mundësia për të krijuar zona me emër të kodit për të palosur blloqet gjatë redaktimit dhe thjeshtësimin e navigimit. Në debugerin e skriptit është shtuar mbështetje e plotë për kodin shumë-tëngjyrësh, stack-un e ekzekutimit dhe pikët e ndaljes. Në skriptet e bazuara në C#/.NET është realizuar mbështetje për platformat Android (e nevojshme .NET 7.0+) dhe iOS (e nevojshme .NET 8.0). Në skriptet GDScript është zgjeruar mbështetja për kodin me tipizim statik, është shtuar mbështetje për literalet e vargjeve r-string (string i papërpunuar), dhe janë zgjeruar mundësitë e operatorit match.

- NĂ« tĂ« rinovuarin 3D viewport Ă«shtĂ« pĂ«rmirĂ«suar mbĂ«shtetje pĂ«r menaxhimin e transformimeve nĂ« stilin Blender, duke pĂ«rdorur miun dhe shkurtore tastierash. Tani, informacioni vizual i zgjeruar nĂ« 3D viewport shfaqet vetĂ«m pĂ«r objektet e zgjedhura. JanĂ« shtuar tregues tĂ« tjerĂ« pĂ«r elemente tĂ« tillĂ« si decal dhe volum i mjegullĂ«s. Puna me gizmo Ă«shtĂ« pĂ«rmirĂ«suar â çdo anĂ« e formave volumetrike tani mund tĂ« zgjerohet veçmas nĂ« dritaren e shikimit.

- Janë përmirësuar menutë kontekstuale dhe këshillat e shfaqura në panelet 'Inspektimi' dhe 'Sinjalet'. Në redaktorin e temave janë shtuar këshilla me përshkrime të pronave. Në panelin e punës me sistemin e skedarëve është shtuar mundësia e ndriçimit vizual të katalogëve duke u dhënë atyre ngjyra të ndryshme. Ndërfaqja e redaktorit të burimeve të gradienteve është riparuar. Në redaktorin e rajoneve të teksteve është unifikuar puna me të gjitha burimet e mbështetura, duke përfshirë stilet dhe atlasët.

- Në bibliotekën e aseteve është përmirësuar outputi i rezultateve të kërkimit dhe është shtuar mundësia për të zgjedhur një katalog tjetër për të instaluar një përmirësim ose burim.

- Në menaxherin e projekteve, është riparë vendosja e elementeve kryesore të kontrollit dhe është modernizuar ndërfaqja e importit të projektit.

- JanĂ« zgjeruar mundĂ«sitĂ« pĂ«r zhvillimin e plugineve pĂ«r redaktorin. ĂshtĂ« siguruar qasje nĂ« tĂ« gjithĂ« funksionalitetin e redaktorit pĂ«rmes klasĂ«s EditorInterface. JanĂ« realizuar metoda tĂ« pĂ«rshtatshme pĂ«r qasje tĂ« drejtpĂ«rdrejtĂ« nĂ« pamjet 2D dhe 3D. ĂshtĂ« shtuar mundĂ«sia pĂ«r tĂ« kaluar nĂ« njĂ« dialog paralajmĂ«rimi pĂ«r ndryshime tĂ« pa ruajtura.
- Ka vazhduar zhvillimi i sistemit eksperimental tĂ« zgjerimeve GDExtension, i cili lejon pĂ«rdorimin e gjuhĂ«ve tĂ« nivelit tĂ« ulĂ«t, si C++, si gjuhĂ« pĂ«r krijimin e skenareve pĂ«r lojra, pa riprodhim tĂ« motorit dhe pa bĂ«rĂ« ndryshime nĂ« kod. ĂshtĂ« shtuar mundĂ«sia e pĂ«rdorimit tĂ« GDExtensions gjatĂ« eksportit nĂ« Web.
- NĂ« ndĂ«rfaqen e pĂ«rdoruesit Ă«shtĂ« ndryshuar menaxhimi i fokusit. ĂshtĂ« realizuar mundĂ«sia e kalimit tĂ« fokusit nĂ« skedat e veçanta nĂ« panelin e skedave, pĂ«rfshirĂ« navigimin me pĂ«rdorimin e tastierĂ«s. NĂ« njĂ«sitĂ« e kontrollit (Control) Ă«shtĂ« shtuar njĂ« metodĂ« pĂ«r tĂ« kĂ«rkuar elementin e ardhshĂ«m fshikullues. NjĂ«sitĂ« e ndĂ«rtimit tĂ« grafikĂ«ve (GraphEdit dhe GraphNode) janĂ« rishikuar nĂ« mĂ«nyrĂ« tĂ« konsiderueshme. MundĂ«sitĂ« pĂ«r tĂ« personalizuar panelin e mjeteve tĂ« njĂ«sisĂ« kryesore GraphEdit janĂ« zgjeruar.

- ĂshtĂ« shtuar mundĂ«sia pĂ«r tĂ« ndryshuar llojin e importit tĂ« aseteve nĂ« fluks me pĂ«rditĂ«simin automatik tĂ« skenave dhe burimeve, pa kĂ«rkuar rinisjen e redaktorit. JanĂ« zgjeruar parametrat e disponueshĂ«m pĂ«r importin dhe Ă«shtĂ« ofruar mundĂ«sia pĂ«r tĂ« ndryshuar pronat fizike tĂ« objekteve tĂ« importuara, si dhe parametrat e hijave dhe dukshmĂ«risĂ«. ĂshtĂ« shtuar mundĂ«sia e parregjistrimit tĂ« animacionit nĂ« dritaren e importit. ĂshtĂ« zgjeruar mbĂ«shtetja pĂ«r importin e aseteve nga Blender nĂ« formatin GLTF. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r importin e imazheve nĂ« formatin KTX.

- JanĂ« bĂ«rĂ« optimizime me qĂ«llim rritjen e performancĂ«s sĂ« renderimit. PĂ«r tĂ« pĂ«rshpejtuar funksionimin nĂ« pajisjet mobile, Ă«shtĂ« realizuar ndarja e barrierave raster nĂ« komponente vertikale dhe fragmentare. JanĂ« pĂ«rshpejtuar gjenerimi i teksturave me zhurmĂ«. ĂshtĂ« shtuar njĂ« kalim paraprak pĂ«r llogaritjen e thellĂ«sisĂ«. ĂshtĂ« zvogĂ«luar koha e ngarkimit dhe kompilimit tĂ« shaderĂ«ve. ĂshtĂ« optimizuar ruajtja e rrjeteve poligonale nĂ« memorie. ĂshtĂ« shtyrĂ« mbĂ«shtetje pĂ«r kompresimin e rrjeteve poligonale pĂ«r tĂ« ulur kapacitetin e nevojshĂ«m gjatĂ« transferimit tĂ« tyre.
- ĂshtĂ« shtuar mundĂ«sia pĂ«r tĂ« krijuar objektet tuaja teksturale (shembuj pĂ«rdorimi i shaderĂ«ve pĂ«r llogaritje pĂ«r krijimin e teksturĂ«s me efektin e ujit).
- ĂshtĂ« shtuar API pĂ«r thirrjen e kodit nĂ« rrjedhĂ«n e renderimit, gjĂ« qĂ« mund tĂ« kĂ«rkohet, pĂ«r shembull, kur Ă«shtĂ« e nevojshme tĂ« sinkronizohet shader-i pĂ«r llogaritje me renderimin.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r versionin 2.2 tĂ« teknologjisĂ« sĂ« super-samplingut AMD FSR (FidelityFX Super Resolution), e cila pĂ«rdor algoritmo pĂ«r shkallĂ«zim hapĂ«sinor dhe ricreimin e detajeve pĂ«r tĂ« reduktuar humbjen e cilĂ«sisĂ« sĂ« imazhit gjatĂ« zgjerimit dhe konvertimit nĂ« njĂ« rezolutĂ« mĂ« tĂ« lartĂ«.
- Një modifikues i ri zhurmash JNLM është propozuar, duke përdorur karta ndriçimi (lightmapper) dhe shader të llogaritjes. JNLM është ndjeshëm më i shpejtë se biblioteka e mëparshme për eliminimin e zhurmave OIDN (Open Image Denoise), por në disa situata i dorëzohet cilësisë.
- Metodat e renderimit Forward+ dhe Mobile kanë marrë mbështetje për 2D-shkronjën në gamë të zgjeruar dinamike të ndriçimit (HDR), e cila lejon realizimin e disa efekteve 3D në lojërat 2D, si shkëlqimi. Metoda e renderimit Compatibility ka marrë mbështetje për hije tridimensionale.
- Për macOS dhe Windows është propozuar një driver i ri për renderimin OpenGL, duke përdorur një ndërmjetës ANGLE, i cili përkthen thirrjet OpenGL në API Direct3D 11 dhe Metal.
- Sistemi i simulimit tĂ« grimcave Ă«shtĂ« ri-projektuar pĂ«r tĂ« thjeshtuar mbĂ«shtetje dhe pĂ«r tĂ« zgjeruar kontrollin mbi lĂ«vizjen e grimcave. PĂ«r shembull, tani Ă«shtĂ« e mundur tĂ« animoni dhe trashĂ«goni shpejtĂ«sinĂ« e lĂ«vizjes, si dhe tĂ« ndryshoni numrin e grimcave qĂ« lĂ«shohen. ĂshtĂ« shtuar njĂ« mjet pĂ«r tĂ« konvertuar kodin e gjenerimit tĂ« grimcave qĂ« pĂ«rdor CPU, nĂ« kodin ekuivalent qĂ« pĂ«rdor GPU.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r pĂ«rdorimin e dialogĂ«ve tĂ« natyrshĂ«m pĂ«r Linux, macOS dhe Windows pĂ«r zgjedhjen e skedarĂ«ve, si dhe mundĂ«sia e kopjimit dhe ngjitjes sĂ« imazheve nĂ«pĂ«rmjet shkĂ«mbyesit tĂ« dhĂ«nash.
- Arkitektura e Godot për platformën Android është ristrukturizuar, duke eliminuar lidhjen me komponentin Android Fragment, çka ka sjellë një reduktim të kohës së nisjes së aplikacioneve dhe lojërave, si dhe mundësinë e punës me disa dritare.
- Janë krijuar ndërtimet zyrtare të Linux të redaktorit Godot për platformat ARM 32- dhe 64-bit.
Burimi: opennet.ru











