GAMES GATHERING 2016 KYIV

Патерни гнучкої розробки на Unity (Agile та Unity)

Запис доповіді: Патерни гнучкої розробки на Unity (Agile та Unity)

Анатолій Ландишев

Про що доповідь

Анатолій Ландишев пояснює, чому класичне об'єктно-орієнтоване програмування погано підходить іграм, і порівнює три підходи до архітектури в Unity. У іграх багато об'єктів зі зв'язками в реальному часі, понад половину обсягу займає контент, а дизайнери постійно змінюють вимоги, тож потрібні швидкі прототипи без залучення програмістів. Глибоке наслідування ламається, коли треба поєднати поведінку різних класів, і тут допомагає композиція з компонентів Unity. Але зі зростанням проєкту залежності між компонентами доводиться передавати вручну, наприклад через dependency injection. Як вихід спікер показує підхід entity-component-system: компоненти містять лише дані, логіка живе в окремих системах, а вибірки працюють як запити до бази. На демо-грі він показує, що додати стрільбу чи ШІ можна просто навішуванням компонентів. Корисно Unity-розробникам і техлідам, що обирають архітектуру.