GameDev: разработка игр
7.63K subscribers
967 photos
203 videos
1 file
1.38K links
Всё про геймдев для девелоперов, художников, левел- и геймдизайнеров, сценаристов

Разместить рекламу: @tproger_sales_bot

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
Download Telegram
Как связать материалы стилизованного окружения

Дом, забор и трава могут хорошо выглядеть по отдельности, но спорить друг с другом в общей сцене. Художница Tulika Roy рассказывает, как удерживала единую палитру при создании окружения Outstead в UE5.

Для деревянных объектов она подготовила trim sheet с базовыми цветами, тенями и бликами. Папку с этими слоями в Substance 3D Painter превратила в Smart Material и использовала на дверях, столбах и других деталях дома. Особенности каждого объекта дорисовывала вручную.

Цвет травы связала с ландшафтом через Runtime Virtual Texture. Материал травы читает цвет земли под собой: правка участка ландшафта меняет и растительность на нём. Отдельный материал для каждой зоны создавать не пришлось.

В разборе сцены есть примеры текстур и настройки растительности. Композицию автор проверила ещё на блокинге: дорожка, ограда и холмы направляют взгляд к дому.
❤2
Как уменьшить шум Lumen в интерьере

Яркий экран или светящееся окно могут давать плавающие пятна на соседних поверхностях. В разборе Post-Soviet Hospital Aleksander Goryachev показывает, как настраивал освещение закрытого интерьера в UE5.

Свет из окна он разделил между несколькими объектами: emissive-плоскость изображает небо, Rect Light освещает помещение, а Spot Light с Light Function проецирует рисунок оконной рамы.

Отдельно автор проверяет Screen Space Traces: яркие пиксели светящихся объектов могут продолжать влиять на результат через экранные данные. В закрытом уровне он отключил эти трассировки. На другом уровне с наружным освещением такой же шаг заметно обеднял непрямой свет.

Есть компромисс и по скорости: замена Rect Light широким Spot Light делает освещение жёстче. В статье показаны сравнения — настройки стоит оценивать вместе с видом сцены и бюджетом GPU.
Как сделать отскакивающий огненный снаряд

В ACTION GAME MAKER снаряд создаётся как отдельный объект. Его регистрируют в Bullet Settings персонажа, а выстрел вызывают действием Fire Bullet в визуальном скрипте.

В официальном уроке эту цепочку разбирают на огненном шаре. Изображение делят на четыре ячейки и добавляют кадры по порядку. Коллайдер для стен и область атаки настраивают отдельно: их размеры могут различаться.

Далее через Collision Animation задают вращение изображения. У анимации есть дополнительная ячейка END: значение 360° в ней замыкает полный оборот, а промежуточные положения интерполируются автоматически.

Чтобы шар летел с отскоками, ему настраивают движение и включают влияние гравитации: в шаблоне обычной пули она отключена. Урок продолжает Jump Action Tutorial, поэтому для повторения понадобится проект из предыдущего материала.
Как Arrow Cube 3D сочетает генерацию и ручные уровни

В головоломке Arrow Cube 3D игрок убирает стрелки с вращающегося куба. Команда Green Train Studio использует генератор уровней, но начало игры готовит вручную.

В интервью разработчиков объясняют подход: первые 20–40 уровней обычно создаёт и проверяет геймдизайнер. Дальше генератор обеспечивает объём контента, а параметры задают развитие сложности. Последовательность затем корректируют по аналитике.

Для браузерной версии отдельно продумали загрузку. Основной билд на Defold занимает около 3 МБ, данные уровней — ещё около 20 МБ. Они подгружаются порциями, поэтому при запуске не нужно скачивать весь набор.

В этом примере размер стартовой загрузки и общий объём игры различаются. Контент можно добавлять без увеличения первого скачивания, а ручные вводные уровни дают команде контроль над знакомством игрока с механикой.
Как разрушение зданий меняет тактику в Brigador Killers

Если игрок может пробить стену, дверь перестаёт быть единственным входом. А вместе с ней перестают работать привычные способы направлять игрока по уровню.

В интервью Stellar Jockeys разрушение Brigador Killers разобрано как взаимодействие систем. Пули пробивают объекты, взрывы наносят убывающий с расстоянием урон, повреждённые части зданий провоцируют обрушение соседних.

Для объектов команда готовит отдельные наборы эффектов — частицы, спрайты, свет и звук, срабатывающие вместе. Они помогают показать масштаб повреждений и сделать цепную реакцию понятной.

Полностью разрушаемое окружение требует учить игрока создавать собственные проходы. Поэтому здесь полезно смотреть и на физику, и на планировку: какие маршруты появятся после взрыва и сможет ли игрок понять последствия своего действия.

#геймдизайн #разрушения
Субботний скриншотник снова открыт!

