Gry Wideo Drzewa Zachowa i Hierarchiczne Systemy Sztucznej

  • Slides: 53
Download presentation
Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji Michał Słapa Projekt współfinansowany przez

Gry Wideo: Drzewa Zachowań i Hierarchiczne Systemy Sztucznej Inteligencji Michał Słapa Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Michał Słapa o mnie CD Projekt Red (2006 -2009) Ø Wiedźmin Projekt współfinansowany przez

Michał Słapa o mnie CD Projekt Red (2006 -2009) Ø Wiedźmin Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 2

Michał Słapa o mnie CD Projekt Red (2006 -2009) Ø Wiedźmin Ø Prototyp Wiedźmina

Michał Słapa o mnie CD Projekt Red (2006 -2009) Ø Wiedźmin Ø Prototyp Wiedźmina 2 Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 3

Michał Słapa o mnie CD Projekt Red (2006 -2009) Ø Wiedźmin Ø Prototyp Wiedźmina

Michał Słapa o mnie CD Projekt Red (2006 -2009) Ø Wiedźmin Ø Prototyp Wiedźmina 2 Flying Wild Hog (od 2009 -VII 2012) Ø Hard Reset Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 4

Michał Słapa o mnie CD Projekt Red (2006 -2009) Ø Wiedźmin Ø Prototyp Wiedźmina

Michał Słapa o mnie CD Projekt Red (2006 -2009) Ø Wiedźmin Ø Prototyp Wiedźmina 2 Flying Wild Hog (od 2009 -VII 2012) Ø Hard Reset Ø Kolejny projekt Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 5

Michał Słapa o mnie CD Projekt Red (2006 -2009) Ø Wiedźmin Ø Prototyp Wiedźmina

Michał Słapa o mnie CD Projekt Red (2006 -2009) Ø Wiedźmin Ø Prototyp Wiedźmina 2 Flying Wild Hog (od 2009 -VII 2012) Ø Hard Reset Ø Kolejny projekt CD Projekt Red (od lipca 2012) Ø Dark fantasy RPG Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 6

Gry komputerowe Wprowadzenie Ø Stale rozwijająca i przyśpieszająca branża „elektronicznej rozrywki”. Ø Dzięki coraz

Gry komputerowe Wprowadzenie Ø Stale rozwijająca i przyśpieszająca branża „elektronicznej rozrywki”. Ø Dzięki coraz to nowym platformom do gier, branża staje się coraz bardziej różnorodna i spolaryzowana: Ø Ø Ø Ø Wielkobudżetowe gry AAA. Tańsze gry „mainstream’owe” Niskobudżetowe tytuły „indie” Social gaming Massive Multiplayer Free to play Gry casual Gry na platformy mobilne – telefony, tablety Ø Miejsce zarówno dla dużych korporacji, prywatnych developerów, ale też kilkuosobowych zespołów. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 7

Gry komputerowe Wprowadzenie Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 8

Gry komputerowe Wprowadzenie Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 8

Gry komputerowe Wprowadzenie Ø Programiści stanowią proporcjonalnie niewielką część zespołu: Ø Ø Ø Artyści

Gry komputerowe Wprowadzenie Ø Programiści stanowią proporcjonalnie niewielką część zespołu: Ø Ø Ø Artyści Design QA Produkcja Programiści Ø Stały kontakt z ludźmi z różnych specjalizacji. Mniej lub bardziej technicznymi, mniej lub bardziej artystycznymi, ale zawsze fanami gier. Ø Przy pracy nad AI programista musi stale i blisko współpracować z Designem. W zależności od specyfiki firmy: Ø Odpowiada za serce systemu, bądź też implementację konkretnych zachowań i przeciwników. Ø Ma mniej lub więcej swobody w tworzeniu zachowań. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 9

Plan prezentacji Ø Ø Projektowanie systemu AI Charakterystyka Skończonych Maszyn Stanów. Hierarchiczne Drzewa Zachowań.

Plan prezentacji Ø Ø Projektowanie systemu AI Charakterystyka Skończonych Maszyn Stanów. Hierarchiczne Drzewa Zachowań. Wnioski Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 10

AI marzeń dla programisty Ø Prosta, spójna i logiczna struktura Ø Skalowalność: Ø Systemu

