NA ZÁKLADĚ ŽÁDOSTÍ PRACUJÍCÍCH! Získáno z opennetu.
Po 10 měsících vývoje byl vydán nový svobodný herní engine Godot 3.2, vhodný pro vytváření 2D a 3D her. Engine podporuje snadno naučitelný jazyk pro zadávání herní logiky, grafické rozhraní pro návrh her, systém nasazení her jedním kliknutím, široké možnosti animace a simulace fyzikálních procesů, integrovaný debugger a systém pro odhalování úzkých míst ve výkonu. Kód herního engine, návrhového prostředí a souvisejících vývojových nástrojů (fyzikální engine, zvukový server, backendy pro 2D/3D renderování atd.) je distribuován pod licencí MIT.
Zdrojové kódy engine byly zveřejněny v roce 2014 studií OKAM, po deseti letech vývoje proprietárního produktu profesionální úrovně, který byl použit pro tvorbu a publikaci mnoha her pro PC, herní konzole a mobilní zařízení. Engine podporuje všechny populární desktopové a mobilní platformy (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), a také vývoj her pro Web. Hotové binární sestavy jsou vytvořeny pro Linux, Windows a macOS.
V samostatném větvení se vyvíjí nový renderovací backend založený na grafickém API Vulkan, který bude nabízen v příští verzi Godot 4.0, namísto nyní nabízených renderovacích backendů pomocí OpenGL ES 3.0 a OpenGL 3.3 (podpora OpenGL ES a OpenGL bude zachována prostřednictvím zajištění funkce starého backendu OpenGL ES 2.0/OpenGL 2.1 na nové architektuře renderování založené na Vulkan). Přechod z Godot 3.2 na Godot 4.0 bude vyžadovat přepracování aplikací kvůli porušení kompatibility na úrovni API, ale pro větev Godot 3.2 bude zajištěn dlouhý cyklus podpory, jehož délka bude záviset na poptávce této větve ze strany uživatelů. Do mezivydání 3.2.x také nebude vyloučena portace novinek, které neovlivňují stabilitu, z větve 4.x, jako je podpora AOT kompilace, ARCore, DTLS a platformy iOS pro projekty v C#.
Hlavní novinky Godot 3.2:
- Byla přidána podpora pro virtuální brýle Oculus Quest implementovaná na základě pluginu pro platformu Android. Pro vývoj systémů rozšířené reality pro iOS byla přidána podpora frameworku ARKit. Pro Android se vyvíjí podpora frameworku ARCore, která však zatím není hotová a bude zahrnuta v jedné z meziproduktových verzí 3.3.x;
- Bylo přepracováno rozhraní vizuálního editoru shaderů. Byly přidány nové uzly pro vytváření pokročilejších shaderů. Pro shadery implementované klasickými skripty byla přidána podpora konstant, polí a modifikátorů „varying“. Mnoho shaderů specifických pro backend OpenGL ES 3.0 bylo portováno pro OpenGL ES 2;
- Podpora fyzikálně správného renderování materiálů (PBR) byla synchronizována s možnostmi nových motorů PBR renderování, jako jsou Blender Eevee a Substance Designer, aby se zajistilo podobné zobrazení scény v Godot a používaných balíčcích 3D modelování;
- Byla provedena optimalizace různých nastavení renderování pro zvýšení výkonu a zvýšení kvality obrazu. Do backendu GLES3 byly přeneseny mnohé možnosti z GLES3, včetně podpory metody vyhlazování MSAA (Multisample anti-aliasing) a různých efektů post-processing (záření, DOF rozostření a BCS);
- Byla přidána plná podpora importu 3D scén a modelů ve formátu glTF 2.0 (GL Transmission Format) a byla přidána počáteční podpora formátu FBX, která umožňuje importovat scény s animacemi z Blenderu, ale zatím není kompatibilní s Maya a 3ds Max. Byla přidána podpora skinů kostry při importu scén přes glTF 2.0 a FBX, což umožňuje používat jednu kostru ve více meshech. Práce na zlepšení a stabilizaci podpory glTF 2.0 byla provedena ve spolupráci s komunitou vývojářů balíčku Blender, kde bude vylepšená podpora glTF 2.0 nabídnuta v verzi 2.83;
- Síťové možnosti enginu byly rozšířeny podporou protokolů WebRTC a WebSocket, stejně jako možností použít UDP v režimu multicast. Byl přidán API pro použití kryptografických hashů a práci se certifikáty. Byl přidán grafický rozhraní pro profilování síťové aktivity. Byla zahájena práce na vytvoření portu Godot pro WebAssembly/HTML5, který umožní spouštět editor v prohlížeči přes web;
- Byl přepracován plugin pro platformu Android a exportní systém. Nyní jsou k dispozici dva samostatné exportní systémy pro přípravu balíčků pro Android: jeden s předcompiled engine a druhý, který umožňuje vytvářet vlastní buildy na základě přizpůsobených variant engine. Nastavení vlastních buildů lze provádět na úrovni pluginu pro Android, bez ručního upravování základní šablony;
- Do editoru byla přidána podpora selektivního vypnutí jednotlivých funkcí, například je možné odstranit tlačítka pro otevření 3D editoru, editoru skriptů, knihovny zdrojů, uzlů, panelů, vlastností a dalších prvků, které nejsou pro vývojáře potřebné (skrytí nadbytečných prvků výrazně usnadňuje rozhraní);
- Byla přidána počáteční podpora integrace s systémy správy verzí a realizován plugin pro podporu Git v editoru;
- Byla poskytnuta možnost předefinování kamery pro spuštěnou hru prostřednictvím okna v editoru, což umožňuje hodnocení různých režimů ve hře (svobodný pohled, inspekce uzlů atd.);
- Bylo navrženo provedení serveru LSP (Language Server Protocol) pro jazyk GDScript, umožňující předávat informace o sémantice GDScript a pravidlech automatického doplňování kódu do externích editorů, jako je plugin pro VS Code a Atom;
- Bylo přidáno mnoho vylepšení do vestavěného editoru skriptů GDScript: byla přidána možnost nastavení záložek na místech v kódu, realizována panel minimapy (pro rychlý přehled celého kódu), vylepšeno automatické doplňování vstupu, rozšířeny možnosti režimu vizuálního návrhu skriptů;
- Byl přidán režim pro vytváření pseudo-3D her, který umožňuje použití hloubkového efektu ve 2D hrách prostřednictvím definování několika vrstev, které vytvářejí fiktivní perspektivu;
- Do 2D editoru byla vrácena podpora atlasů textur;
- V GUI byl modernizován proces umísťování kotev a hranic oblastí;
- Pro textová data byla přidána možnost sledovat v reálném čase změny parametrů efektů, byla zajištěna podpora BBCode tagů a možnost definovat vlastní efekty;
- Byl přidán generátor zvukových streamů, který umožňuje vytvářet zvukové vlny na základě jednotlivých snímků a spektrálního analyzátoru;
- Pomocí knihovny V-HACD byla implementována možnost rozdělení konkávních modelů na přesné a zjednodušené konvexní části. Tato funkce výrazně usnadňuje generaci kolizních tvarů pro existující 3D modely;
- Byla zavedena možnost vývoje herní logiky v jazyce C# s použitím Mono pro platformy Android a WebAssembly (dříve byl C# podporován pro Linux, Windows a macOS). Na základě Mono 6.6 byla zavedena podpora C# 8.0. Pro C# byla také uvedena základní podpora předběžné kompilace (AOT, ahead-of-time), která byla přidána do kódu, ale zatím není aktivována (pro WebAssembly se zatím používá interpret). Pro úpravu kódu C# byla zajištěna možnost připojení externích editorů, jako jsou MonoDevelop, Visual Studio for Mac a Jetbrains Rider;
- Byla výrazně rozšířena a vylepšena dokumentace. Byl zveřejněn částečný překlad dokumentace do češtiny (byl přeložen úvodní průvodce pro začátek práce).
Zdroj: linux.org.ru

