GAMES GATHERING 2016 KYIV

Agile Development Patterns in Unity (Agile and Unity)

Talk recording: Agile Development Patterns in Unity (Agile and Unity)

Anatolii Landyshev

What the talk is about

Anatolii Landyshev explains why classic object-oriented programming fits games poorly and compares three architecture approaches in Unity. Games have many objects interacting in real time, content makes up over half of the project, and designers keep changing requirements, so teams need fast prototyping without programmers' help. Deep inheritance breaks when behaviours of different classes must be combined, and component composition helps. Yet as projects grow, dependencies between components must be passed by hand, e.g. via dependency injection. As a way out, the speaker presents the entity-component-system approach: components hold only data, logic lives in systems, and queries work like database queries. A demo game shows that adding shooting or AI is just attaching components. Useful for Unity developers and tech leads choosing an architecture.