AI marzeń dla programisty Ø Prosta, spójna i logiczna struktura Ø Skalowalność: Ø Systemu Ø Zachowań Ø Możliwość jednoczesnej realizacji wysoko poziomowego procesu decyzyjnego i niskopoziomowego sterowania Ø Atomowe, hermetyczne akcje Ø Łatwy reuse kodu Ø Wydajność Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 11

AI marzeń dla designera Ø Prosta, spójna i logiczna struktura Ø Łatwy w projektowaniu

AI marzeń dla designera Ø Prosta, spójna i logiczna struktura Ø Łatwy w projektowaniu Ø Łatwy w skryptowaniu Ø Przewidywalne działanie Ø Konfiguracja Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 12

Zabieramy się za AI Zagrożenia Ø Róbmy AI wcześnie, inaczej skończymy w sytuacji gdy

Zabieramy się za AI Zagrożenia Ø Róbmy AI wcześnie, inaczej skończymy w sytuacji gdy wiele systemów, które powinno na nim bazować będzie zrobione "obok". Ø Róbmy JEDEN system AI obejmujący wszystkie mechanizmy decyzyjne. Ø Design czasem chce AI, które już zaprojektował. Nie dajmy narzucać sobie rozwiązań systemowych. Ø Nie próbujmy być zbyt sprytni (przerost autonomii). Ø Nie bójmy się sprytnych rozwiązań (unikajmy łopatologii). Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 13

Zabieramy się za AI „Atom” AI Zachowanie/Stan/Zadanie Ø Może byc bezstanowy, lub miec wewnętrzny

Zabieramy się za AI „Atom” AI Zachowanie/Stan/Zadanie Ø Może byc bezstanowy, lub miec wewnętrzny stan Ø Definiuje metody: Ø Aktywacji Ø Deaktywacji Ø Update Ø Odpowiedź na zdarzenia Ø + i dużo innych Ø Systemy AI o jakich będziemy mówić różnią się mechanizmami łączenia i zarządzania tymi atomami. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 14

Maszyna stanów Idea Ø Swojego czasu najpopularniejsza struktura systemu sztucznej inteligencji. Ø Atomowe zachowania

Maszyna stanów Idea Ø Swojego czasu najpopularniejsza struktura systemu sztucznej inteligencji. Ø Atomowe zachowania AI implementowane są przez stany maszyny. Ø Pomiędzy stanami definiowane są skierowane przejścia i ich warunki. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 15

Maszyna stanów Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 16

Maszyna stanów Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 16

Maszyna stanów Ø Dodajmy do gry efekt czaru „Strach”. Projekt współfinansowany przez Unię Europejską

Maszyna stanów Ø Dodajmy do gry efekt czaru „Strach”. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 17

Maszyna stanów Ø Dodajmy nowy wierzchołek Projekt współfinansowany przez Unię Europejską w ramach Europejskiego

Maszyna stanów Ø Dodajmy nowy wierzchołek Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 18

Maszyna stanów Ø Albo całą funkcjonalność… Projekt współfinansowany przez Unię Europejską w ramach Europejskiego

Maszyna stanów Ø Albo całą funkcjonalność… Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 19

Maszyna stanów Dla designera Ø Zalety Ø Ø Czytelny Łatwy w projektowaniu Łatwy w

Maszyna stanów Dla designera Ø Zalety Ø Ø Czytelny Łatwy w projektowaniu Łatwy w skryptowaniu Przewidywalne działanie Ø Wady Ø Jak to się komplikuje. . . (kwadratowy rząd ilości połączeń do wielkości grafu) Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 20

Maszyna stanów Dla programisty Ø Zalety Ø Prostota, spójna i logiczna struktura Ø Wady

Maszyna stanów Dla programisty Ø Zalety Ø Prostota, spójna i logiczna struktura Ø Wady Ø NIE- Atomowe stany Ø NIE- Hermetyczne stany Ø CIĘŻKI reuse kodu Ø BRAK Skalowalności Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 21

Maszyna stanów Grzech główny Płaska struktura AI zaimplementowane na zadanym poziomie. Problem z zaimplementowaniem

Maszyna stanów Grzech główny Płaska struktura AI zaimplementowane na zadanym poziomie. Problem z zaimplementowaniem wysokopoziomowych procesów decyzyjnych i konieczność tworzenia wrapperów na niskopoziomowe sterowanie. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 22

Maszyna stanów Przykład The Witcher Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu

Maszyna stanów Przykład The Witcher Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 23

Inne podejścia Ø Planowanie Ø Hierarchiczne FSM Ø Drzewa Zachowań (Behavior Tree) Ø Goal

