Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Game Developement AI TW: The Temptation Michał Drobot Visual Technical Director Paweł Weder Lead Game Designer Reality Pump.

Podobne prezentacje


Prezentacja na temat: "Game Developement AI TW: The Temptation Michał Drobot Visual Technical Director Paweł Weder Lead Game Designer Reality Pump."— Zapis prezentacji:

1 Game Developement AI TW: The Temptation Michał Drobot Visual Technical Director Paweł Weder Lead Game Designer Reality Pump

2 Plan wykładu : Podstawy AI – nauka a praktykaAI – nauka a praktyka Znaczenie i zastosowanie w grachZnaczenie i zastosowanie w grach Podstawowe techniki AIPodstawowe techniki AI Podstawy budowy systemów AIPodstawy budowy systemów AI Praktyczne zastosowania na podstawie TW: The TemptationPraktyczne zastosowania na podstawie TW: The Temptation

3 AI – nauka a praktyka Nauka dąży do maksymalnego odwzorowania poprawności opisu matematycznego rzeczywistościNauka dąży do maksymalnego odwzorowania poprawności opisu matematycznego rzeczywistości Często mało wydajne rozwiązaniaCzęsto mało wydajne rozwiązania Na obecnym etapie nie istnieje system będący w stanie udawać człowieka w kompleksowym środowisku gryNa obecnym etapie nie istnieje system będący w stanie udawać człowieka w kompleksowym środowisku gry Produkcja AI do gier kładzie nacisk naProdukcja AI do gier kładzie nacisk na Tworzenie percepcyjnie poprawnego AITworzenie percepcyjnie poprawnego AI Wydajność oraz skalowalność systemuWydajność oraz skalowalność systemu

4 AI – nauka a praktyka AI w grach stanowi połączenieAI w grach stanowi połączenie Rozwiązań naukowychRozwiązań naukowych Przeskalowanych pod względem wydajności oraz skali do świata gierPrzeskalowanych pod względem wydajności oraz skali do świata gier Rozwiązań proceduralnychRozwiązań proceduralnych Rozwiązań odgórnych (skrypty itp..)Rozwiązań odgórnych (skrypty itp..)

5 Znaczenie i zastosowanie W przeciągu ostatniej dekady doszło do rewolucji graficznej oraz gameplayowejW przeciągu ostatniej dekady doszło do rewolucji graficznej oraz gameplayowej AI jedynie ewoluowało, często jednak pozostając na podobnym poziomieAI jedynie ewoluowało, często jednak pozostając na podobnym poziomie Pierwsze AI do FPP miały 20 linii koduPierwsze AI do FPP miały 20 linii kodu Obecnie zdarza się, że AI stoi na podobnym poziomieObecnie zdarza się, że AI stoi na podobnym poziomie

6 Znaczenie i zastosowanie Sytuacja wynikła zSytuacja wynikła z Braku wsparcia oraz istnienia konkretnej platformyBraku wsparcia oraz istnienia konkretnej platformy Brak SDK jak w środowiskach graficznychBrak SDK jak w środowiskach graficznych Stosunkowo duży nacisk lobby graficznegoStosunkowo duży nacisk lobby graficznego Małe zainteresowanie graczyMałe zainteresowanie graczy Brak zasobów pamięciowych oraz wydajnościowychBrak zasobów pamięciowych oraz wydajnościowych

7 Znaczenie i zastosowanie Obecnie coraz większy nacisk na rozwój AIObecnie coraz większy nacisk na rozwój AI Często ważny element gameplayuCzęsto ważny element gameplayu Wizualizacje efektownych zjawisk wymagają systemów AIWizualizacje efektownych zjawisk wymagają systemów AI Zarządzanie tłumemZarządzanie tłumem BitwyBitwy Symulacje miejskieSymulacje miejskie Zaawansowane systemu cząteczkoweZaawansowane systemu cząteczkowe

8 Znaczenie i zastosowanie Zaawansowane metody AI w grachZaawansowane metody AI w grach F.E.A.RF.E.A.R Zaawansowane AI oparte na FSM, Fuzzy Logic oraz pamięci udającej system uczącyZaawansowane AI oparte na FSM, Fuzzy Logic oraz pamięci udającej system uczący FORZA 2FORZA 2 Sieci neuronowe dokonujące korekt skrętów podczas przejazdu samochodów przez torSieci neuronowe dokonujące korekt skrętów podczas przejazdu samochodów przez tor SporeSpore Proceduralne AI grup oraz animacji szkieletowejProceduralne AI grup oraz animacji szkieletowej

