1 / 16

“Analiza i implementacja wybranych algorytmów sztucznej inteligencji w grze komputerowej”

“Analiza i implementacja wybranych algorytmów sztucznej inteligencji w grze komputerowej” wykonał Jarosław Orski promotor pracy: mgr Szymon Smaga. Agenda. Cele pracy Założenia gry, wymagania dla AI Wybrane algorytmy i ich warianty A*, metody podziału przestrzeni poszukiwań FSM i NFA

helmut
Télécharger la présentation

“Analiza i implementacja wybranych algorytmów sztucznej inteligencji w grze komputerowej”

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. “Analiza i implementacja wybranych algorytmów sztucznej inteligencji w grze komputerowej” wykonał Jarosław Orski promotor pracy: mgr Szymon Smaga

  2. Agenda • Cele pracy • Założenia gry, wymagania dla AI • Wybrane algorytmy i ich warianty • A*, metody podziału przestrzeni poszukiwań • FSM i NFA • Implementacja • Engine graficzny • Implementacja algorytmów • Możliwy rozwój projektu • Prezentacja aplikacji

  3. Cele Pracy • Zbadanie i zaimplementowanie wybranych algorytmów AI w grze komputerowej • Zbadanie współpracy platformy .NET i języka C# z otwartą bilblioteką OpenGL (Tao) • Zbadanie wydajności C# jako narzędzia do tworzenia trójwymiarowych gier komputerowych

  4. Założenia gry • Pojedynek dwóch czołgów na wirtualnym polu walki • Każdy posiada pewną prędkość poruszania się, ostrzału i poziom energii • Trafienie przeciwnika zmniejsza poziom energii • Jej poziom można odnowić wracając do bazy własnej • W sytuacji awarynej można użyć dopalacza • Zwycięża czołg, który pozbawi przeciwnika całej energii

  5. Wymagania dla AI • Poruszanie się po planszy gry • Omijanie przeszkód • Możliwość badania otoczenia • Reakcja na zmianę warunków • Podejmowanie decyzji na podstawie odbieranych sygnałówWybrane algorytmy: A*, FSM

  6. Wybrane algorytmy: A* • Popularny algorytm wyszukiwania ścieżki • Przeszukuje przestrzeń stanów i wybiera optymalny z uwagi na koszt ruchu • Koszt całkowity = koszt dotychczasowy + estymacja kosztu do celu • Szybkość działania, wybór stanu sąsiedniego, estymacja kosztu docelowego zależą od sposobu podziału przestrzeni

  7. A*: siatka prostokątna • Obszar gry podzielony równomiernie w kierunku x i y • Sąsiad = węzeł o indeksie różnym o 1 • Estymacja kosztu do celu metodą Manhattan + Naturalność podziału + Łatwość analizy i wykrywania błędów - Liczne stany nadmiarowe - Trudność doboru rozmiaru siatki - Konieczność oznaczenia stanów zabronionych

  8. A*: punkty widoczności • Węzły wyznaczone przez wypukłe wierzchołki przeszkód (+ margines na obrót obiektu) • Sąsiad wyznaczony przez linię widoczności • Estymacja kosztu docelowego przez różnicę współrzędnych + Zmniejszona ilość węzłów, krótszy czas przeszukiwania + Niezależność od wielkości obiektów - Trudniesze wyznaczenie sąsiednich węzłów - Trudniejsze pozycjonowanie węzłów - Trudniejsza analiza

  9. Automat skończony • Dokładniej: Automat o skończonej liczbie stanów • Algorytm podejmowania decyzji na podstawie dostępnych informacji • Zmiana stanu obiketu na podstwie docierającego sygnału i bieżącego stanu

  10. FSM – automat deterministyczny • Stałe przejście na podstawie danego sygnału + Zwarty zapis (w postaci tablicy) + Duża szybkość - Przewidywalność “zachowań” - Mała elastyczność (brak mechanizmów uczenia się)

  11. NFA – automat niedeterministyczny • Z danym sygnałem związane drzewo przejść • Wybór danej gąłęzi losowy +Nieprzewidywalność “zachowań” - Złożony zapis - Trudniejsza analiza

  12. Implementacja • Silnik graficzny: • Oparty na OpenGL (Tao) i C# • Ładowanie modeli w formacie 3DS • Prosty system cząsteczkowy • Podstawowy pomiar wydajności: fps • Możliwość modyfikacji niektórych parametrów renderingu (przezroczystość, oświetlenie) w trakcie pracy aplikacji • Detekcja kolizji • Oparta na OBB

  13. Implementacja AI • Podsystem AI • Możliwość wyboru trybu pracy (wariantu) zaimplementowanych algorytmów • Wizualizacja pracy • Sygnały przekazywane z wykorzystaniem mechanizmu zdarzeń

  14. Sharp Tankz • W pełni obiektowa (C#) • Główne klasy: • SharpGLEngine – silnik graficzny • SharpAIEngine – implementacja AI • Agent – obiekt widoczny na ekranie

  15. Podsumowanie • Cele osiągnięto • A* jest skutecznym algorytmem w zadanych warunkach • prawidłowo wyznacza optymalną drogę • duża szybkość wyszukiwania (szczególnie dla podziału punktami widoczności) • FSM sprawdzają się w kontroli agenta • szybkość działania, • różnorodnośc zachowań, • nieprzewidywalność (NFA) • C# dobrze współpracuje z OpenGL • wystarczająca wydajność (ok. 200 fps, GF4200) • brak problemów z kompatybilnością

  16. Możliwości rozwoju projektu • Rozwój systemu AI – algorytmy samouczące się (sieci neuronowe) • Rozwój silnika graficznego – uszczegółowienie modeli, opracowanie tekstur, dodatkowe efekty • Rozwój pozostałych podsystemów – dodanie obsługi dźwięku, gra wieloosobowa przez LAN • Prezentacja: Sharp Tankz

More Related