Исходный размер 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
DeadLands | Код и UX
Проект создан 26.06.2026