Combining lightning and water spells in cRPG Combat System
|||

Stworzenie zaawansowanego systemu walki w grze cRPG opartego na podobieństwie symboli rysowanych przez gracza z wykorzystaniem sieci neuronowych


Opis Projektu

Ten projekt był moją pracą inżynierską. Jego celem było zademonstrowanie możliwości stworzenia nieszablonowego rozwiązania za pomocą projektu programistycznego. Stąd powstał projekt o zdecydowanie zbyt długiej nazwie: ”Stworzenie zaawansowanego systemu walki w grze cRPG opartego na podobieństwie symboli rysowanych przez gracza z wykorzystaniem sieci neuronowych„. Dopiero później po otrzymaniu tytułu magistra, powstała publikacja naukowa o tej samej nazwie, w której połączono wyniki mojej pracy inżynierskiej i magisterskiej. Poniżej znajduje się streszczenie mojej pracy inżynierskiej oraz krótki opis funkcjonalności aplikacji.

Streszczenie: Temat niniejszej pracy to „Stworzenie zaawansowanego systemu walki w grze cRPG w oparciu o podobieństwo rysowanych przez gracza symboli z wykorzystaniem sieci neuronowych". Uczenie maszynowe jest jedną z gałęzi sztucznej inteligencji, która polega na wykorzystaniu algorytmów wyszukujących korelacje i wzorce w zbiorach danych i na ich podstawie dokonywać najwłaściwszych wyborów. Celem pracy jest stworzenie zaawansowanego systemu walki do gry akcji opartego na rozpoznawaniu narysowanych odręcznie symboli z wykorzystaniem tej technologii. Głównym założeniem pracy, jest sprawienie, by implementowane rozwiązanie było łatwe do wdrążenia w dowolnym projekcie. Praca została wykonana w silniku Unity i posiada testową aplikację, ale może zostać dodana do dowolnego rozwiązania za pomocą paczki. Model sieci neuronowej, która zajmuje się predykcją na narysowanych symbolach, został stworzony przy użyciu ML.NET Model Builder. W trakcie przeprowadzania analiz porównano istniejące rozwiązania oraz publikacje naukowe i na ich podstawie wybrano najlepiej pasujące solucje do tego projektu. Ten system wyróżnia się od reszty swoim nietypowym połączeniem dynamicznej walki z rysowaniem symboli. W projekcie skupiono się na tym by rzucanie zaklęć, co jest nieodłączną częścią tworzonego systemu, dawało graczowi dużo możliwości tworzenia reakcji łańcuchowych między czarami.

Funkcjonalności

  • Rysowanie Symboli: Gracz ma możliwość zatrzymania się w dowolnym momencie i rozpoczęcia rysowania symbolu.
  • Interpretacja Symbolu: Po narysowaniu symbolu zostanie on zinterpretowany przez sieć neuronową.
  • Rzucanie Zaklęć: Gracz ma do wyboru 10 zaklęć, które może rzucić podczas gry, rysując symbol, któremu odpowiada zaklęcie.
  • Niepowodzenie Zaklęcia: Jeśli symbol został narysowany niechlujnie, zostanie to wykryte przez sieć neuronową, w wyniku czego gracz zostanie ukarany.
  • Efekty Zaklęć: Większość zaklęć dostępnych w grze wywołuje różne efekty, które utrzymują się przez określony czas.
  • Reakcje Łańcuchowe: Zaklęcia są zaprojektowane tak, aby wchodziły ze sobą w reakcje, tworząc jeszcze silniejsze efekty dzięki odpowiednim kombinacjom.

Działanie aplikacji: W dowolnym momencie gracz może się zatrzymać i, przytrzymując przycisk Alt, rozpocząć rysowanie dowolnej liczby za pomocą myszy. Po zwolnieniu przycisku uruchomi się zewnętrzny proces, który wykorzystując wytrenowany model sieci neuronowej, dokona klasyfikacji narysowanego symbolu. Jeśli symbol został poprawnie odwzorowany, przygotowane zostanie zaklęcie, które zostanie rzucone po kliknięciu lewym przyciskiem myszy. Przygotowana scena służy do testowania działania zaklęć. Możliwe jest wywoływanie zaklęć na botach za pomocą klawiszy 0-9.

Informacje

  • Start: Grudzień 2021
  • Koniec: Styczeń 2022
  • Typ: Aplikacja Unity 3D + SI/ML
  • Stan: Ukończony
  • Powiązanie: Politechnika Śląska
  • Lokalizacja: Polska, Gliwice

Wideo


Galeria


Aplikacja Unity 3D

Podobne wpisy