Po 10 miesiącach rozwoju wydanie darmowego silnika do gier , odpowiedniego do tworzenia gier 2D i 3D. Silnik wspiera prosty w nauce język do zadań logiki gry, graficzne środowisko do projektowania gier, system wdrażania gier jednym kliknięciem, szerokie możliwości animacji i symulacji procesów fizycznych, wbudowany debugger oraz system identyfikacji wąskich gardeł w wydajności. Kod silnika gry, środowiska do projektowania gier oraz towarzyszących narzędzi deweloperskich (silnik fizyczny, serwer dźwiękowy, backendy do renderowania 2D/3D itd.) na licencji MIT.
Źródła silnika zostały w 2014 roku opracowane przez studio , po dziesięciu latach rozwoju własnościowego produktu na profesjonalnym poziomie, który był wykorzystywany do tworzenia i publikacji na PC, konsole do gier i urządzenia mobilne. Silnik wspiera wszystkie popularne platformy komputera stacjonarnego i mobilnego (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), a także rozwój gier dla sieci Web. Gotowe do uruchomienia binarne wersje są dostępne dla systemów Linux, Windows i macOS.
W rozwijana jest renderowania oparty na API graficznym Vulkan, który zostanie zaproponowany w następnym wydaniu Godot 4.0, zamiast obecnie oferowanych backendów renderowania przez OpenGL ES 3.0 i OpenGL 3.3 (wsparcie dla OpenGL ES i OpenGL zostanie zachowane poprzez działanie starego backendu OpenGL ES 2.0/OpenGL 2.1 na nowej architekturze renderowania opartej na Vulkan). Przejście z Godot 3.2 na Godot 4.0 będzie wymagało przebudowy aplikacji z powodu naruszenia zgodności na poziomie API, ale dla gałęzi Godot 3.2 zapewniony będzie długi cykl wsparcia, którego długość będzie zależała od zapotrzebowania użytkowników na tę gałąź. W międzyczasie w wersjach 3.2.x również nie wyklucza się portowania nowości, które nie wpływają na stabilność z gałęzi 4.x, takich jak wsparcie , , i platformy .
Główne nowości Godot 3.2:
- Dodano wsparcie dla zestawów słuchawkowych wirtualnej rzeczywistości Oculus Quest, realizowane na bazie dla platformy Android. Dla rozwoju systemów rozszerzonej rzeczywistości dla iOS dodano wsparcie frameworku . Dla Androida rozwija się wsparcie frameworku , ale nie jest jeszcze gotowe i zostanie dołączone w jednej z wydań pośrednich 3.3.x;

