“Design-driven AI in Spec Ops: The Line“.

Transcription

“Design-driven AI in Spec Ops: The Line“.
Design-driven AI in Spec Ops: The Line
IT Agenten 2012 - Jörg Reisig
Inhalt
•
•
•
•
•
•
Übersicht
AI Design
Behavior Trees
Beispiele aus Spec Ops
Resümee
Fragen
Trailer
http://www.youtube.com/watch?v=ZCvAsX0bpZg
Wer bin ich?
Jörg Reisig – AI Programmer / Prototype Designer
Ludographie:
Desperados 2 - Ridingstar 2 - Drakensang
Spec Ops: The Line - YAGER NPDEV
Was ist “Spec Ops: The Line”?
„Spec Ops: The Line“ ist ein narra1ver third person shooter für
Xbox 360, Playsta1on 3 und PC.
Released: June 2012
Developer: Yager Development
Publisher: 2K Games
Engine: Unreal Engine 3
Was ist “Spec Ops: The Line”?
•
•
In “Spec Ops: The Line” spielt man einen US Delta Force Captain, der mit
seinem Team gegen ein abtrüniges US Bataillon kämp@.
In diesem Third-Person Cover-Based Shooter kämp@ der Spieler mit
militärischen Feuerwafen gegen bewafnete Soldaten in den Ruinen von
Dubai.
Was ist “Spec Ops: The Line”?
•
Die zentralen Themen des Spiels sind: ”The Horror of War”, die
unmöglichen Entscheidungen, die Soldaten auf dem Schlachteld trefen
müssen und wie wir als Spieler Militärshooter wahrnehmen.
Projektgeschichte
•
•
•
2007 : “Stealth Ranger”
Tak1k Shooter mit starkem Focus auf Stealth.
Indirekte Kontrolle über das AI Squad.
Planner AI System
2008-2009 : “Spec Ops”
Fokus auf squad basiertem Kampf
Völlige Kontrolle über das AI Squad
Behavior Tree System für reak1ve und steuerbare AI
2010-2012 : “Spec Ops: The Line”
Narra1ver atmosphärischer Shooter
Minimale Kontrolle über das AI Squad
AI Design
Behavior Triangle
Intelligence
Emo+on
Gameplay
AI Design Philosophie
•
Military Shooter Problem
–
Sehr klare Erwartung an Military Shooter.
–
–
–
–
“Realis1sche” Soldaten
“Realis1sche” Wafen
Menschliche Gegner
Cover based shooter
AI Design Philosophie
Anforderungen an das AI Design:
Die Spielerin steuert den Verlauf des Spiels
NPC Charaktere sollen sich lebendig anfühlen
Kampf entwickelt sich um die Spielerin herum
AI Verhalten soll die Atmosphäre unterstützen
Starker narra1ver Fokus auf das Squad
AI Design Philosophie
Narra1ve Ziele des AI Design
•
•
•
•
Der Spieler soll dauerha@ unter Druck gesetzt werden.
Keine Entmenschlichung der Gegner.
HaupMhema ist der Akt des Tötens von sehr vielen Menschen.
Alle feindlichen Frak1onen haben eine speziNsche narra1ve Rolle.
Plünderer
Damned 33rd
Zulu Squad
AI Type Overview
Delta Squad
Looters
Adams
Damned 33rd
Zulu Squad
Special Enemies
Commando
Short
Range
Lugo
Assault
Long
Range
Heavy Trooper
Behavior Trees
State Machines
Planner System
Behavior Trees
Scrip+ng
Behavior Trees
Baumstruktur (codebasiert oder als Visual Modeling Language)
Sequence führt seine Child Nodes der Reihe nach aus
Condi+on
Mögliche Child Nodes:
Ac+ons
Condi+ons
Composites
Decorators
Behavior Trees
Composite
Ac+ons
Behavior Trees
02 Condi1on Succeeds
01 Start at Root
03 Ignore Inac1ve Impulse
04 Trigger Node
05 Trigger Node
07 Return to Loop
06 Condi1on Fails
Behavior Structure
Wir verwenden reak+ve Behavior Trees.
Basis Kampfverhalten
Deckungsgefecht, Reak1on auf Granaten
Spezi6sche Helferverhalten
Defensiver Kampf, Squad Triggers
Spezi6sches Verhalten der Spezialgegner
Heavy Trooper, Commando
Verhalten für Squad Befehle
Angrifsbefehl, Heilung, Gegner Blenden
Spezi6sche Verhalten für das Leveldesign
Patrouille, Berserker
Individuelle Verhalten
Interak1ve Cutscenes, Zivilisten
Beispiel: Squad Trigger
Ziel des Squad Trigger Systems:
•
•
•
•
Das Squad soll natürlich aussehen, wenn es sich durch die Level bewegt.
Das Squad reagiert auf die Spielerin, wann es sich fortbewegen soll.
Leveldesign kann die Squadbewegung beeinSussen.
Leveldesign kann die Kampfzone beeinSussen.
Trigger Volumen, das im Level platziert wird und zur
Orien1erung Kampfposi1onen angefügt hat.
Beispiel: Squad Trigger
Beispiel: Squad Trigger
•
•
•
Grüne Figur + Box
Volumen wird ausgelöst,
wenn der Spieler es betriM
Schwarze und weiße Figur
Bevorzugte Posi1on des
Squads
Blaue Boxen
Erlaubte Kampfposi1onen
des Squads
Beispiel: Squad Trigger
Viele Parameter und Outputs für das Leveldesign
movement delays, voiceover Sags, movement type
Ergebnis:
Das Squad kann der Spielerin folgen, bleibt im Sichteld und das Verhalten
fühlt sich nicht linear und gescripted an.
Combat Behavior
Die zentrale Rolle der AI ist es auf den Spieler zu reagieren.
Beispiele:
–
–
–
–
–
Gegner werfen Grananten nur auf die Posi1on des Spielers.
Flankierungsverhalten nimmt nur den Spieler als Ziel.
Das Squad unterstützt den Spieler efek1v “klaut” aber keine Abschüsse.
Das Squad kommen1ert feindliche Ak1onen, wenn sie nützlich für den Spieler sind.
Die Gegner kommen1eren Ak1onen des Spielers.
Combat Behavior
AI cheated, wenn es das Spielerlebnis steigern kann.
–
–
–
–
–
Granaten verfehlen nie ihr Ziel.
Die AI darf weiterfeuern ohne nachzuladen.
Alle AIs wissen immer die Posi1onen von allen anderen AIs.
Spezialgegner wissen immer die Posi1on der Spielerin.
Gegner und das Squad teilen sich Informa1onen für Audiokommentare.
Beispiel: Gegner AI - Commando
Beispiel: Gegner AI - Commando
Die Rolle des Commandos:
–
–
–
Selbstmörderischer Messerkämpfer,
der direkt den Spieler ausschalten will.
Zwingt den Spieler aus der Deckung.
Verkörpert die VerzweiSung und die
Brutalität der 33th.
“Exterminate all the brutes!”
•
•
Restrik1ves Verhalten, Angrifs und Ausweichmanöver nur gegen den Spieler.
Das Squad reagiert auf den Commando, feuert aber mit Null Genauigkeit.
Beispiel: “Gegner Blenden” - Befehl
Beispiel: “Gegner Blenden” - Befehl
•
Rolle des Blend Befehls
–
–
–
•
System um einer Spielerin unter Feuer zu helfen.
Spielerin behält die Kontrolle, da sie den Befehl ak1v gibt.
Gegner werden aus der Deckung getrieben.
Grenade director System
–
–
–
–
Entscheidungsystem, das prü@ ob der Befehl ak1v ist.
Prü@ ob die Spielerin unter Feuer ist oder sich nicht bewegt
Granatenverhalten der Gegner funk1oniert ähnlich
Fokus auf die Spielerin, da Werfer und Ziel im Sichteld sein sollten.
Andere spielerzentrierte Beispiele
•
Das Squad führt immer den Befehl des Spielers aus.
•
Das Sqaud verlässt die Deckung, wenn der Spieler sehr nah ist.
•
Gegner reagieren auf Granaten des Spielers, sind aber zu langsam um der Explosion zu entkommen.
•
Das Squad schießt bevorzugt auf Gegner, die der Spieler geblendet hat.
•
Heilungsbefehl, damit der Spieler nicht bestra@ wird, wenn ein Squadmate im Kampf fällt.
•
Gegner bewegen sich aus der Deckung, wenn der Spieler einen “Vault Kick” macht.
•
Gegner zeigen sich aus ihrer Deckung, wenn sie Ziel eines “Sniper Befehls” werden.
What went bad?
•
•
•
•
•
AI features, die die Spieler nie rich1g im Spiel gesehen haben.
Alle Stealth Takedowns sind gescripted und keine generische Mechanik.
(Cheapshooter) Redundante Pseudo AI um Performance zu sparen.
Die AI wurde für ofenere Gebiete gebaut, am Ende waren im Spiel aber
viele Korridorsek1onen.
Unser Event Behavior Tree System ist overengineered und unsere
Designer konnten dadurch an komplexeren Verhalten nicht arbeiten.
What went well?
•
•
•
•
•
•
Das Squad ist efek1v, aber der Spieler behält die Kontrolle.
Der KampVuss ebbt nicht ab und es kommt nicht zu PaMsitua1onen.
Die Gegner AI reagiert auf verschiedene Spiels1le.
Unser Visual Editor erlaubt schnelles Prototyping.
Designer können ohne code support simple Verhalten bauen.
Die koopera1ve AI war einfach zu implemen1eren, da das Squad immer
als valide Ziele für die Gegner gezählt wurde.
What’s next?
Resümees für die Zukun@…
•
•
•
•
Simplere Verhalten, dafür mehr spezializerte Verhalten.
Evaluierung und Ausführung kompleM trennen.
Gruppenverhalten und keine komplizierten Hacks. (Behavior Gates)
Level of Detail System für die AI.
Thanks to
•
YAGER AI Team:
–
AI Code: André DiMrich, Mar1n Zielinski, Daniel Kollmann, Tim Bärmann, Denis Danielyan, Jörg
Reisig, David Bending
–
Behavior Editor Code: Axel Hylla, Stephan Ziep
–
AI Design: Jörg Friedrich, Torkel Froner
–
AI QA: Stefan Bermig, Michael Schwan
–
AI Anima1on: Marian Woller, Dennis Vizins, Jens Heinrich, Roman Ochsenfahrt
•
All the awesome people at YAGER and 2K
•
Thomas Minet (Autodesk), Xavier Sadoulet (Arkane Studios)
References…
Waypoint Cover Maps and E>cient Raycasts on PS3 in Killzone 2 by Alex J. Champandard
–
•
Dynamic Locomo+on by Example by Alex J. Champandard
–
•
hMp://aigamedev.com/open/ar1cle/behavior-trees-part1/
Climbing and Sneaking Behind UNCHARTED 2: AMONG THIEVES’s AI by Chris1an Gyrling
–
•
hMp://aigamedev.com/premium/masterclass/dynamic-locomo1on/
Behavior Trees for Next-Gen Game AI from by Alex J. Champandard
–
•
hMp://aigamedev.com/insider/coverage/waypoint-cover-maps/
hMp://aigamedev.com/plus/interview/uncharted2-among-thieves/
Evolving Halo 3's Behavior Tree AI by Max Dyckhof
–
hMp://www.bungie.net/inside/publica1ons.aspx
Fragen?
Good Bye
We are always looking for talented people:
www.yager.de