DagoBan возвращается! Игра, изначально написанная Mateusz Muszyński в целях демонстрации возможностей тулкита Nuklear в Dagon, недавно была портирована мной на актуальную версию движка. Сборку для Windows можно скачать здесь.
Напомню, DagoBan – это мини-клон Sokoban на D со встроенным редактором уровней.
Близится конец года, и это значит, что наступило время для традиционного подведения итогов. В наступающем 2022 году мой блог о разработке игр отмечает 10-летний юбилей!
Вышел Dagon 0.12. В новой версии добавлена начальная поддержка моделей формата glTF, поддержка кубических карт формата DDS, новый постэффект глубины резкости (Depth of Field). Изображения теперь декодируются при помощи stb_image, что сильно ускорило загрузку текстур. Старый физический движок dmech был заменен на Newton Dynamics. У меня еще много планов по движку: в первую очередь, хочу переделать систему загрузки текстур и реализовать поддержку KTX. В перспективе интересно было бы перенести Dagon на WebGPU, хотя об этом говорить пока рановато.
Вышли dlib 0.21, 0.22, 0.23. Это, в основном, исправляющие релизы. dlib приближается к релизу первой стабильной версии. Также я начал планировать архитектуру dlib 2.0.
Я окончательно перешел с Travis CI на GitHub Actions для тестирования моих проектов.
Журнал “FPS” был превращен в онлайн-издание. Было опубликовано много новых статей, продолжается разработка CMS, улучшается дизайн сайта. Возрождена группа журнала ВКонтакте.
За этот год мне удалось собрать донатов на сумму $165 (вышло чуть меньше, чем в 2020 году). Огромное спасибо всем, кто перечислил деньги! Эти средства частично покрыли затраты на покупку аппаратного обеспечения – в частности, нового системного блока HP Pavillion. На оплату хостинга и домена для сайта timurgafarov.ru ушло 2497 ₽. Итого (с учетом остатка с прошлого года) израсходовано 14337 ₽.
Ну и, конечно, не могу не назвать самые значимые для меня события в мире CG, СПО и геймдева:
Выход Blender 3.0. Очень впечатлил новый удобный браузер ресурсов
Поглощение Sketchfab и ArtStation компанией Epic Games
Выход Open 3D Engine, свободного движка на основе Amazon Lumberyard
WGSL – новый шейдерный язык, разрабатывающийся как часть стандарта WebGPU
Не все, наверное, знают, что я изучал разработку под PlayStation – с этой приставкой у меня связано множество ностальгических воспоминаний. Все началось в середине нулевых, в годы повального увлечения эмуляцией ретро-консолей – тогда появился свободный SDK MIPS-GCC с библиотеками от Blade, на основе которого энтузиасты создали PsOne Development Studio. К сожалению, этот SDK имел довольно ограниченные возможности – например, не поддерживал чтение файлов с CD, что мешало создавать на нем что-то серьезное.
По счастью, в какой-то момент в Сети появился оригинальный SDK, который использовался для разработки некоторыми студиями в 90-х – PsyQ от SN Systems Ltd и Psygnosis. Это полнофункциональный SDK, предоставляющий доступ ко всем возможностям приставки, а также содержащий подробную документацию. В процессе изучения PsyQ я накопил достаточно много всяких полезных штук и решил, в итоге, сделать для них небольшую страничку: https://psxdev.xtreme3d.ru.
Пока на сайте есть лишь архив утилит и документации – в скором времени планирую выложить также свои примеры и демки.
Вышла новая версия движка Dagon. Главное нововведение в этом релизе – поддержка моделей в формате glTF (gltf+bin). glTF представляет собой текстовое описание трехмерной сцены на основе JSON, хранящее всю информацию, необходимую для ее отрисовки (граф, материалы, текстуры и т.д.). Главной особенностью glTF является лейаут, оптимизированный по скорости загрузки – для передачи в графические API данные из glTF практически не нужно декодировать или конвертировать, поэтому сцены загружаются очень быстро.
Также значительно улучшен загрузчик текстур в формате DDS. Список поддерживаемых пиксельных форматов расширился (в частности, 32- и 16-битными RGBA с плавающей запятой), появилась поддержка кубических карт и mip-уровней. К примеру, теперь стало возможно загружать кубические карты с предрассчитанными зеркальными лепестками (specular lobes) для разных уровней шероховатости. Декодирование неигровых форматов изображений (PNG, JPEG и др.) в Dagon теперь осуществляется при помощи библиотеки stb_image, что в разы ускорило загрузку ресурсов. Как бесплатный бонус – появилась поддержка формата PSD.
Добавлен новый эффект постобработки Depth of Field (расфокусированность) с реалистичным боке и настройками оптики. Исправлены некоторые баги постобработки и отложенных эффектов – в частности, устранен артефакт “черных точек”.
На смену встроенному физическому движку dmech идет привязка к Newton Dynamics, реализованная как расширение dagon:newton (подключается к проекту как отдельная зависимость). Newton предоставляет отличный компромисс между производительностью и стабильностью симуляции, поддерживает все стандартные геометрические тела, а также поддержку физики для ландшафтов и произвольных объектов (автоматически генерирует выпуклые оболочки для мешей).