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ë falas. Kjo është vetëm një nga shumë privilegjet që ofrojmë për klientët tanë të rinj të web-hosting. 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











