1 Game Developement AI TW: The TemptationMichał Drobot Visual Technical Director Paweł Weder Lead Game Designer Reality Pump
2 Plan wykładu : PodstawyAI – nauka a praktyka Znaczenie i zastosowanie w grach Podstawowe techniki AI Podstawy budowy systemów AI Praktyczne zastosowania na podstawie TW: The Temptation
3 AI – nauka a praktyka Nauka dąży do maksymalnego odwzorowania poprawności opisu matematycznego rzeczywistości Często mało wydajne rozwiązania Na obecnym etapie nie istnieje system będący w stanie udawać człowieka w kompleksowym środowisku gry Produkcja AI do gier kładzie nacisk na Tworzenie percepcyjnie poprawnego AI Wydajność oraz skalowalność systemu
4 AI – nauka a praktyka AI w grach stanowi połączenieRozwiązań naukowych Przeskalowanych pod względem wydajności oraz skali do świata gier Rozwiązań proceduralnych Rozwiązań odgórnych (skrypty itp..)
5 Znaczenie i zastosowanieW przeciągu ostatniej dekady doszło do rewolucji graficznej oraz gameplay’owej AI jedynie ewoluowało, często jednak pozostając na podobnym poziomie Pierwsze AI do FPP miały 20 linii kodu Obecnie zdarza się, że AI stoi na podobnym poziomie
6 Znaczenie i zastosowanieSytuacja wynikła z Braku wsparcia oraz istnienia konkretnej platformy Brak SDK jak w środowiskach graficznych Stosunkowo duży nacisk lobby graficznego Małe zainteresowanie graczy Brak zasobów pamięciowych oraz wydajnościowych
7 Znaczenie i zastosowanieObecnie coraz większy nacisk na rozwój AI Często ważny element gameplay’u Wizualizacje efektownych zjawisk wymagają systemów AI Zarządzanie tłumem Bitwy Symulacje miejskie Zaawansowane systemu cząteczkowe
8 Znaczenie i zastosowanieZaawansowane metody AI w grach F.E.A.R Zaawansowane AI oparte na FSM, Fuzzy Logic oraz pamięci udającej system uczący FORZA 2 Sieci neuronowe dokonujące korekt skrętów podczas przejazdu samochodów przez tor Spore Proceduralne AI grup oraz animacji szkieletowej
9 Znaczenie i zastosowanieZaczyna pojawiać się middleware Xaitement Kompletny system wraz z narzędziami do obsługi hierarchicznych FSM, Fuzzy Logic, Path Planning, Crowd control, Procedural Behaviour Euphoria System animacji proceduralno-behawioralnej oparty na biomechanice i reakcjach natychmiastowych żywych organizmów
10 Znaczenie i zastosowanieWystarczająca moc obliczeniowa GPU Obliczenia równoległe na dużych zbiorach danych Flocking Steering Particles Multithreading Możliwość desygnacji pojedynczego wątku / CPU na stałe dla obliczeń AI
11 Podstawowe techniki AIFSM Autonomous agents Steering behaviours Flocking behaviours Graph search Path planning Fuzzy logic
12 Podstawowe techniki AIFSM Maszyny stanów skończonych Hierarchiczne, uruchamiające pomniejsze automaty Rozbudowane systemy wejść, wykonań oraz wyjść ze stanu do stanu w razie zaistnienia konkretnych warunków
13 Podstawowe techniki AIAutonomous agents Jednostki posiadające warstwę percepcyjną, decyzyjną oraz lokomocyjną Percepcyjna automatycznie „poznaje otoczenie” np. poprzez próbkowanie przestrzeni dookoła Decyzyjna podejmuję konkretne działania jak np. podążanie za zapachem, do celu itp.. Lokomocyjna przemieszcza jednostkę w przestrzeni symulacji wg decyzji wyższych warstw
14 Podstawowe techniki AISteering behaviours Systemy operujące na obsłudze dużej ilości Autonomicznych Agentów Wydzielono konkretne rodzaje zachowań dla AA Follow Seek Arrive at Evade Escape Etc.
15 Podstawowe techniki AIFlocking behaviours Rozszerzają Steering Behaviours o dodatkową warstwę Warstwa zachowań grupowych Parametrycznie wyznaczana jest decyzja ogólna grupy Zachowanie całej grupy jest brane pod uwagę w podejmowaniu decyzji przez jendostkę Dodaje zachowania : zgrupowania, rozproszenia, spójności Umożliwia zachowania stadne Ryb Ptaków Szarańczy Cząsteczek Etc.
16 Podstawowe techniki AIGraph search Podstawowe techniki przeszukiwań grafów Grafy rozmieszczane dynamicznie w środowisku gry bądź ręcznie przez designera w zależności od funkcji i potrzeb
17 Podstawowe techniki AIPath planning Planowanie przejść w środowisku (np. grafowym) przy uwzględnianiu dodatkowych czynników Opłacalności konkretnej ścieżki Czas Koszt Ryzyko Działań innych jednostek w świecie gry Ominięcie wrogiej armii w RTSie Celów długoterminowych Odcięcie drogi ucieczki przeciwnikowi
18 Podstawowe techniki AIFuzzy logic Logika rozmyta używana w automatach decyzyjnych Wprowadza odrobinę randomizacji w podejmowanych decyzjach Decyzje nie opierają się na wynikach binarnych lecz na języku zrozumiałym dla „większości ludzi” ;] Dalej Bliżej Niedaleko Mocno Słabo Etc.
19 Podstawy systemów AI System decyzyjny Rodzaje rozwiązańDecyzje strategiczne Decyzje taktyczne Reaktywność agentów Realizm systemu Gatunek
20 Podstawy systemów AI Nawigacja systemy gridowe pola stanówmapy grafowe siatki nawigacyjne
21 Plan wykładu : AI w TW:TTPathfinding w TW: The Temptation Zachowania AI System walki
22 Pathfinding Przeszukiwanie grafów (Graph search)RRT (rapidly-exploring random tree)
23 Pathfinding Graph search W przestrzeni przewidywalnej MiastaPomieszczenia Labirynty Zawiłych częściach lasu itd.
24 Pathfinding
25 Pathfinding RRT W przestrzeni nieprzewidywalnej Lasy PustyniaMiejsca nie wyposażonych przez Leveldesignera w grafy (mogą to być również zaułki w miastach)
26 Pathfinding
27 Pathfinding & AI Dalsze zastosowania grafówNode’om możemy przypisać prace Np. sprzątanie, siedzenie, jedzenie itd. Node’y mogą być manipulowane z poziomu skryptów Ustawianie na nich NPC‘ów, wrogów itp.. blokowanie przejścia dla NPC‘ów
28 Pathfinding
29 Zachowania AI Zachowania NPC (non-player character) PredefiniowaneGeneryczne
30 Zachowania AI Predefiniowane Jako prace na Node’ach Głoszenie przemowySprzątanie Żebranie Itp..
31 Zachowania AI Generyczne Sytuacyjne w odniesieniu do W trakcie walkiOtoczenia Rzucenie pieniążka bezdomnemu Klaskanie lub taniec przy grajku Kupowanie przy straganach Gracza Ucieczka gdy gracz atakuje Pokazywanie palcem jeśli gracz się wspina W trakcie walki Przy ucieczce W odniesieniu do obiektów fizycznych
32 Walka Założenia Każdy typ przeciwnika posiada indywidualne zachowanieWalka indywidualna i grupowa powinna być dla gracza wyzwaniem Wrogowie musza posiadać indywidualne reakcje na inne typy przeciwników znajdujące się w pobliżu Na złożenie AI mamy 3 miesiące
33 System walki Specyfikacje SystemuBrain przeciwnika zapisany jest jako graph Każda akcja może być połączona za pomocom linków z dowolna ilością innych akcji. Decyzje podejmowane są w grafie zachowań według: Triggerów i priorytetów
34 System walki Action (rep. Jako Node) Triggery (rep. Jako Link) AttackencircleTarget decreaseDistance Triggery (rep. Jako Link) dayPeriod warriorHealthRate warriorDistanceToSpawnPoint
35 System walki Algorytm podejmowania decyzji:Sprawdzane są wszystkie warunki (triggery) i układane w przypadkowej kolejności w liście Triggery odchodzące od danej akcji są sortowane wg priorytetów (jeśli jest spełnione > niż 1 warunek) Jeśli nadal mamy więcej niż 1 link przejściowy to wybierany jest pierwszy z listy
36 System walki Przykładowy graph zachowania małpy
37 System walki
38 System walki
39 System walki Projektowanie walki grupowejwalka grupowa jest oparta na przydzielaniu „kawałków tortu” (slotów od ). Wielkość kawałków które mogą być przydzielone ustala Projektant.
40 System walki Działanie:Każda postać ma wokół siebie ograniczoną przestrzeń do prowadzenia walki – tzw. ilość „slotów” wyrażoną w [0..1] Każda postać atakująca potrzebuje określonej ilość „slotów” dookoła swojego celu do przeprowadzenia ataku (np. potężne ogry więcej niż gobliny) Jeśli atakujący „nie mieści się” dookoła celu, zaczyna aktywne oczekiwanie na zwolnienie się slotów. W tym czasie może prowadzić działania wspomagające jak np. leczenie
41 System walki Przykładowe zachowanie Małpy: podbiega i atakujejeśli zostanie zaatakowana ucieka i z dystansu atakuje bananem jeśli jedna umrze wszystkie uciekają i czekają chwile aż im się znowu podwyższą „morale” poczym wracają i dalej atakują
42 System walki Przykładowe zachowanie Fat Bob: Pluje na gracza truciznaJeśli gracz zaatakuje go mieczem (normalne uderzenie) to pęka – a z jego brzucha wyskakują 2 tasiemce które walczą z bohaterem. Jeśli nie chcemy walczyć z jego wnętrznościami to atakujemy z wyskoku unikając trafień w brzuch
43 System walki Uniqu Składanie złożonych zachowań w parę minutSzybkie zlokalizowanie I naprawienie Bugów Większość błędów można wyłapać w edytorze Na walkę wpływa wiele czynników jak pora dnia, ilość przeciwników, broń użyta przez gracza, morale itd.
44 AI w TW: The Temptation Kkk
45 Podsumowanie For more information contact me [email protected] Slides will be available at Drobot.org
46 Questions ?