160 likes | 366 Views
Promotor: dr inż. Leszek Koszałka Autor: Markuszewski Kamil 171016. Analiza porównawcza wybranych metod sztucznej inteligencji w komputerowych grach strategicznych Comparative analysis of artificial iteligece methods applied to strategy games. Komputerowe gry strategiczne. Początki
E N D
Promotor: dr inż. Leszek Koszałka Autor: Markuszewski Kamil 171016 Analiza porównawcza wybranych metod sztucznej inteligencji w komputerowych grach strategicznychComparative analysis of artificial iteligece methods applied to strategy games
Komputerowe gry strategiczne • Początki • Kartka i ołówek – gra turowa • Aktualnie • Komputerowe gry strategiczne • Turowe lub czasu rzeczywistego (RTS) • Rywalizacja dwóch lub więcej graczy • W moim projekcie: • Gra turowa • Rozgrywka na siatce złożonej w kwadratów • Gracz przeciwko SI
SI w grach - praktyka • Stworzenie wrażenia realizmu • NPC ma swoją wiedze i nie może poza nią wykroczyć • Wszelkie zdarzenia muszą być racjonalne • Sterowanie NPC • Ludzkie zachowania i cechy • Symulacja rozmowy • Nastawienie do gracza • Cele, priorytety (działania strategiczne, taktyczne i operacyjne) • Zachowanie • Wrażenie inteligencji • Algorytmy stadne
SI w grach - praktyka • Komentowanie wydarzeń • Wspomaganie decyzji gracza • Proponowanie kilku sensownych rozwiązań spośród wielu • Algorytmy grafowe • Rozmieszczenie graczy, NPC, obiektów na planszy • Wyszukiwanie najkrótszej drogi • Definiowanie celów w oparciu o odległości • Sztuczne sieci neuronowe • Uczenie NPC w oparciu o rozwiązania używane przez gracza • Szukanie optymalnych taktyk
Cele • Wybór problemów do analizy • Implementacja rozwiązań • Propozycja własnych modyfikacji • Porównanie rozwiązań, efektywności algorytmów • Stworzenie prostej gry strategicznej
Sztuczna inteligencja Co postanowiłem poruszyć: Szukanie ścieżki (algorytmy ewolucyjne, operacje na grafach) Logika rozmyta i automaty stanów skończonych (cele i zachowania) Drzewa decyzyjne (wybór taktyki) Wspomaganie decyzji Sterowanie Czym się nie zajmę: Sztuczne sieci neuronowe Naśladowanie zachowań
Sztuczna inteligencja Co postanowiłem poruszyć: Szukanie ścieżki Przekształcanie siatki na graf (różne metody) Algorytm A* i jego modyfikacje Najkrótsza droga (różna wydajność) Logika rozmyta i Automaty stanów skończonych Cele i ocena stanu „agentów” Nasłuchiwanie, a komunikaty Drzewa decyzyjne Zastosowanie w wyborze optymalnej taktyki operacyjnej Ograniczony stan wiedzy Uwzględnienie w grafach ograniczonej wiedzy Algorytmy stadne Na przykładzie „agentów neutralnych”
Kryteria analizy rozwiązań • Czas działania • Wpływ na skomplikowanie gry • Wpływ na realizm • Niezawodność realizmu
Projekt gry • 2 graczy • Plansza – siatka odwzorowana na graf • Obiekty: przeszkoda, zasoby, jednostki, budynki • Warunek wygranej: zniszczenie budynku przeciwnika
Technologie • Strona logiki: Algorytmy • C# • .Net 3.5 • Strona Wizualna • Unity 3d • C# • JavaScript
Bibliografia: SI w grach • Perełki programowania gier. Vademecum profesjonalisty. Dante Treglia, Mark DeLoura. Tom 1. • http://aigamedev.com/ • Forum, artykuły, gotowe rozwiązania (ang.) • http://www.gameai.com/ • Lista dyskusyjna, zbiór publikacji (ang.)
Bibliografia: Unity 3d • Unity 3D Game Development by Example Beginner's Guide - Ryan Creighton (ang.) • Unity Game Development Essentials - Will Goldstone (ang.) • unity3d.com/ Unity: Game Development Tool (ang.) • unity3d.com/support/documentation/ScriptReference/index.html (ang.) • unity3d.com/support/documentation/Manual/index.html (ang.)
Bibliografia: Algorytmy • Grafy, drzewa, algorytmy genetyczne • Algorytmy i struktury danych - Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman • P# • http://zine.net.pl/blogs/mgrzeg/archive/2007/04/10/psharpintro.aspx • Algorytmy stadne • http://zsi.ii.us.edu.pl/~mboryczka/IntStad/ • http://zsi.ii.us.edu.pl/~mboryczka/materialy.html