Inne podejścia Ø Planowanie Ø Hierarchiczne FSM Ø Drzewa Zachowań (Behavior Tree) Ø Goal Based Behavior Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 24

Drzewa Zachowań Idea Ø Wprowadźmy pojęcie wierzchołka drzewa == zachowania złożonego mającego pod sobą

Drzewa Zachowań Idea Ø Wprowadźmy pojęcie wierzchołka drzewa == zachowania złożonego mającego pod sobą uporządkowany zbiór zachowań. Ø � Zastąpmy maszynę stanów korzeniem drzewa -"Mózgiem". Ø Niech każdy stan jest w stanie stwierdzić czy są spełnione warunki by mógł się wykonywać. Ø Ewentualnie niech warunki wykonania każdego "zachowania" określa osobny funkcyjny obiekt z nim związany. Ø Wprowadźmy prosty proces decyzyjny dla stanu złożonego - gdy jest aktywny, wówczas aktywuje on pierwszy dostępny ze swoich podstanów. Ø Otrzymamy strukturę drzewiastą w którym węzły są stanami wyższego rzędu, a liście - niskiego. W drzewie jednocześnie aktywna jest cała gałąź zachowań. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 25

Drzewa Zachowań Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 26

Drzewa Zachowań Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 26

Drzewa Zachowań Proces decyzyjny • Węzeł złożony ewaluuje swoje dzieci � • aż trafi

Drzewa Zachowań Proces decyzyjny • Węzeł złożony ewaluuje swoje dzieci � • aż trafi na gotowe. Możliwe uproszczenie, że co najmniej jedno dziecko węzła jest gotowe. o o Umożliwia niezależne ewaluacje wierzchołków, upraszcza proces decyzyjny. Wymusza dokładniejsze testy warunków wierzchołka rodzica. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 27

Drzewa Zachowań Proces decyzyjny - optymalizacja Ø Potężna optymalizacja: reewaluacja procesu decyzyjnego odbywa się

Drzewa Zachowań Proces decyzyjny - optymalizacja Ø Potężna optymalizacja: reewaluacja procesu decyzyjnego odbywa się możliwie rzadko - powiedzmy raz na 1 -2 sekundy. Ø W odpowiedzi na zdarzenia możemy wymusić reewaluację wierzchołka w następnej klatce. Dzięki temu reakcja na zdarzenia będące "bodźcem" jest natychmiastowa. Ø Optymalizacja powoduje przypadkowe ale też całkiem naturalne ("ludzkie") opóźnienia w reakcji AI na zmiany środowiska nie dotyczące go bezpośrednio. Ø W Hard Reset całe AI działało w języku skryptowym, poza tym nie miało wielu innych optymalizacji o których wspomnę w tej prezentacji. Mimo tego, dzięki rzadkim aktualizacjom złożonych wierzchołków nigdy nie wyskakiwało wysoko w profilerach. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 28

Drzewa Zachowań Cykl wykonania węzła Ø Aktywacja - Activate Ø Aktualizacje - Update Ø

Drzewa Zachowań Cykl wykonania węzła Ø Aktywacja - Activate Ø Aktualizacje - Update Ø Zakończenie wykonania: Ø Jeśli zachowanie się wykonało wywołuje Complete, które z kolei wykonuje Deactivate. Ø Jeśli wykonanie węzła zostanie wywłaszczone przez proces decyzyjny - węzeł dostaje Deactivate. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 29

Drzewa Zachowań Przechwytywanie zdarzeń Podstawowy mechanizm - zdarzenie przechodzi przez całą gałąź aktywnych zadań.

Drzewa Zachowań Przechwytywanie zdarzeń Podstawowy mechanizm - zdarzenie przechodzi przez całą gałąź aktywnych zadań. Dodatkowy mechanizm węzły mogą rejestrować się na odsłuch konkretnych eventów. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 30

Drzewa Zachowań Przechwytywanie zdarzeń Węzeł obsługujący zdarzenie może poprosić "rodzica" o reewaluację ponieważ zdarzenie

Drzewa Zachowań Przechwytywanie zdarzeń Węzeł obsługujący zdarzenie może poprosić "rodzica" o reewaluację ponieważ zdarzenie zmieniło jego stan wewnętrzny Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 31

Rozwinięcia Drzew Zachowań Narzucane zadania Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu

Rozwinięcia Drzew Zachowań Narzucane zadania Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 32

