2. ABOUT ME
I AM ANDREY DYAKOV
Associate Technical Director at Sperasoft with 8 years of
game development experience. During my career I worked
with many game engines including Unity, UDK, Unreal
Engine 4 and other proprietary game engines from well
known studios.
email: Andrey.Dyakov@sperasoft.com
skype: a__dyakov
5. Плюсы Data-Driven дизайна
◦ Переиспользование кода
◦ Код проще в обслуживании
◦ Ускоренная разработка функционала
◦ Удобная работа с данными
◦ Синхронизация данных в рантайме
6. Composition over Inheritance
◦ Сущность является контейнером компонентов
◦ Компоненты определяют поведение объекта
◦ Данные описывает компоненты объекта
◦ Данные определяют иерархию сущностей
7. Classic OOP: Inheritance
◦ Поведение
расширяется
наследниками
◦ Объект управляет
данными
◦ Данные могут
передаваться по
иерархии
8. Composition & Inheritance in UE4
◦ Система компонентов
◦ Фабрики
◦ Gameplay тэги
◦ DataTables
◦ DataCurves
◦ еtc
16. Data Table
◦ Source: csv, xls
◦ Doesn’t require
C++
◦ Binary object
◦ Flat structure
◦ Can’t be synced
or reimported at
Runtime
◦ Special Getters for
data
◦ Two sources of
truth
Data Curves
◦ Source: csv, xls
◦ Doesn’t require
C++
◦ Best for
progressions
◦ Binary object
◦ Can’t be synced
or reimported at
Runtime
◦ Only floating point
types
◦ Special Getters for
data
Data Asset
◦ Any type of data
◦ Hierarchical
structure
◦ It’s object with
properties
◦ Can be synced at
runtime
◦ Any UE4 type
◦ Binary object
◦ Requires C++
UE4 Data Containers
17. Simple game design case
◦ Набор уровней разделенный на главы
◦ Можно заработать три звезды за уровень
◦ У каждой звезды свои требование
◦ Главы или уровни могут быть
разблокированы если выполнены их
требования
◦ Уровень может содержать
коллекционные предметы, секреты и т.д.