9 Znaczenie i zastosowanie Zaczyna pojawiać się middlewareZaczyna pojawiać się middleware XaitementXaitement Kompletny system wraz z narzędziami do obsługi hierarchicznych FSM, Fuzzy Logic, Path Planning, Crowd control, Procedural BehaviourKompletny system wraz z narzędziami do obsługi hierarchicznych FSM, Fuzzy Logic, Path Planning, Crowd control, Procedural Behaviour EuphoriaEuphoria System animacji proceduralno-behawioralnej oparty na biomechanice i reakcjach natychmiastowych żywych organizmówSystem animacji proceduralno-behawioralnej oparty na biomechanice i reakcjach natychmiastowych żywych organizmów

10 Znaczenie i zastosowanie Wystarczająca moc obliczeniowaWystarczająca moc obliczeniowa GPUGPU Obliczenia równoległe na dużych zbiorach danychObliczenia równoległe na dużych zbiorach danych FlockingFlocking SteeringSteering ParticlesParticles MultithreadingMultithreading Możliwość desygnacji pojedynczego wątku / CPU na stałe dla obliczeń AIMożliwość desygnacji pojedynczego wątku / CPU na stałe dla obliczeń AI

11 Podstawowe techniki AI FSMFSM Autonomous agentsAutonomous agents Steering behavioursSteering behaviours Flocking behavioursFlocking behaviours Graph searchGraph search Path planningPath planning Fuzzy logicFuzzy logic

12 Podstawowe techniki AI FSMFSM Maszyny stanów skończonychMaszyny stanów skończonych Hierarchiczne, uruchamiające pomniejsze automatyHierarchiczne, uruchamiające pomniejsze automaty Rozbudowane systemy wejść, wykonań oraz wyjść ze stanu do stanu w razie zaistnienia konkretnych warunkówRozbudowane systemy wejść, wykonań oraz wyjść ze stanu do stanu w razie zaistnienia konkretnych warunków

13 Podstawowe techniki AI Autonomous agentsAutonomous agents Jednostki posiadające warstwę percepcyjną, decyzyjną oraz lokomocyjnąJednostki posiadające warstwę percepcyjną, decyzyjną oraz lokomocyjną Percepcyjna automatycznie poznaje otoczenie np. poprzez próbkowanie przestrzeni dookołaPercepcyjna automatycznie poznaje otoczenie np. poprzez próbkowanie przestrzeni dookoła Decyzyjna podejmuję konkretne działania jak np. podążanie za zapachem, do celu itp..Decyzyjna podejmuję konkretne działania jak np. podążanie za zapachem, do celu itp.. Lokomocyjna przemieszcza jednostkę w przestrzeni symulacji wg decyzji wyższych warstwLokomocyjna przemieszcza jednostkę w przestrzeni symulacji wg decyzji wyższych warstw

14 Podstawowe techniki AI Steering behavioursSteering behaviours Systemy operujące na obsłudze dużej ilości Autonomicznych AgentówSystemy operujące na obsłudze dużej ilości Autonomicznych Agentów Wydzielono konkretne rodzaje zachowań dla AAWydzielono konkretne rodzaje zachowań dla AA FollowFollow SeekSeek Arrive atArrive at EvadeEvade EscapeEscape Etc.Etc.

15 Podstawowe techniki AI Flocking behavioursFlocking behaviours Rozszerzają Steering Behaviours o dodatkową warstwęRozszerzają Steering Behaviours o dodatkową warstwę Warstwa zachowań grupowychWarstwa zachowań grupowych Parametrycznie wyznaczana jest decyzja ogólna grupyParametrycznie wyznaczana jest decyzja ogólna grupy Zachowanie całej grupy jest brane pod uwagę w podejmowaniu decyzji przez jendostkęZachowanie całej grupy jest brane pod uwagę w podejmowaniu decyzji przez jendostkę Dodaje zachowania : zgrupowania, rozproszenia, spójnościDodaje zachowania : zgrupowania, rozproszenia, spójności Umożliwia zachowania stadneUmożliwia zachowania stadne RybRyb PtakówPtaków SzarańczySzarańczy CząsteczekCząsteczek Etc.Etc.