Rozwinięcia Drzew Zachowań Sekwencje Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Rozwinięcia Drzew Zachowań Sekwencje Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 33

Rozwinięcia Drzew Zachowań Dekoratory Ø Bardzo często będziemy spotykali się z zapotrzebowaniem na akcje

Rozwinięcia Drzew Zachowań Dekoratory Ø Bardzo często będziemy spotykali się z zapotrzebowaniem na akcje AI, które właściwie już zaimplementowaliśmy, ale do których potrzebujemy wprowadzić "małe" zmiany. Ø Potrzebujemy alternatywy dla mechanizmu dziedziczenia klas akcji. Ø Wykorzystajmy wzorzec projektowy "dekorator" do zmodyfikowania działania węzła potomnego. Ø Umożliwia budowanie całego AI w oparciu o bardzo podstawowe, ale dodatkowo oskyptowane akcje. Ø Właściwie stosowane dekoratory upraszczają cały system AI, zmniejszają ilość klas, zależności projektowych i zapobiegają karkołomnemu dziedziczeniu. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 34

Rozwinięcia Drzew Zachowań Konfiguracja By umożliwić prawdziwy reuse kodu, skalowalność systemu i ograniczyć stosowanie

Rozwinięcia Drzew Zachowań Konfiguracja By umożliwić prawdziwy reuse kodu, skalowalność systemu i ograniczyć stosowanie metody Kopjego-Pejsta: Ø Najpierw oczywistość: wszystkie węzły drzewa powinny móc być parametryzowane z poziomu definicji AI. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 35

Rozwinięcia Drzew Zachowań Konfiguracja Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Rozwinięcia Drzew Zachowań Konfiguracja Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 36

Rozwinięcia Drzew Zachowań Konfiguracja By umożliwić prawdziwy reuse kodu, skalowalność systemu i ograniczyć stosowanie

Rozwinięcia Drzew Zachowań Konfiguracja By umożliwić prawdziwy reuse kodu, skalowalność systemu i ograniczyć stosowanie metody Kopjego-Pejsta: Ø Najpierw oczywistość: wszystkie węzły drzewa powinny móc być parametryzowane z poziomu definicji AI. Ø Pozwólmy zapisywać dowolne definicje AI (również całe Drzewa Zachowań) by wykorzystywać je w innych definicjach na równi z wbudowanymi zachowaniami. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 37

Rozwinięcia Drzew Zachowań Konfiguracja Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Rozwinięcia Drzew Zachowań Konfiguracja Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 38

Rozwinięcia Drzew Zachowań Konfiguracja By umożliwić prawdziwy reuse kodu, skalowalność systemu i ograniczyć stosowanie

Rozwinięcia Drzew Zachowań Konfiguracja By umożliwić prawdziwy reuse kodu, skalowalność systemu i ograniczyć stosowanie metody Kopjego-Pejsta: Ø Najpierw oczywistość: wszystkie węzły drzewa powinny móc być parametryzowane z poziomu definicji AI. Ø Pozwólmy zapisywać dowolne definicje AI (również całe Drzewa Zachowań) by wykorzystywać je w innych definicjach na równi z wbudowanymi zachowaniami. Ø Niech zapisane definicje AI mogą również parametryzować się dowolnymi zmiennymi. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 39

Rozwinięcia Drzew Zachowań Konfiguracja Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Rozwinięcia Drzew Zachowań Konfiguracja Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 40

Rozwinięcia Drzew Zachowań Konfiguracja By umożliwić prawdziwy reuse kodu, skalowalność systemu i ograniczyć stosowanie

Rozwinięcia Drzew Zachowań Konfiguracja By umożliwić prawdziwy reuse kodu, skalowalność systemu i ograniczyć stosowanie metody Kopjego-Pejsta: Ø Najpierw oczywistość: wszystkie węzły drzewa powinny móc być parametryzowane z poziomu definicji AI. Ø Pozwólmy zapisywać dowolne definicje AI (również całe Drzewa Zachowań) by wykorzystywać je w innych definicjach na równi z wbudowanymi zachowaniami. Ø Niech zapisane definicje AI mogą również parametryzować się dowolnymi zmiennymi. Ø Niech parametrem węzła może być inny węzeł. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 41

Rozwinięcia Drzew Zachowań Konfiguracja Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Rozwinięcia Drzew Zachowań Konfiguracja Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 42

