Выложил ролик с обновленной демкой автомобильной физики. Скачать свежую сборку можно на GitHub и на GameJolt.
YouTube, конечно, замедляют/блокируют, но я не собираюсь от него отказываться и переходить на другие видеохостинги — VK Video неудобный до жути, да и аудитория там не моя совсем.
Традиционно подвожу итоги за уходящий год. Выдалось очень много свободного времени для хобби-проектов — я не только хорошо поработал над движком, но и изучил множество новых для себя технологий.
Перенес почти все свои онлайн-ресурсы на новый сервер. Блог переехал на новый домен и был переименован в PixelPerfect Blog. Заодно я добавил некоторые оптимизации, за счет которых он теперь работает заметно быстрее;
Выпустил множество версий Dagon, от 0.19 до 0.36. Я перешел на новый итеративный принцип обновлений: теперь релизы выходят по мере добавления небольших наборов фич, вместо того, чтобы по полгода накапливать много изменений. В этом году движок был очень серьезно обновлен, перечислю тут лишь наиболее важное.
Состоялся переход на OpenGL 4.3;
Добавлена поддержка вычислительных шейдеров;
Появилась поддержка GPU-скиннинга и анимированных моделей glTF;
Реализована поддержка HiDPI;
Реализовано расширение для работы с устройствами виртуальной реальности посредством OpenVR;
В систему событий добавлена многопоточность с асинхронным обменом сообщениями между потоками;
Улучшена система загрузки текстур: изображения теперь загружаются через библиотеку SDL2_Image, что обеспечивает поддержку новых форматов — WebP, AVIF, SVG и многих других. Также реализована поддержка текстур в формате KTX/KTX2 с транскодированием из Basis Universal в различные профили аппаратного сжатия. Добавлена поддержка анизотропной фильтрации текстур;
Встроенный звуковой движок на основе SoLoud;
Поддержка видео на основе libVLC;
Поддержка теней для позиционных источников света (PSM и DPSM);
Объемное рассеивание для позиционных источников света;
Префильтрация кубических карт;
Бокс-проекция для зондов окружения;
Упрощенный рендер SimpleRenderer для казуальных игр и ретро-графики;
Шейдер океана;
Шейдер луж для ландшафта;
Поддержка Matcap-проекций для текстур;
Встроенная система проверки столкновений;
Логгер;
Простой GUI-тулкит;
Поддержка нескольких игровых контроллеров;
Ввод с Wintab-совместимых графических планшетов с учетом силы нажатия;
Написал биндинги к Vulkan, GLSLang, SPIRV-Cross, PhysFS. Все мои биндинги теперь живут в GitHub-организации DLangGamedev;
Значительно обновил Chillwave Drive, демку физики автомобиля;
Начал работу над GScript3, третьей версией моего скриптового языка;
Форкнул Programmer’s Notepad, мой любимый текстовый редактор под Windows, и выпустил три новые версии, 2.5, 2.6 и 2.7, с несколькими важными изменениями по сравнению с оригиналом;
Выход в ранний доступ InZOI, next-gen симулятора жизни с реалистичной графикой — это первый в истории серьезный конкурент серии The Sims. Несмотря на сыроватый геймплей, игра поражает технологическим уровнем, особенно возможностями встроенных нейросетей для генерации моделей;
GreenSock Animation Platform, самый мощный фреймворк браузерной анимации, стал полностью бесплатным. Я использую GSAP во всех своих коммерческих браузерных играх, так что новость для меня весьма радостная.
Вышла новая версия движка, в которой добавлена поддержка таймеров (Application.setTimer и событие Timer) и новый модуль dagon.core.sysinfo, предоставляющий базовую информацию об аппаратно-программной платформе, на которой запущено приложение. Исправлен забагованный метод Properties.serialize, реализована поддержка текстур в формате WebP в загрузчике glTF (расширение EXT_texture_webp для текстур), добавлена поддержка Entity.blurMask в режиме прямого рендеринга. Объект NewtonMeshShape в расширении dagon:newton теперь можно создавать с передачей матрицы трансформации, которая применяется ко всем вершинам меша. Также добавлен Dagon Platform — комплект для разработки игр под Dagon на языке GScript3, о нем я расскажу подробнее в одном из следующих постов.
Chillwave Drive 0.2.0
Демка автомобильной физики значительно обновлена: улучшена графика, модель машины заменена на McLaren GT, исправлено множество мелких недочетов в симуляторе, благодаря чему демка теперь адекватно поддерживает заднеприводные авто, а также устранен баг в модели колес, который создавал лишнюю боковую силу в некоторых ситуациях. Я решил развивать Chillwave Drive в качестве полноценной игры, в связи с чем создал соответствующую страничку на сайте GameJolt. Вероятнее всего, это будет симкейд для расслабляющего вождения, в котором можно добавлять собственные машины, настраивать окружение и т.д.