Недельный геймдев: #85 — 4 сентября, 2022
Из новостей: создатели Crypt of the NecroDancer начнут издавать игры других инди-разработчиков, Sony купила Savage Game Studios, Google добавила сторонние способы оплаты в Play Store для ряда стран.
Из интересностей: «Если ты не можешь загуглить это, то не используй» — про разработку EVE Online, порт Another World под Linux на R, документалка о том, как Disco Elysium переводили на русский язык, доклад про VFX в Returnal, реалистичная версия LoFi Girl в Blender и UE5.
Обновления/релизы/новости
Создатели Crypt of the NecroDancer начнут издавать игры других инди-разработчиков
В приоритете уникальные, реиграбельные и глубокие игры в жанрах с достаточно большой базой игроков (не сверхнишевые проекты).
Sony купила Savage Game Studios
Savage Game Studios открылась в 2020-м. В ее команде числятся бывшие сотрудники Rovio, Wargaming, Rockstar и Next Games, студией же руководит Михаил Каткофф, создавший известный блог Deconstructor of Fun.
Google добавила сторонние способы оплаты в Play Store для ряда стран
Это позволит разработчикам неигровых приложений использовать альтернативные системы оплаты. Комиссия, которая обычно составляет от 15% до 30%, при этом, снижается на 4%.
Дебютный трейлер RPG Maker Unite
Gotcha Gotcha Games выпустили первый трейлер своего движка, а также новую информацию и скриншоты, демонстрирующие Auto-Guide и Addon Manager.
Wicked Engine теперь в Steam
Мощный игровой движок с открытым исходным кодом на C++ вышел в Steam. В этой версии можно писать скрипты только на Lua, полноценный движко можно найти на GitHub.
Defold 1.3.5
Добавлена возможность мгновенно очищать порождённые частицы при остановке particlefx, новый параметры для нод: enabled и visible, добавлена поддержка отрисовки для нескольких целей рендеринга.
Пабло Добарро показал CozyBlanket 2.0
В обновлении будет добавлена поддержка UV-развёртки и запекания текстур, а также ретопологии, что позволит «подготовить модели к анимации, рисованию текстур и видеоиграм с помощью одного приложения».
Халява/раздачи/бандлы/курсы
Художник сделал более 125 лоуполи-моделей зданий, которые вы можете использовать в любом из своих проектов
Это всё по лицензии CC0 1.0 Universal.
Unity Tools Humble Bundle
В пак входит набор инструментов и шаблонов для Unity. Большая часть контента ранее не продавалась в других бандлах.
Интересные статьи/видео
«Если ты не можешь загуглить это, то не используй»: про разработку EVE Online
Неплохой доклад про бекенд EVE Online с GDC. Больше про то, как меняли подход к сервисам и культуру в команде.
Несколько моментов отметил:
7k C++ файлов, 12к SQL файлов, 20k на Питоне и…260к+ файлов и 50+ миллионов строк YAML’а ?
Начинали с кучи сервисов, которые, по сути, меш организовывали. Из-за этого сложно вводить/выводить новые подсистемы. Одна жирная БД. Для выкатки обновлений нужна вся команда, Монолит.
Потом сделали xml поверх http апишку с агрессивным кешированием.- Переехали на k8s (когда он ещё был в превью).
Взаимодействие сверисов сделали через message bus, что позволило кучу технического долга сбросить. Начали с Google pub/sub, потом пересели на Rabbit.
Ранее гоняли json’чики, потом переехали на протобаф, который органически помог выделить домейны и структурировать данные, т. к. с json’ами такой надобности не было, а тут прям протокол, по сути, форсит это делать. Ещё одна причина выбора протобафа — работа с gRPC. На базе моделей генерили C++ и Питоновский код. И…питоновский код использовал маршалинг в сишечку, что ещё и ускорило всё.
30% времени уходило на 3 вещи: сериализация, передача данных, мультиплекс (например, когда игрок стреляет, то это сообщение нужно прокинуть сотням других игроков). И третье практически бесплатно получается с message bus. А вот с сериализацией и передачей проблемки. Даже не смотря на быструю сериализацию, всё равно нужно ждать глобального лока, который ждёт результата от C++ кода. Тут я не совсем понял, что он имел ввиду, но, судя по всему, они ВСЁ связанное с gRPC вынесли из Питона в C++ часть и там в отдельных тредах обрабатывали.
Новые технологии не особо сложны, большая проблема в команде была именно в культурном плане. Когда столько лет работаешь с легаси и монолитом, то мыслишь определённым образом.
Николас говорит, что именно этот аспект работы и культуры было тяжелей всего переломить и изменить.
Из забавного. В команде в первые годы был принцип: если ты не можешь загуглить это, то не используй ?
P. S. держите в уме, что в первые годы разработки игры не было ни gRPC, ни Кубера, ни многих ныне популярных подходов.
Порт Another World под Linux на R
Думаю, многие слышали про язык R, который чаще всего используется для статистической обработки данных. Тем интересней было увидеть порт Another World на этом языке (сорсы на Гитхабе).
Всё благодаря Nara, оффскрин рендеринг буферу, избегающий выделения памяти (которые очень медленны в R). Ориентирован на рендеринг дискретных пикселей (без сглаживания), а все измерения округляются до целых значений перед рендерингом. Подробнее в самой статье можно почитать.
P. S. я в своё время перевод цикла статей про Another World делал. Можно почитать про порты на различные платформы.
Документалка о том, как Disco Elysium переводили на русский язык
Ребята из NikiStudio, в том числе, пообщались с главным редактором официальной локализации и коммьюнити-менеджером.
Поддержите отличный материал ?
Какие технологии, процессы и решения используют в Allods Team при разработке на Unreal Engine 4
Погружаемся в дебри рабочего процесса.
Разработка выживастика по мотивам Чернобыля на Unreal Engine
Тевфик Эмре Эфендиоглу поделился подробностями грядущей игры Nowhere: Mysterious Artifacts, рассказал о ее динамической системе погоды и объяснил, почему для разработки использовался Unreal Engine.
Создание графического бота для EVE Online на C# в WinForm
Параллельно и весьма удачно на Хабре вышел занимательный пост про Еву.
Совместная статья сотрудников Unity со специалистами из Arm про перенос встроенных шейдеров в Universal Render Pipeline
Разработчики из Arm недавно перенесли проект с Built-in Render Pipeline на Universal Render Pipeline (URP) и решили поделиться своим опытом с сообществом.
VFX в Returnal: можем ли мы сделать это с помощью частиц?
В докладе с GDC 2022 года Ристо Янккила и Шарман Джагадисан из Housemarque и Playstation Studios обсуждают, как студия использовала свою программируемую систему частиц для создания ключевых функций визуальных эффектов в Returnal. Охватывают объёмный туман, управляемые симуляцией жидкости в реальном времени и использование иерархий частиц для эффектов персонажей наподобие щупалец.
Архитектура в видеоиграх: как здания влияют на левел-дизайн
Владимир Семыкин специально для Манжет изучил, как игры используют архитектуру для организации игрового пространства и погружения игровой мир.
Использование Exoscript для приручения «нарративного осьминога» из I Was a Teenage Exocolonist
Как самодельный скриптовый язык Exoscript помог разработать гибкое повествование в открытом мире, состоящее почти из 600 тысяч слов.
Внеочередной урок по Godot 4.0: пиксели и RPG
Часть первая, в которой человечек научился ходить.
Dreamscaper: убийственная боёвка с инди-бюджетом
В докладе с GDC 2022 Ян Кофино из Afterburner Studios рассказывает о процессе создания боевой системы в небольшой независимой команде, уделяя особое внимание дизайну, ощущениям и рабочему процессу, необходимым для достижения успеха.
3 урока сторителлинга от Inscryption
Inscryption была запущена в 2021 году и получила признание критиков, завоевав, среди прочего, главные призы на Фестивале независимых игр. Чтобы отпраздновать запуск игры на PlayStation 4 и PlayStation 5, команда Unity вспоминает прошедшую в этом году Конференцию разработчиков игр, на которой Дэниел Маллинз из Daniel Mullins Games присоединился к Усаме Дориасу из Unity, чтобы обсудить повествование.
Настройка эффекта объёмного тумана в Unity
Гарри Алисавакис поделился подробным руководством по созданию эффекта постобработки Volumetric Fog.
Flutter Flame: ускоряем в 32 раза работу со столкновениями
В Flame для повышения производительности реализована концепция активных и пассивных объектов: активные объекты сталкиваются с пассивными и между собой. Столкновения между пассивными объектами не вычисляются вовсе, но всегда можно поменять тип объекта. Эта маленькая деталь исключает из обеих фаз определения столкновений существенное количество объектов, что в сравнении с Bonfire даёт серьёзный прирост производительности.
Скрытое давление PowerWash Simulator
Основатель и генеральный директор FuturLab Джеймс Марсден обсуждает происхождение игры, выход из тени Sony и трудности с поиском издателя.
Как создать звук диалогов как в Celeste и Animal Crossing, используя Unity
В видео рассказывается, как с помощью Unity создать звуковой эффект диалогов, аналогичный тому, который используется в Celeste и Animal Crossing.
Оно охватывает создание универсальной системы воспроизведения, обеспечение предсказуемости звука для заданной строки диалога и учёт различных конфигураций звука для поддержки нескольких динамиков.
Переосмысление демоверсии 10-летней давности на UE4 в Unreal Engine 5
Художник по визуальным эффектам Дилан Браун объяснил, как демка на UE4 была переосмыслена с помощью Unreal Engine 5, рассказал о настройке шейдеров для проекта и поделился некоторой информацией о переносе старых проектов на UE5.
Переоценка пределов: работа со светом в Ratchet and Clank: Rift Apart
В сессии с GDC 2022 Анна Роан и Брайан Маллен из Insomniac Games рассказывают о настройке, проблемах и извлечённых уроках, прокладывая путь к освещению следующего поколения. Помимо этого обсуждается, как рабочие процессы и пайплайн Marvel’s Spider-Man были реализованы для работы в этом проекте, и как они адаптировались на протяжении всего проекта, чтобы создать действительно фантастический визуал для PlayStation 5.
Зачем идти к студиям портирования: интервью с сооснователем компании Samustai
Антон Виноградов рассказывает о своей компании — чем конкретно занимаются студии портирования, какие в процессе возникают сложности и почему аутсорс в этом деле может быть выгоднее, чем портирование своими руками.
Создание аутлайна в качестве постобработки в Unity
Видеоурок объясняет, как реализовать эффект в Unity, показывает, как обнаруживать края с помощью буфера глубины.
Дополнительно показано, как настроить эффект, чтобы объекты за другими объектами получали отдельный эффект просвечивания сквозь стену.
«Kickstarter был нашим самым ценным маркетинговым инструментом»: опыт разработчика Backpack Hero
В выпуске подкаста IndieGameBusiness Джаспер Коул, разработчик Backpack Hero, рассказывает о том, как провести эффективную кампанию на Kickstarter. Его кампания имела большой успех: он достиг цели в 20 тысяч долларов, по итогу собрав 200 тысяч долларов.
Создание игр для CD-i в 2022 году
Разработчик Джеффри Янссен объясняет, почему он делает игры только для снятой с производства и часто высмеиваемой мультимедийной платформы Phillips.
Простой способ моделирования одежды в Blender
Ян ван ден Хемель рассказал о том, как создавать меши одежды, используя простые методы моделирования.
Первые шаги в Unity с OpenXR
Время идёт, технологии не стоят на месте, и способов разработать свой VR-проект всё больше и больше. OpenXR позволяет получить полный контроль над своим VR-проектом и безболезненно перенести в виртуальную реальность свою игру.
Автоматическое тестирование и проверка смены лодов посредством контролируемого обучения
Представлены два метода на основе свёрточных нейронных сетей (CNN), которые могут обнаруживать переходы LOD и качество этого перехода.
Обсуждается проблема с текущими подходами и тем, как представленные техники могут быть использованы для поддержки художников.
Путешествие в Nanite Брайана Кэриса из Epic Games
В выступлении обсуждаются проблемы, с которыми сталкиваются художники, и то, как Nanite может помочь. Представлено большое количество тем, которые Брайан исследовал по пути.
Обсуждается, как структурировать долгосрочные исследования, уделяя особое внимание проблемам в этой области.
Разное
Реалистичная версия LoFi Girl, созданная в Blender и UE5
Проект был создан примерно 6 месяцев назад, когда UE5 был в бетке, но файлы проекта потом испортились и остался только финальный рендер.
Использовались Metahumans, Substance Painter, Blender, Unreal Engine 5 и Megascans.
Очередная милая анимация, сделанная в Blender
Из Твиттера.
Дождь, созданный в Blender с помощью геометрических нод
Из Твиттера.
Вышла финальная часть документального фильма про «Аркейн»
В ней рассказывается о последних этапах производства сериала.
Занятные боевые анимации в игре в анимешном стиле
Из Твиттера.
Если хотите поддержать выход дайджеста и других материалов, сделать это можно одним из способов.