Promotor: dr inż. Leszek Koszałka Autor: Markuszewski Kamil 171016
description
Transcript of 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
Promotor: dr inż. Leszek Koszałka
Autor: Markuszewski Kamil 171016
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
Wykres Ganta
Wykres Ganta – Zagadnienia SI