have fun storming the castle!twvideo01.ubm-us.net/o1/vault/gdc2016/presentations/arsenault... ·...

76
Have Fun Storming the Castle! Siege Battle AI in Total War: Warhammer Andre Arsenault Lead Battle AI Programmer Creative Assembly

Upload: vannhan

Post on 24-Apr-2018

224 views

Category:

Documents


4 download

TRANSCRIPT

Have Fun Storming the Castle!Siege Battle AI in Total War: Warhammer

Andre ArsenaultLead Battle AI ProgrammerCreative Assembly

About Me

About This Talk

SIEGE BATTLES

What Is a Siege Battle?

How Do You Start a Siege Battle?

Siege Battle Fundamentals

Siege Battle Fundamentals

Historical Siege Goals

Warhammer Siege Goals

BATTLE AI ARCHITECTURE

Battle Fundamentals

“Battle AI” for Total War

Battle AI ArchitectureBattle Model

Battle AI ArchitectureBattle Model

Battle AI ArchitectureBattle Model

Battle AI ArchitectureBattle Model

Battle AI ArchitectureBattle Model

Battle AI ArchitectureBattle Model

Battle AI ArchitectureBattle Model

Battle AI Architecture

Battle Model

Siege Battle AI Architecture

AI DATA AND LEVEL DESIGN

AI Hints: Settlement Perimeter

AI Hints: Deployment Lines

AI Hints: Assault Designation

AI Hints: Attack Focus

Assault Designation Scoring

Settlement Graph

Influence Graphs

Logic Prefabs

ATTACKING SIEGE AI DETAILS

Attacking AI Strategy

Attacking AI Strategy

Getting Into the City

Entry Points

Choosing the Right Tactics

Choosing the Right Tactics

Gate Assault Tactic

Aside: What Is This Unit?

Better: How Should the AI Use It?

Gate Assault Tactic

Gate Assault Tactic

Wall Assault Tactic

Wall Assault Tactic

Wall Breach Tactic

Wall Breach Tactic

Storm Entry Points Tactic

Entry Point Manager

Battle Model

Storm Entry Points Tactic

Settlement Interior

How Do the Reserves Fit In?

Reserves Tactic

Reserves Tactic

Reserves Tactic

Coordination Between Tactics

Coordination Between Tactics

Ex 1: Gate Assault Using Ladders

Ex 1: Gate Assault Using Ladders

relinquish(units)

return

create new tactic(assault designation)

return

det ermine units to relinquish()

validate(assault designation)

assign(units)

create new ladder group(units)

choose wall target()

returnreturn

Ex 2: Wall Assault Docking a Tower

Ex 2: Wall Assault Docking a Tower

assign(units, ent ry point)

return

relinquish(units, ent ry point)

assign(units,ent ry point group)

destroy tactic if empt y()

mark entry point accessible()

Ex 3: Allocating the Reserves

Ex 3: Allocating the Reserves

return

assign(unit , ent ry point)

return

scan for mat ches()

relinquish(unit entry point pairs)

loop for each pair

Reinforcements

Reinforcements

COLLABORATION, ADVICE, CONCLUSIONS

Siege AI Team Process

Siege AI Team Process

Advice

Advice

Summary

Summary

Questions?