GDC is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Use the GDC 2021 Session Viewer to browse and sort the ever-growing list of sessions by day, time, pass type, topic, and format. All registered attendees will be able to build their personal schedule directly within the event platform, once live early July 2021. All times are listed in Pacific Time.

Fighting with Data: Learnings from Building the Combat System in 'Assassin's Creed: Valhalla'

Ian Holstead  (Gameplay Programmer, Ubisoft Montreal)

Date: Friday, July 23

Time: 9:40am - 10:40am

Pass Type: All Access Pass, Core Pass

Topic: Design, Programming

Format: Session

Vault Recording: Video

Audience Level: N/A: I prefer to present live on-site but I am open to delivering a virtual presentation

On Assassin's Creed Valhalla the fight team had an ambitious mandate, as one of the core pillars of the game, we aimed to build not only hugely more enemies but also more unique and complex ones in addition to all of the player abilities needed for the dual wield system. In order to achieve this objective, we had to take the data driven fight system created for Assassin's Creed Origins and used by Assassin's Creed Odyssey and push it to it beyond it's original limits.

This talk shares both an overview of the systems and tools we used to create fight on Assassin's Creed in addition to a technical post mortem for the fight team on Valhalla. In doing so, it covers best practices for data driven systems that are maintainable, efficient, and scalable and why we approach data-driven systems with the same mindset as maintaining a code base.


This talk provides information which would help build data driven systems which are more efficient to reuse, less error prone and are easier to debug and learn.

Intended Audience

This talk is aimed at gameplay/AI programmers, technical designers or anyone who is either creating a new data-driven system or using one and might be looking to expand the team, re-use data between projects, or just want a fresh perspective!