Показывайте в комментариях, над чем работали: скриншоты, гифки, видео, демки и ссылки на свои игры. Новая механика, переделанное меню или первый рабочий прототип — всё годится. Ссылки на свои каналы разрешены.

Посмотрим, что у кого получилось, и зададим авторам вопросы. Если застряли, расскажите на чём — возможно, кто-то уже решал похожую задачу.

@make_game
⚡1
Как собрать стилизованный маяк из модулей

Альберт Серрано начал сцену маяка с простых форм в Blender и перенёс их в Unreal Engine. До детализации он проверил пропорции, расстояние до камеры и композицию.

В разборе окружения показано, как повторное использование помогает расширять сцену. Деревянные детали собраны в модульный набор, повторяющиеся поверхности используют тайловые материалы, растения — общий атлас.

Для перехода между камнем и штукатуркой художник добавил промежуточный оттенок той же штукатурки через отдельный канал Vertex Color. Так границу можно подкрашивать прямо на геометрии и варьировать по сцене.

Когда понадобился второй ракурс, большая часть материалов и объектов уже существовала. Новую зону удалось собрать без полного повторения работы. Хороший пример того, как ещё на этапе первой композиции подготовить детали для дальнейшего использования.

#окружение #unrealengine
Defold 1.14: рендеринг в кубическую карту

В Defold 1.14.0 появились cubemap render targets: сцену можно отрисовать на шесть граней кубической карты вокруг выбранной точки.

В описании релиза показаны два способа создать такую цель рендеринга: через render script или ресурс .render_target. Затем выбирается грань, в которую нужно выполнить отрисовку. Цветовое содержимое доступно шейдеру через samplerCube.

На этой основе можно реализовывать отражения, захват окружения и другие эффекты, которым нужны несколько направлений обзора. Сам эффект при этом остаётся частью вашей системы рендеринга: новый тип цели не включает готовые отражения автоматически.

У первой реализации есть ограничения: грани должны быть квадратными и одинакового размера, сглаживание MSAA для cubemap не поддерживается. В статье есть ссылка на демонстрацию создания карты и передачи результата в шейдер.

#defold #рендеринг
Как связать движение и анимации персонажа в Godot

Персонаж уже прыгает, но продолжает перебирать ногами в воздухе? Выбор анимации стоит связать с состоянием движения после обработки столкновений.

В уроке для Godot 4.3+ используется CharacterBody2D с AnimatedSprite2D. Скрипт обновляет скорость, применяет гравитацию, вызывает move_and_slide(), затем выбирает анимацию.

Если персонаж не на полу, знак вертикальной скорости определяет прыжок или падение. На земле направление ввода переключает бег и покой. Поворот спрайта выполняется через flip_h.

Весь пример помещён в один скрипт: он также создаёт платформы и собирает анимации из горизонтальных полос кадров. Это удобный учебный стенд для разбора состояний, который дальше можно разделить на сцены и компоненты. Для точного воспроизведения нужны файлы набора, указанного автором.

#godot #анимация
😍1
Как сделать ржавчину сложнее оранжевого шума

У ржавого металла меняется не только цвет. Зернистость, углубления, отслаивающаяся краска и шероховатость вместе создают ощущение поверхности.

В разборе Лоика Анкетиля работа над материалами Substance 3D Designer начинается с изучения этой структуры. Художник снимал собственные референсы, потому что общие фотографии часто не показывали нужных деталей коррозии.

Базовый материал Coarse Rust Pitting помог выстроить связь между рисунком повреждений, высотой, шероховатостью и цветом. После этого на той же основе появились варианты с облупившейся краской, разными стадиями коррозии и загрязнениями.

Отдельное внимание автор уделяет структуре графа: параметры и логические группы должны быть понятны другим художникам. Полезный ориентир для своего материала — возможность менять степень износа, сохраняя согласованность всех карт поверхности.

#материалы #substance
❤1
Unity 7 и CoreCLR: что уже можно проверить

Первая альфа Unity 7.0 получила редактор на CoreCLR вместо Mono. Но переход на новую среду выполнения ещё не означает, что проекту доступны все новые возможности C# и .NET.

В обновлении команды Unity прямо указано: начальная альфа пока использует C# 9 и API .NET Standard 2.1. C# 14 и .NET 10 остаются целью разработки; публичную дату их появления команда не называет.

Для первого поддерживаемого выпуска приоритет — совместимость и стабильность на уровне Unity 6.7 LTS. Основные улучшения производительности запланированы на следующий этап.

Сейчас альфа полезна для проверки совместимости проекта, пакетов и инструментов на отдельной копии. Изменившееся название среды выполнения само по себе не обещает ускорения игры или перезагрузки кода. Команда рекомендует эту версию для тестирования, а не производственной работы.

#unity #движки
👍2