Sztuczna inteligencja w grach komputerowych - My Social Seller

Chyba każdy z nas miał styczność, mniejszą lub większą z szeroko pojętymi „grami”. Od prekursorów tej formy rozrywki, jakimi są gry karciane i planszowe, po najnowsze gry wideo. Wraz z dynamicznym rozwojem technologii na przełomie ostatnich lat, właśnie gry video stały się najbardziej progresywną branżą rozrywki na całym świecie. Pisząc o grach wideo, nie sposób nie wspomnieć o e-sporcie, który gromadzi setki tysięcy osób nie tylko przed ekranami, jak i na stadionach. W większości gier można zetknąć się z modułami sztucznej inteligencji.
Pierwsze początki zastosowania algorytmów sztucznej inteligencji w grach ma swoje początki w osobie matematyka Alana Mathisona Turinga. Stworzył on grę w oparciu o zabawę karcianą i w jego zamyślę jeden gracz miał zostać zastąpiony komputerem. Test Turinga polegał na tym, że jeśli sędzia nie był pewien kto jest kim w grze (kto ma jaką płeć, czy w grze bierze udział urządzenie/komputer czy człowiek) wówczas uznawał, że maszyna przeszła test, gdyż komputer zachowywał się w sposób naturalny jak człowiek. Przejął pewne cechy, emocje od innego osobnika, istoty żywej.
W grach jednoosobowych, w których dużą wagę przykłada się do fabuły będą to inteligentne otoczenia, postacie czy rozbudowana linia fabularna, gdzie zakończenie jest wynikiem decyzji, które podjęliśmy podczas rozgrywki. Zastosowanie sztucznej inteligencji ma tu niezwykle ważne zadanie, ponieważ dzięki komputerowo sterowanym przedmiotom, postaciom, gry wydają się bardziej naturalne, ciekawsze. Jako użytkownicy- gracze z większą chęcią i zainteresowaniem korzystamy z gier, które nas pozytywnie zaskakują, np. bardzo dobrze doprecyzowanymi schematami, historiamii czy algorytmami. Natomiast w grach wieloosobowych będą to tzw. boty, czyli mniej lub bardziej inteligentni przeciwnicy sterowani przez komputer, którzy w zależności od poziomu trudności prezentują wyższy poziom umiejętności podczas gry. Co ciekawe boty w grach komputerowych często były kojarzone z lukami w oprogramowaniu i nieuczciwością, którą wykorzystywali inni gracze, aby oszukać innych użytkowników. Jedne z najciekawszych zastosowań botów ze sztuczną inteligencją w grach komputerowych można było zauważyć podczas rywalizacji Garij Kasparowa – szachisty, który kilkakrotnie rywalizowała z komputerem. I dopiero trzecie starcie dało zwycięstwo maszynie, która zdecydowanie szybciej niż człowiek potrafi przetwarzać dane, odtwarzać matematyczno – logiczne schematy gry.

