Исходный размер 1140x1600

DeadLands | Код и UX

PROTECT STATUS: not protected

Программирование UX и программирование геймплея для мрачного шутера от первого лица с элементами выживания.

Исходный размер 1799x753

Данный лонгрид описывает основные методы и решения, примененные в коде игры для обеспечения плавности геймплея и приятной обратной связи.

Исходный размер 3440x1440

БЛИЖНИЙ БОЙ

Исходный размер 3100x1295

Урон по врагам во время ближнего боя происходит с помощью бросания луча, определяющего объект, с которым произошло столкновение при нажатии ЛКМ.

Исходный размер 1799x753

Для реализации притягивания к поражаемой цели во время атаки, создан алгоритм линейной интерполяции между точками А и B.

Исходный размер 3440x1440

КВЕСТЫ И ИСПЫТАНИЯ

Исходный размер 1799x753

Разрушение статуй — одно из испытаний. Оно реализовано с помощью встроенного в UE5 инструмента — Fracture Mode, позволяющего разделить объект на множество мелких частей. Во избежание проблем с FPS, все осколки удаляются через 5 секунд.

Исходный размер 3440x1440

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

Исходный размер 3440x1440

МУВМЕНТ

Исходный размер 1799x753

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

БОЕВЫЕ СИСТЕМЫ

Исходный размер 1799x753

Чтобы создать бесшовную боевую систему, нажатие игроком кнопки мыши делится на 3 состояния (типа функций):

— нажатие
— удержание
— отпускание

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

Исходный размер 3440x1441

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

ВРАГИ

Исходный размер 3440x1440

Для спавна врагов созданы несколько Blueprint классов. BP_WaveControl определяет общее состояние волны: сколько врагов появилось, было уничтожено, какой лимит. BP_Spawn отвечает за корректность их появления.

Исходный размер 1701x712

Логика поведения врагов создана с использованием классического фреймворка Behaviour Tree, позволяющего последовательно переключаться между их состоянием.

Исходный размер 3440x1440

Например, с помощью ноды Move To оборотень передвигается, однако раз в 4 секунды срабатывает Cooldown, и он швыряет в мага булыжник.

Исходный размер 3437x1377

Передвижение всех юнитов создано с помощью системы NavMesh. Во избежание их застревания используется собственная функция jumpandvelocity или удаление, если разница векторов скорости в течение 12 секунд равна 0.

0

ПЕРКИ И УЛУЧШЕНИЯ

Исходный размер 1799x753

Для буста персонажа во время покупки перков реализована простая система: нодой Switch On Int определяется, какую переменную изменить в зависимости от типа покупаемого перка.

Исходный размер 3440x1440

БОСС

Исходный размер 3440x1440

Чтобы не создавать лишний уровень, который займет 200 МБ в память компьютера, арена с боссом находится в отдельном DataLayer, а сторонний функционал при перемещении к нему останавливается.

Исходный размер 1799x753

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

Игровой трейлер:

Loading...
DeadLands | Код и UX
Проект создан 26.06.2026
Мы используем файлы cookies для улучшения работы сайта и большего удобства его использования. Более подробную информац...
Показать больше