Недельный геймдев: #43 — 7 ноября, 2021
Из новостей на этой неделе: релиз Godot 3.4, Raylib 4, Character Creator 4, вышел язык программирования Luau с открытым исходным кодом от Roblox.
Из интересностей: доклад про боевую систему нового God Of War, попытка создать игру, используя реальные географические данные, советы по оптимизации игры на Unity под консоли.
Обновления/релизы/новости
Подоспел Godot 3.4
И хотя команда сейчас сосредоточена на выпуске 4.0, пользователям нужна стабильная и развивающаяся 3.x ветка для своих текущих проектов. Godot 3.4 совместим с проектами на 3.3.x, поэтому рекомендуется обновиться.
Список изменений довольно большой. Лучше почитайте статью в блоге на предмет того, есть ли важные лично для вас изменения.
Переделки в системе анимаций в Godot 4.0
Разработчики рассказали, какие улучшения ждут пользователей в предстоящей мажорной версии движка. Основное направление было в изменении подхода по работе с данными анимаций.
Улучшения шейдеров и визуального редактора в Godot 4.0
Член команды Godot, последние 18 месяцев работавший над улучшением языка шейдеров для Godot 4.0, рассказал про изменения в редакторе, языке шейдеров и визуальном редакторе шейдеров.
Вышел Raylib 4
Кросс-платформенный фреймворк на C с открытым исходным кодом получил важное обновление. Это первое крупное обновление с момента выпуска 3.7 в апреле.
Появилась Event Automation System, к доступным привязкам языков программирования добавились Odin и Zig, куча других улучшений.
Релизнулся Character Creator 4
Появилась поддержка не только гуманоидных существ, новый набор выражений лиц, стал доступен импорт ассетов, редактирование пропсов, оптимизация с помощью InstaLOD.
Язык программирования Luau с открытым исходным кодом от Roblox
Roblox — одна из самых успешных игр всех времён, ключевой особенность успеха является предоставление пользователям возможности создавать свои собственные миры. Раньше скрипты можно было писать на Lua. Со временем Roblox внесла несколько изменений и улучшений в Lua. В результате язык Luau был просто открыт под лицензией MIT. Luau является производным языка программирования Lua 5.1 с добавлением нескольких функций, ориентированных на разработку игр.
Golaem 8.0 добавил возможность взаимодействовать с симуляциями внутри Unreal Engine в реальном времени
Другие изменения включают в себя возможность визуализировать варианты затенения персонажей непосредственно в области просмотра Maya, а также новые инструменты компоновки толпы.
Первый взгляд на iClone 8
Новые функции обновления, которое должно выйти весной, включают Motion Director, новую систему для полуавтоматической анимации персонажей с использованием элементов управления в игровом стиле.
В выпуске также добавлены новый контрол риг на основе HumanIK, Pose Mixer, редактор анимационных слоёв, интегрированный редактор кривых и новые параметры для смешивания и зацикливания клипов.
В System Metrics Mali Package наружу вынесли новые каунтеры
System Metrics Mali предоставляет простой и расширяемый интерфейс для чтения аппаратных счётчиков GPU на GPU Arm. Эти метрики могут дать представление о том, какое влияние оказывают ваши изменения на аппаратном уровне.
В этой версии уменьшили размер бинаря, вынесли новые счётчики наружу.
Adobe выпустила Character Animator 22.0
Обновление добавляет Body Tracker, новую систему, которая отслеживает руки, туловище и ноги исполнителя, позволяя им выполнять анимацию всего тела для цифрового персонажа в режиме реального времени.
Портативный и эффективный доступ к продвинутым движкам 3D-рендеринга
Khronos Group анонсировала выпуск предварительного открытого стандартного API ANARI 1.0 для масштабируемой визуализации трехмерных данных. ANARI позволяет пользователям создавать описание сцены для генерации изображений, а не указывать детали процесса рендеринга, обеспечивая упрощенную разработку приложений визуализации и кросс-вендорную переносимость на различные механизмы рендеринга.
Новый игровой движок IRIS
Как написал автор на Реддите, движок был в разработке несколько лет.
Возможно кому-то будет интересно поковырять исходники в целях изучения.
Интересные статьи/видео
Эволюция боёвки God of War с новой перспективой
В своём выступлении на GDC в 2019 году Михир Шет из Sony Santa Monica Studio рассказал, как они прорабатывали боевую систему, чтобы предоставить новый игровой опыт. В видео говорится про работу с камерой, локсистему, автотаргет, систему приоритетов и уровня агрессии противников.
Создание умиротворяющей сцены в 3ds Max, Substance Painter и UE4
Абхишек Шарма рассказал о нюансах созданного UE4 проекта «Dock», обсудил процесс создания ассетов и показал, как создавались шейдеры для проектов.
Когда искусство встречается с магией: создание фантастического мира Lost in Random
The Kingdom of Random — это призрачный фантастический мир, где опасность и азарт подстерегают за каждым углом. Команда Unity обсудила с художником по окружению Лео Бринилссоном, креативным директором Оловом Редмальмом, арт-директором Виктором Беккером и 3D-художником Юноной Йоханом Холмом игру, чтобы глубоко погрузиться в процесс разработки и потрясающий художественный дизайн, составляющий Lost in Random.
Попытка создать игру, используя реальные географические данные
Исходники пока доступны только для подписчиков автора на Патреоне, но чуть позже в этом месяце станут доступны всем желающим.
Разработчики Armor Games поделились результатами эксперимента по переходу на 4-х-дневку
Пока всё положительно, решили продлить такой режим до конца года. Некоторые ключевые моменты:
С пятницей всё сложно, т. к. весь мир всё ещё работает, поэтому части команды приходилось немного переключаться на работу в этот день.
Пришлось пересмотреть работу QA.
Продуктивность либо осталось такой же, либо незначительно повысилась.
Больше времени на отдых, самообучение и т. п, что в итоге положительно сказывается на все аспекты как жизни в целом, так и работы.
Разработчик Curious Expedition обновил свою статью по продажам игры. Есть информация о продажах с 2014 по 2020 год
Автор также рассказал про различные эксперименты. Например, по его словам, от добавления поддержки модов не было особой отдачи.
В общем, довольно много полезной информации из первых уст про опыт коллег по цеху.
Как правильно использовать пулы в Unity
В видео рассказывается про работу с пулами для управления объектами. В том числе, приводится реализация на новых ObjectPool
.
Улучшение визуала с помощью Unity HDRP
Освещение может иметь решающее значение для задания правильного настроения в игре. В туториале рассказываются базовые принципы работы с HDRP в Unity, который ориентирован на реалистичность графики и позволяет настраивать рендеринг и постобработку с помощью C#.
Элитарность в геймдеве?
Наткнулся на обсуждение темы в недавнем посте на Реддите. Мнения, что логично, разделились. Кто-то про похожие наблюдения пишет, кто-то говорит, что не замечал такой проблемы.
В целом, довольно занятный тред, который, кмк, не появился бы, если бы такой проблемы не было.
Воссоздание странного аффинное мапинга текстур с PS1 с помощью шейдеров Unity
Игры на PlayStation 1 страдали странными графическими артефактами. Один из них называется аффинным деформированием текстуры, при котором текстуры стен и пола кажутся виляющими. В этом уроке рассмотрено, как современный графический пайплайн избегает этого эффекта, а затем приведена реализация, чтобы получить такой эффект в Unity.
Советы по оптимизации игры на Unity под консоли
Команда Unity на этот раз рассказала про оптимизации высококачественной графики на консолях. Поделились советами о том, как уменьшить количество батчей, каких шейдеров следует избегать, о параметрах рендеринга и многом другом.
Создание заброшенного туннеля в Maya, Substance и UE5
Эмиль Слегерс поделился статьёй про работу над проектом Abandoned Tunnel, рассказал о процессе создания асетов и объяснил, почему для этого проекта был выбран Unreal Engine 5.
Создание индикатора на противника в Unreal Engine
В туториале показано, как реализовать индикатор, который будет указывать на противника, последним нанёсшим урон игроку.
Туториал по аутлайну тени
В этом уроке показано, как сэмплить карты теней основного источника света, создать модель мультяшного освещения Ламберта и нарисовать контуры вокруг теней.
Создание 3d-персонажа в Three.js
В этом уроке рассмотрено создание трёхмерного персонажа с помощью Three.js, добавив простую, но эффективную анимацию и генеративную цветовую палитру.
Настоящие объёмные облака с HDRP в Unity 2021.2
На протяжении десятилетий плоские скайбоксы и HDRI были основными решениями для рендеринга неба и облаков. Теперь, благодаря совершенно новым объёмным облакам в HDRP, можно наполнять миры динамическими облаками. В первой итерации этой системы команда Unity сосредоточилась на производительности и простоте использования, поэтому вы можете создавать красивые визуальные эффекты за пару кликов при низкой нагрузке на GPU.
THE EYE: CALANTHEK исследует создание фильмов в реальном времени в Unreal Engine 5 Early Access
THE EYE: CALANTHEK — это загадочный и захватывающий короткометражный фильм от Aaron Sims Creative (ASC), созданный всего за шесть недель с помощью Unreal Engine 5 Early Access, MetaHuman Creator и небольшой команды художников. Премьера состоялась 28 октября на Shortnitemares, фестивале виртуальных короткометражек.
Команда Epic Games побеседовала с авторами фильма.
Почему кривые для анимации в Unity так полезны
В видео рассказывается о том, как можно применить кривые в Unity не только для анимаций, но и, к примеру, для настройки баланса и каких-то игровых конфигов.
Разное
Лоуполи танк T-72A
Созданная в 2016-2017 полная модель интерьера танка Т-72А.
Выпущен код алгоритма ADOP
ADOP изучает набор фотографий и превращает их в трёхмерную сцену, которую можно исследовать. Эффективная растеризация позволяет использовать произвольные модели камер и отображать сцены с более чем 100 миллионами точек в реальном времени.
А теперь можно посмотреть и сам алгоритм.