ПО ПРОСБА НА РАБОТНИЦИТЕ! Взето от опендета.
След 10 месеца разработка е публикувана версия на свободен игрови движок Godot 3.2, подходяща за създаване на 2D и 3D игри. Движокът поддържа лесен за изучаване език за игрова логика, графична среда за проектиране на игри, система за разгръщане на игри с едно кликване, широки възможности за анимация и симулация на физически процеси, вграден дебъгер и система за откриване на тесни места в производителността. Кодът на игровия движок, средата за проектиране на игри и свързаните инструменти за разработка (физически движок, звуков сървър, бекендове за 2D/3D рендериране и т.н.) се разпространяват под лиценз MIT.
Изходните кодове на движка бяха открити през 2014 г. от студията OKAM, след десет години развитие на собствен продукт професионално ниво, който беше използван за създаване и публикуване на много игри за PC, игрови конзоли и мобилни устройства. Движокът поддържа всички популярни стационарни и мобилни платформи (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), както и разработка на игри за Web. Готовите за стартиране бинарни сборки са изготвени за Linux, Windows и macOS.
В отделна клонка се развива нов бекенд за рендериране на базата на графичното API Vulkan, който ще бъде предложен в следващото издание на Godot 4.0, вместо предлаганите в момента бекенди за рендериране чрез OpenGL ES 3.0 и OpenGL 3.3 (поддръжката на OpenGL ES и OpenGL ще бъде запазена чрез осигуряване на работа на стария бекенд OpenGL ES 2.0/OpenGL 2.1 върху новата архитектура за рендериране на базата на Vulkan). Преминаването от Godot 3.2 на Godot 4.0 ще изисква преработка на приложенията поради несъвместимост на ниво API, но за клона Godot 3.2 ще бъде осигурен дълъг цикъл на поддръжка, чиято продължителност ще зависи от търсенето на този клон от потребителите. В междинните издания 3.2.x също не се изключва пренос на нововъведения, които не влияят на стабилността, от клона 4.x, като поддръжка на AOT компилация, ARCore, DTLS и платформа iOS за проекти на C#.
Основни нововъведения в Godot 3.2:
- Добавена е поддръжка за виртуалните шлемове Oculus Quest, реализирана на базата на плъгин за платформата Android. За разработка на системи за разширена реалност за iOS е добавена поддръжка за фреймворка ARKit. За Android се развива поддръжка за фреймворка ARCore, но тя все още не е готова и ще бъде включена в едно от междинните издания 3.3.x;
- Преработен интерфейс на визуалния редактор на шейдери. Добавени са нови възли за създаване на по-усъвършенствани шейдери. За шейдери, реализирани с класически скриптове, е добавена поддръжка на константи, масиви и модификатори «varying». Много шейдери, специфични за бекенда OpenGL ES 3.0, са портнати за OpenGL ES 2;
- Подкрепата за физически коректно рендериране на материали (PBR) е синхронизирана с възможностите на новите PBR рендеринг двигатели, като Blender Eevee и Substance Designer, за да осигури сходно представяне на сцената в Godot и използваните пакети за 3D моделиране;
- Оптимизирани са различни настройки за рендериране, за да се повиши производителността и да се увеличи качеството на изображението. Много функции от GLES3 са прехвърлени в бекенда GLES3, включително поддръжка на метода на антиалиасинг MSAA (Multisample anti-aliasing) и различни ефекти за постобработка (светене, DOF размъстване и BCS);
- Добавена е пълна поддръжка за импорт на 3D сцени и модели във формат glTF 2.0 (GL Transmission Format) и е добавена начална поддръжка за формата FBX, който позволява импорт на сцени с анимация от Blender, но все още не е съвместим с Maya и 3ds Max. Добавена е поддръжка на скинове на скелета при импорт на сцени чрез glTF 2.0 и FBX, позволяваща използването на едно скелето в няколко меша. Работата по подобряване и стабилизиране на поддръжката на glTF 2.0 е извършена съвместно с общността на разработчиците на пакета Blender, в който подобрената поддръжка на glTF 2.0 ще бъде предложена в версия 2.83;
- Мрежовите възможности на двигателя са разширени с поддръжка на протоколи WebRTC и WebSocket, както и с възможността за използване на UDP в multicast режим. Добавен е API за работа с криптографски хешове и сертификати. Добавен е графичен интерфейс за профилиране на мрежовата активност. Започна работата по създаването на порт на Godot за WebAssembly/HTML5, който ще позволява стартирането на редактора в браузера чрез Web;
- Преработен е плъгинът за платформата Android и системата за експортиране. Сега за формиране на пакети за Android се предлагат две отделни системи за експорт: една с предварително компилиран двигател и втора, която позволява формирането на собствени версии на базата на кастомизирани варианти на двигателя. Настройката на собствените сборки може да се извършва на ниво плъгин за Android, без ръчно редактиране на изходния шаблон;
- В редактора е добавена поддръжка за селективно деактивиране на отделни възможности, например, може да се премахнат бутоните за достъп до 3D редактора, редактора на скриптове, библиотеката с ресурси, възлите, панелите, свойствата и други елементи, които не са необходими на разработчика (скриването на ненужното значително опростява интерфейса);
- Добавена начална поддръжка за интеграция с системи за управление на изходния код и реализиран плъгин за поддръжка на Git в редактора;
- Предоставена е възможност за преопределяне на камерата за стартиране на играта през прозореца в редактора, което позволява оценка на различни режими в играта (свободен изглед, инспектиране на възли и т.н.);
- Предложена е реализация на LSP (Language Server Protocol) сървър за GDScript, позволяваща предаване на информация за семантиката на GDScript и правила за автоматично довършване на кода на външни редактори като VS Code плугин и Atom;
- Направени са многобройни подобрения в вградения редактор на GDScript: добавена е възможност за поставяне на отметки на позиции в кода, реализирана е минимап панел (за бърз преглед на целия код), подобрено е автоматичното довършване на ввода, разширени са възможностите на режима за визуално проектиране на скриптове;
- Добавен е режим за създаване на псевдо-3D игри, позволяващ използването на ефект на дълбочина в двумерни игри чрез определяне на множество слоеве, формиращи фиктивна перспектива;
- В 2D редактора е върната поддръжката на атласи текстури;
- В GUI е модернизиран процесът на поставяне на якори и граници на областите;
- За текстовите данни е добавена възможност за наблюдение в реално време на промените в параметрите на ефектите, осигурена е поддръжка на BBCode тагове и възможност за определяне на собствени ефекти;
- Добавен е генератор на звукови потоци, позволяващ създаване на звукови вълни на базата на отделни кадри и спектрален анализатор;
- С помощта на библиотеката V-HACD е реализирана възможност за разлагане на вдлъбнати мрежи на точни и опростени изпъкнали части. Тази възможност значително опростява генерирането на форми за сблъсък за съществуващите 3D мрежи;
- Реализирана е възможност за разработка на игрова логика на C# с използването на Mono за платформите Android и WebAssembly (по-рано C# се поддържаше за Linux, Windows и macOS). На база на Mono 6.6 е реализирана поддръжка на C# 8.0. За C# е реализирана начална поддръжка на предварителна компилация (AOT, ahead-of-time), която е добавена в кодовата база, но все още не е активирана (за WebAssembly все още се използва интерпретатор). За редактиране на кода на C# е реализирана възможност за свързване на външни редактори, като MonoDevelop, Visual Studio for Mac и Jetbrains Rider;
- Забележително е разширена и подобрена документацията. Публикуван е частичен превод на документацията на български език (преведено е въведението за работа с продукта).
Източник: linux.org.ru