Rozwinięcia Drzew Zachowań Konfiguracja Ø Zależne od parametrów wierzchołki opcjonalne. Projekt współfinansowany przez Unię

Rozwinięcia Drzew Zachowań Konfiguracja Ø Zależne od parametrów wierzchołki opcjonalne. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 43

Rozwinięcia Drzew Zachowań Blackboard Ø Problem reprezentacji wiedzy i optymalizacji zapytań. Ø AI powinno

Rozwinięcia Drzew Zachowań Blackboard Ø Problem reprezentacji wiedzy i optymalizacji zapytań. Ø AI powinno posiadać pewien obiekt reprezentujący bazę "wiedzy". Ø Możliwe postaci: Ø Aktualizowany na bieżąco zbiór identyfikatorów i ich wartości reprezentujących wiedzę obiektu. Ø Opierający się o uleniwione zmienne obiekt funkcyjny wyliczający częste podzapytania wykonywane przez AI. Ø Hybryda obu powyższych. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 44

Drzew Zachowań Problemy Ø Ciężko reprezentować warunek "jeśli «coś» lub jeśli następujące węzły są

Drzew Zachowań Problemy Ø Ciężko reprezentować warunek "jeśli «coś» lub jeśli następujące węzły są niedostępne". Ø Ciężko reprezentować nie deterministyczne drzewa. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 45

Drzew Zachowań Rozwiązanie - rozmyta ewaluacja Projekt współfinansowany przez Unię Europejską w ramach Europejskiego

Drzew Zachowań Rozwiązanie - rozmyta ewaluacja Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 46

Drzew Zachowań Rozmyta ewaluacja Modyfikacja procesu decyzyjnego. Wierzchołki zwracają swój priorytet na podstawie którego

Drzew Zachowań Rozmyta ewaluacja Modyfikacja procesu decyzyjnego. Wierzchołki zwracają swój priorytet na podstawie którego podejmowany jest wybór. Zalety Wady "Mocniejszy" mechanizm Rozwiązuje przedstawione problemy Utrudniona czytelność drzewa Gorsza atomowość zadań Kosztowniejszy proces decyzyjny Można zastosować rozwiązanie hybrydowe (w którym na różnych poziomach mamy różne procesy decyzyjne). Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 47

Drzew Zachowań Problemy Ø Decyzje a hierarchia. Projekt współfinansowany przez Unię Europejską w ramach

Drzew Zachowań Problemy Ø Decyzje a hierarchia. Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 48

Hierarchiczne system AI Ø Wszystkie systemy hierarchiczne są podobne! Ø Moja propozycja: niech ciężar

Hierarchiczne system AI Ø Wszystkie systemy hierarchiczne są podobne! Ø Moja propozycja: niech ciężar implementacyjny spoczywa na klasach węzłów. Ø Implementacje węzłów bazowych są "proste" w odniesieniu do implementacji konkretnych AI przeciwników. Ø Hierarchiczne systemy AI różnią się tylko szczegółami, przy odpowiedniej architekturze możemy swobodnie między nimi się przemieszczać: Ø Ø Hierarchiczne FSM Drzewa zachowań Logika rozmyta Planowanie Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 49

Hierarchiczne system AI Przykład: Behavior Tree vs HFSM Projekt współfinansowany przez Unię Europejską w

Hierarchiczne system AI Przykład: Behavior Tree vs HFSM Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 50

Hierarchiczne system AI Ø Nie ma idealnego rozwiązania. Ø Wymyśl własną hybrydę! Projekt współfinansowany

Hierarchiczne system AI Ø Nie ma idealnego rozwiązania. Ø Wymyśl własną hybrydę! Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 51

Pytania ? Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 52

Pytania ? Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 52

Dziękuję za wykład Garść linków Ø Niezły tekst o Drzewach Zachowań na AIGamedev. com

Dziękuję za wykład Garść linków Ø Niezły tekst o Drzewach Zachowań na AIGamedev. com http: //aigamedev. com/insider/presentations/behavior-trees/ Ø Drzewa Zachowań w Spore http: //chrishecker. com/My_Liner_Notes_for_Spore/Spore_Behavior_Tree_Docs Ø Goal Oriented Action Planning == FEAR http: //web. media. mit. edu/~jorkin/goap. html Ø Drzewa Zachowań a Crysis http: //files. aigamedev. com/coverage/GAIC 09_Coordinating. Agents_Ricardo. Pillosu. pdf Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego 53