- interfejsu wizualnego edytora shaderów. nowe węzły do tworzenia bardziej zaawansowanych shaderów. Dla shaderów realizowanych za pomocą klasycznych skryptów dodano wsparcie dla stałych, tablic i modyfikatorów „varying”. Wiele shaderów specyficznych dla backendu OpenGL ES 3.0 zostało przeniesionych do OpenGL ES 2;
- Wsparcie dla fizycznie poprawnego renderowania materiałów (PBR) zostało zsynchronizowane z możliwościami nowych silników renderowania PBR, takich jak Blender Eevee i Substance Designer, aby zapewnić podobne wyświetlanie sceny w Godot i używanych pakietach modelowania 3D;
- Przeprowadzono optymalizację różnych ustawień renderowania w celu zwiększenia wydajności i poprawy jakości obrazu. W backendzie GLES3 przeniesiono wiele możliwości z GLES3, w tym wsparcie dla metody wygładzania MSAA (Multisample anti-aliasing) oraz różne efekty postprocessingu (bloom, rozmycie DOF i BCS);
- Dodano pełne wsparcie dla importu scen 3D i modeli w formacie glTF 2.0 (GL Transmission Format) oraz wstępne wsparcie formatu FBX, które pozwala na import scen z animacją z Blendera, ale jest jeszcze niekompatybilne z Maya i 3ds Max. Dodano wsparcie dla skinów szkieletowych przy imporcie scen przez glTF 2.0 i FBX, co pozwala na użycie jednego szkieletu w wielu siatkach.
Prace nad poprawą i stabilizacją wsparcia dla glTF 2.0 prowadzone są we współpracy z społecznością deweloperów pakietu Blender, w którym ulepszone wsparcie dla glTF 2.0 będzie dostępne w wersji 2.83; - Możliwości sieciowe silnika zostały rozszerzone o wsparcie dla protokołów WebRTC i WebSocket, a także możliwością używania UDP w trybie multicast. do korzystania z kryptograficznych hashy i pracy z certyfikatami. Dodano interfejs graficzny do profilowania aktywności sieciowej. Rozpoczęto prace nad stworzeniem portu Godot dla
WebAssembly/HTML5, który umożliwi uruchomienie edytora w przeglądarce przez Web; - Przeprojektowano dla platformy Android oraz system eksportu. Teraz do tworzenia pakietów dla Androida oferowane są dwa różne systemy eksportu: jeden z wstępnie zbudowanym silnikiem, a drugi pozwalający na tworzenie własnych kompilacji na podstawie dostosowanych wariantów silnika. Konfigurację własnych kompilacji można przeprowadzać na poziomie wtyczki dla Androida, bez ręcznej edycji domyślnego szablonu;
- Do edytora dodano wsparcie dla selektywnego możliwości, takie jak możliwość usunięcia przycisków do uruchamiania edytora 3D, edytora skryptów, biblioteki zasobów, węzłów, paneli, właściwości i innych elementów, które nie są potrzebne deweloperowi (ukrycie zbędnych elementów znacznie upraszcza interfejs);
- Dodano początkowe wsparcie dla integracji z systemami zarządzania kodem źródłowym oraz wprowadzono wtyczkę do obsługi Git
w edytorze; - Udostępniono możliwość przedefiniowania kamery dla uruchomionej gry przez okno w edytorze, co daje możliwość oceny różnych trybów w grze (wolny przegląd, inspekcja węzłów itp.);
- Zaprezentowano implementację serwera LSP (Language Server Protocol) dla języka GDScript, umożliwiającą przesyłanie informacji o semantyce GDScript oraz zasadach autouzupełniania do zewnętrznych edytorów, takich jak wtyczka VS Code i Atom;
- Wprowadzono liczne ulepszenia w wbudowanym edytorze skryptów GDScript: dodano możliwość ustawiania zakładek w kodzie, wprowadzono panel minimapy (do szybkiego przeglądu całego kodu), poprawiono autouzupełnianie wejścia, możliwości trybu wizualnego projektowania skryptów;
- Dodano tryb tworzenia pseudo-gier 3D, umożliwiający wykorzystanie efektu głębokości w grach 2D poprzez zdefiniowanie kilku warstw, tworzących fiktywną perspektywę;

- W edytorze 2D wsparcie dla atlasów tekstur;
- W GUI zmodernizowano proces rozmieszczania kotwic i granic obszarów;
- Dla danych tekstowych dodano możliwość obserwowania w czasie rzeczywistym zmian parametrów efektów, zapewniono wsparcie dla tagów BBCode i możliwość definiowania własnych efektów;
- generator strumieni dźwiękowych, umożliwiający tworzenie fal dźwiękowych na podstawie poszczególnych klatek oraz analizatora spektralnego;
- Za pomocą biblioteki zrealizowano możliwość rozkładu wklęsłych siatek na dokładne i uproszczone wypukłe części. Możliwość ta znacznie upraszcza generowanie form kolizji dla istniejących siatek 3D;

- Zrealizowano możliwość tworzenia logiki gier w języku C# z użyciem Mono dla platform Android i WebAssembly (wcześniej C# był wspierany dla systemów Linux, Windows i macOS). Na bazie Mono 6.6 wprowadzono wsparcie dla C# 8.0. Dla C# zrealizowano również wstępne wsparcie dla kompilacji wyprzedzającej (AOT, ahead-of-time), która została dodana do bazy kodowej, ale obecnie nie jest aktywna (dla WebAssembly używany jest obecnie interpreter). W celu edytowania kodu C# wprowadzono możliwość podłączenia zewnętrznych edytorów, takich jak MonoDevelop, Visual Studio for Mac i Jetbrains Rider;
- Wyraźnie rozszerzone i ulepszone . Opublikowano częściowy na język polski ( wprowadzenie do rozpoczęcia pracy).
Źródło: opennet.ru