W tym artykule skupimy się na kilku algorytmach które są wykorzystywane w wyżej wspomnianych modułach:

  • Algorytm A* – jest algorytmem „pathfindingowym” (znajdowania ścieżek) przez agentów sztucznej inteligencji. Algorytm służy do przechodzenia przez postać z punktu A do punktu B za pomocą węzłów.
    Podczas poruszania się, przeciwnik nie szuka drogi na ślepo, lecz dzięki algorytmowi, który wylicza najszybszą i najefektywniejszą drogę do poruszania się pomiędzy lokacjami. Niestety algorytm jest bardzo przewidywalny, gracz który poświęcił na rozgrywkę kilka godzin jest w stanie już zauważyć podobieństwa w zachowaniu przeciwników wykorzystujących ten algorytm. Algorytm ten został wykorzystany w grach takich jak seria Hitman czy Age Of Empires II

  • Drzewa decyzyjne – wykorzystywane w systemach walki w różnego typu grach. Sprawdza się on w prostych logicznych sytuacjach jak „Jeśli widzisz przeciwnika to oddaj strzał”, oraz bardziej skomplikowanych decyzjach „Jeśli masz mało punktów zdrowia, sprawdź, gdzie jest przeciwnik, jeśli przeciwnik Cię nie widzi, ulecz się, w przeciwnym wypadku, ucieknij w bezpieczne miejsce i się ulecz” Podobna sytuacja ma miejsce w procesie podejmowania decyzji przez zawodnika, czy ma uciekać, gdzie się schować, ewentualnie czy ma strzelać. Większość gier komputerowych korzysta z podobnych algorytmów, które różnią się jedynie danymi wejściowymi i wyjściowymi. Dzięki takim algorytmom możemy zaobserwować wykorzystanie sztucznej inteligencji w grach komputerowych .

    Drzewo decyzyjne prezentuje się jako graf decyzji i konsekwencji, a węzłami tego drzewa są stany gry. Węzły decyzyjne składają się w jedną z wielu możliwych do przejścia ścieżek zakończoną węzłem konsekwencji. Obiekt sztucznej inteligencji analizuje drzewo decyzyjne i sprawdza, która ze ścieżek będzie najlepsza w danej sytuacji, następnie przechodzi przez całą ścieżkę. Największe zastosowanie drzewa decyzyjne mają w grach RPG. Gdzie gracz walczy z grupą przeciwników lub steruje grupą towarzyszy, ale nie nad każdym chce sprawować manualnie kontrolę, wtedy sojusznicy zachowują się wedle stworzonych w algorytmie drzew. Drzewa decyzyjne stanowią pewną hierarchiczną strukturę danych. Niekiedy, aby uniknąć nadmiernego rozrostu drzewa stosuje się pod-drzewa, jednak ten sposób nie był na tyle efektywny, aby systemy z rozbudowaną sztuczną inteligencją w grach komputerowych działały sprawnie i naturalnie. Przykładami zastosowań drzew decyzyjnych w grach są Dragon Age oraz klasyka gier cRPG seria Baldurs Gate.

  • Sieci neuronowe – głównie stosowane w grach wyścigowych, gdzie na bazie wejściowych (kształt drogi, stan nawierzchni, parametry pojazdu) sieć kieruje komputerowymi przeciwnikami podczas jazdy. Sieci neuronowe mają tutaj bardzo podobne zastosowanie jak w przypadku autonomicznych samochodów Tesli. Sieci neuronowe doskonale sprawdzają się przy analizowaniu dużej ilości baz danych i ciągłym napływem nowych zmiennych. Dlatego też doskonale sprawdzają się one również w grach komputerowych, gdzie przy dużej ilości graczach pojawiają się nowe, różne zachowania, a jak wiadomo nowa technologia w tym sztuczna inteligencja umożliwia tworzenie procesu uczenia się botów w oparciu o reakcje użytkowników gier. W niektórych grach sieci neuronowe wykorzystywane są do nauki botów na podstawie zachowań gracza czy innych botów. Tego typu wykorzystanie sieci neuronowych i sztucznej inteligencji sprawia, że gry stają się autentyczne, naturalne i zdobywają coraz to nowych graczy. Przy dobrej konstrukcji sieci i sporej ilości treningu sztuczny byt potrafi poradzić sobie nawet z najlepszymi graczami. Przykładem tego może być mecz jednego z najlepszych graczy DOTA2 na turnieju International 2017 z botem stworzonym przez organizację OpenAI. Jaki był tego wynik, możecie sami zobaczyć poniżej.

    Obserwując świat gier i nowych technologii na pewno możemy stwierdzić, że te obszary nadal będą się rozwijać, a sztuczna inteligencja będzie odgrywać coraz większe znaczenie w rozgrywkach komputerowych. Użytkownicy gier są coraz bardziej wymagający, ale także rynek gameowy również potrafi zaskakiwać, gdy np. słyszymy o graczach, którzy zarabiają poprzez odbywanie meczów czy też turniejów z innymi fanami gier. Jak widać programiści mają doskonałe pole do popisu, aby tworzyć ciekawe algorytmy ze sztuczną inteligencją dla gier komputerowych.

    autor:

    Mateusz Godlewski – AI Developer @ AI FORCE 1

Send a Message