16 Podstawowe techniki AI Graph searchGraph search Podstawowe techniki przeszukiwań grafówPodstawowe techniki przeszukiwań grafów Grafy rozmieszczane dynamicznie w środowisku gry bądź ręcznie przez designera w zależności od funkcji i potrzebGrafy rozmieszczane dynamicznie w środowisku gry bądź ręcznie przez designera w zależności od funkcji i potrzeb

17 Podstawowe techniki AI Path planningPath planning Planowanie przejść w środowisku (np. grafowym) przy uwzględnianiu dodatkowych czynnikówPlanowanie przejść w środowisku (np. grafowym) przy uwzględnianiu dodatkowych czynników Opłacalności konkretnej ścieżkiOpłacalności konkretnej ścieżki CzasCzas KosztKoszt RyzykoRyzyko Działań innych jednostek w świecie gryDziałań innych jednostek w świecie gry Ominięcie wrogiej armii w RTSieOminięcie wrogiej armii w RTSie Celów długoterminowychCelów długoterminowych Odcięcie drogi ucieczki przeciwnikowiOdcięcie drogi ucieczki przeciwnikowi

18 Podstawowe techniki AI Fuzzy logicFuzzy logic Logika rozmyta używana w automatach decyzyjnychLogika rozmyta używana w automatach decyzyjnych Wprowadza odrobinę randomizacji w podejmowanych decyzjachWprowadza odrobinę randomizacji w podejmowanych decyzjach Decyzje nie opierają się na wynikach binarnych lecz na języku zrozumiałym dla większości ludzi ;]Decyzje nie opierają się na wynikach binarnych lecz na języku zrozumiałym dla większości ludzi ;] DalejDalej BliżejBliżej NiedalekoNiedaleko MocnoMocno SłaboSłabo Etc.Etc.

19 Podstawy systemów AI System decyzyjnySystem decyzyjny Rodzaje rozwiązańRodzaje rozwiązań Decyzje strategiczneDecyzje strategiczne Decyzje taktyczneDecyzje taktyczne Reaktywność agentówReaktywność agentów Realizm systemuRealizm systemu GatunekGatunek

20 Podstawy systemów AI NawigacjaNawigacja systemy gridowesystemy gridowe pola stanówpola stanów mapy grafowemapy grafowe siatki nawigacyjnesiatki nawigacyjne

21 Plan wykładu : AI w TW:TT Pathfinding w TW: The TemptationPathfinding w TW: The Temptation Zachowania AIZachowania AI System walkiSystem walki

22 Pathfinding Przeszukiwanie grafów (Graph search)Przeszukiwanie grafów (Graph search) RRT (rapidly-exploring random tree)RRT (rapidly-exploring random tree)

23 Pathfinding Graph searchGraph search W przestrzeni przewidywalnejW przestrzeni przewidywalnej MiastaMiasta PomieszczeniaPomieszczenia LabiryntyLabirynty Zawiłych częściach lasu itd.Zawiłych częściach lasu itd.

24 Pathfinding

25 Pathfinding RRTRRT W przestrzeni nieprzewidywalnejW przestrzeni nieprzewidywalnej LasyLasy PustyniaPustynia Miejsca nie wyposażonych przez Leveldesignera w grafy (mogą to być również zaułki w miastach)Miejsca nie wyposażonych przez Leveldesignera w grafy (mogą to być również zaułki w miastach)

26 Pathfinding

27 Pathfinding & AI Dalsze zastosowania grafówDalsze zastosowania grafów Nodeom możemy przypisać praceNodeom możemy przypisać prace Np. sprzątanie, siedzenie, jedzenie itd.Np. sprzątanie, siedzenie, jedzenie itd. Nodey mogą być manipulowane z poziomu skryptówNodey mogą być manipulowane z poziomu skryptów Ustawianie na nich NPCów, wrogów itp..Ustawianie na nich NPCów, wrogów itp.. blokowanie przejścia dla NPCówblokowanie przejścia dla NPCów

28 Pathfinding

29 Zachowania AI Zachowania NPC (non-player character)Zachowania NPC (non-player character) PredefiniowanePredefiniowane GeneryczneGeneryczne

