“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