Andrey Dyakov, Lead Engineer, Sperasoft

19
Three! Two! One! Fight! Fighting Game with UE4

Transcript of Andrey Dyakov, Lead Engineer, Sperasoft

Page 1: Andrey Dyakov, Lead Engineer, Sperasoft

Three! Two! One! Fight!Fighting Game with UE4

Page 2: Andrey Dyakov, Lead Engineer, Sperasoft

Андрей ДьяковPosition: Lead Engineer

Mail: [email protected]

Об авторе

Page 3: Andrey Dyakov, Lead Engineer, Sperasoft

Крупнейшая Game Developing компания в Восточной Европе

Более 250 сотрудников

Основана в 2004

О компании Sperasoft

Page 4: Andrey Dyakov, Lead Engineer, Sperasoft

Почему Unreal Engine 4?

# 20 летний опыт разработки

# Открытый исходный код

# Одна из лучших графических систем

# Стоимость

Page 5: Andrey Dyakov, Lead Engineer, Sperasoft

Почему Fighting?

# Комплекс взаимосвязанных задач

# Способы решения в UE4

# Популярность MKX у сотрудников

Sperasoft =)

Page 6: Andrey Dyakov, Lead Engineer, Sperasoft

С чего нужно начинать разработку?

# Определение специфических требований

# Анализ ключевых систем игры

# Подбор технологического стэка

# Составление грубого плана разработки

# Поиск «плейсхолдерного» арта

Page 7: Andrey Dyakov, Lead Engineer, Sperasoft

Ключевые системы жанра Fighting

# Система Рукопашного Боя

# Система Анимаций

# Распознавание Комбинацийи..

# Графон =)

Page 8: Andrey Dyakov, Lead Engineer, Sperasoft

Необходимые подсистемы движка

# Анимационная подсистема – Persona# Ретаргетинг анимаций и скелетов

# Анимационные Монтажи и События

# Игровая логика – Gameplay Framework# Гибкая архитектура

# Client-Server

# ООП и КОП вместе

Page 9: Andrey Dyakov, Lead Engineer, Sperasoft

Ретаргетиг анимаций и скелетов

Page 10: Andrey Dyakov, Lead Engineer, Sperasoft

Система рукопашного боя

# Пересечение Капсул Персонажей

# Коллизии Оружия

# Анимационные События

Page 11: Andrey Dyakov, Lead Engineer, Sperasoft

Работа с анимациями

# Movement Animations

# Combat Moves Animations

Page 12: Andrey Dyakov, Lead Engineer, Sperasoft

Locomotion Statemachine

Page 13: Andrey Dyakov, Lead Engineer, Sperasoft

Animation Montage

Page 14: Andrey Dyakov, Lead Engineer, Sperasoft

Требования к распознаванию комбинаций

# Строгий порядок нажатий

# Одновременные нажатия

# Интервал нажатий < 250 ms

# 12 кнопок геймпада

# Неограниченная длина комбинации

# Удобство заполнения

Page 15: Andrey Dyakov, Lead Engineer, Sperasoft

Распознавание комбинаций

Cпособы распознавания:

# Строковый паттерн:

“←→XA→”; “↓→ XXY”; “←

BYBXA”;

# Древовидные cостояния:

Page 16: Andrey Dyakov, Lead Engineer, Sperasoft

Распознавание Комбинаций

Реализованный способEControlButtons FSequence

Page 17: Andrey Dyakov, Lead Engineer, Sperasoft

На чем писать?

Доступные в Unreal Engine 4 языки программирования:

# C++ or UE4 C++

# Blueprint Graph

и…

# С# – https://mono-ue.github.io/

Page 18: Andrey Dyakov, Lead Engineer, Sperasoft

Диаграмма классов Fighting Game

Page 19: Andrey Dyakov, Lead Engineer, Sperasoft

Спасибо за внимание!

Вопросы!?