30 Zachowania AI PredefiniowanePredefiniowane Jako prace na NodeachJako prace na Nodeach Głoszenie przemowyGłoszenie przemowy SprzątanieSprzątanie ŻebranieŻebranie Itp..Itp..

31 Zachowania AI GeneryczneGeneryczne Sytuacyjne w odniesieniu doSytuacyjne w odniesieniu do OtoczeniaOtoczenia Rzucenie pieniążka bezdomnemuRzucenie pieniążka bezdomnemu Klaskanie lub taniec przy grajkuKlaskanie lub taniec przy grajku Kupowanie przy straganachKupowanie przy straganach GraczaGracza Ucieczka gdy gracz atakujeUcieczka gdy gracz atakuje Pokazywanie palcem jeśli gracz się wspinaPokazywanie palcem jeśli gracz się wspina W trakcie walkiW trakcie walki Przy ucieczcePrzy ucieczce W odniesieniu do obiektów fizycznychW odniesieniu do obiektów fizycznych

32 Walka ZałożeniaZałożenia Każdy typ przeciwnika posiada indywidualne zachowanieKażdy typ przeciwnika posiada indywidualne zachowanie Walka indywidualna i grupowa powinna być dla gracza wyzwaniemWalka indywidualna i grupowa powinna być dla gracza wyzwaniem Wrogowie musza posiadać indywidualne reakcje na inne typy przeciwników znajdujące się w pobliżuWrogowie musza posiadać indywidualne reakcje na inne typy przeciwników znajdujące się w pobliżu Na złożenie AI mamy 3 miesiąceNa złożenie AI mamy 3 miesiące

33 System walki Specyfikacje SystemuSpecyfikacje Systemu Brain przeciwnika zapisany jest jako graphBrain przeciwnika zapisany jest jako graph Każda akcja może być połączona za pomocom linków z dowolna ilością innych akcji.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:Decyzje podejmowane są w grafie zachowań według: Triggerów i priorytetówTriggerów i priorytetów

34 System walki Action (rep. Jako Node)Action (rep. Jako Node) AttackAttack encircleTargetencircleTarget decreaseDistancedecreaseDistance Triggery (rep. Jako Link)Triggery (rep. Jako Link) dayPerioddayPeriod warriorHealthRatewarriorHealthRate warriorDistanceToSpawnPointwarriorDistanceToSpawnPoint

35 System walki Algorytm podejmowania decyzji:Algorytm podejmowania decyzji: Sprawdzane są wszystkie warunki (triggery) i układane w przypadkowej kolejności w liścieSprawdzane 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)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 listyJeśli nadal mamy więcej niż 1 link przejściowy to wybierany jest pierwszy z listy

36 System walki Przykładowy graph zachowania małpyPrzykładowy graph zachowania małpy

37 System walki

38

39 Projektowanie walki grupowejProjektowanie walki grupowej walka grupowa jest oparta na przydzielaniu kawałków tortu (slotów od ).walka grupowa jest oparta na przydzielaniu kawałków tortu (slotów od ). Wielkość kawałków które mogą być przydzielone ustala Projektant.Wielkość kawałków które mogą być przydzielone ustala Projektant.

40 System walki Działanie: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ć 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)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. leczenieJeś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:Przykładowe zachowanie Małpy: podbiega i atakujepodbiega i atakuje jeśli zostanie zaatakowana ucieka i z dystansu atakuje bananemjeś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ą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:Przykładowe zachowanie Fat Bob: Pluje na gracza truciznaPluje na gracza trucizna Jeśli gracz zaatakuje go mieczem (normalne uderzenie) to pęka – a z jego brzucha wyskakują 2 tasiemce które walczą z bohaterem.Jeś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 brzuchJeśli nie chcemy walczyć z jego wnętrznościami to atakujemy z wyskoku unikając trafień w brzuch

43 System walki UniquUniqu Składanie złożonych zachowań w parę minutSkładanie złożonych zachowań w parę minut Szybkie zlokalizowanie I naprawienie BugówSzybkie zlokalizowanie I naprawienie Bugów Większość błędów można wyłapać w edytorzeWię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.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 KkkKkk

45 Podsumowanie For more information contact me Slides will be available at Drobot.org

46 Questions ?


Pobierz ppt "Game Developement AI TW: The Temptation Michał Drobot Visual Technical Director Paweł Weder Lead Game Designer Reality Pump."

Podobne prezentacje


Reklamy Google