Czy koncepcje „czystej AI” wyższego poziomu (takie jak sieci neuronowe lub genetyczne algorytmy) kiedykolwiek są z powodzeniem wdrażane w grach komercyjnych?

18

Chociaż moim głównym celem jest grafika, od dłuższego czasu zajmuję się koncepcjami AI gier; od prostego wyszukiwania ścieżki A * po zawiłe Perceptrony ...

Moje pytanie brzmi: Czy ktoś ma jakieś przykłady udanych (a może bardziej interesujących, nieudanych) wdrożeń niektórych koncepcji AI wyższego poziomu w komercyjnych tytułach na dużą skalę?

Przez wyższy poziom mam na myśli metody symulowania inteligencji, które zwykle znajdują się w czystej AI. Na przykład ..

  • Sieci neuronowe
  • Algorytmy genetyczne
  • Teoria decyzji

Rozumiem, że oprócz budżetu finansowego, programiści mają również budżet na wykorzystanie pamięci (AI często zajmuje drugie miejsce). Wiele z tych metod jest kosztownych we wdrożeniu i zapewnia ograniczone zwroty. Intryguje mnie tylko to, czy ktoś wie, gdzie lub kiedy wdrożono którąkolwiek z tych (lub innych koncepcji wysokiego poziomu, o których zapomniałem wspomnieć) wszelkie znane gry :)

Wiem również, że w tej branży tajemnice handlowe są faktem;) Oprócz tytułów AAA, jeśli masz jakieś własne historie sukcesu (lub katastrofy), dobrze byłoby je usłyszeć! :RE

Bluestone
źródło

Odpowiedzi:

18

Ogólnie rzecz biorąc, sieci neuronowe i algorytmy genetyczne nie są używane w grach, a poza niedawnym zainteresowaniem wykorzystaniem sieci neuronowych do głębokiego uczenia się, nierzadko także poza grami.

Głównym powodem, dla którego uczy się ich w środowisku akademickim AI, nie jest ich praktyczna przydatność, ale ponieważ są one dość łatwe do wyjaśnienia jako urządzenia dydaktyczne - oba mają matematyczne i biologiczne analogi, które pozwalają uczniowi zrozumieć, jak mogą działać.

W prawdziwym świecie zazwyczaj potrzebujesz niezawodności i przewidywalności. Problem z metodami uczenia się polega na tym, że jeśli uczą się „na wolności”, mogą nauczyć się niewłaściwych wzorców i być zawodnym. NN lub GA może potencjalnie osiągnąć lokalne maksimum, co nie jest gwarantowane na tyle dobre, aby na przykład zapewnić wymaganą rozgrywkę. Innym razem może okazać się zbyt dobry, znajdując idealną strategię, która jest nie do pokonania. Żadne z tych produktów nie jest pożądane.

Nawet jeśli trenujesz offline (tj. Przed uruchomieniem, a nie podczas gry), pozornie dobrze wyglądający zestaw danych może ukrywać anomalie, które po znalezieniu przez gracza są łatwe do wykorzystania. W szczególności sieć neuronowa zazwyczaj ewoluuje zestaw wag, który jest dość nieprzejrzysty do zbadania, a decyzje podejmowane przez nią są trudne do uzasadnienia. Projektantowi trudno byłoby dostosować taką procedurę sztucznej inteligencji, aby działała zgodnie z oczekiwaniami.

Ale być może najbardziej okropny problem polega na tym, że GA i NN nie są na ogół najlepszymi narzędziami do zadań związanych z tworzeniem gier. Chociaż dobre urządzenia do nauczania, każdy, kto ma wystarczającą wiedzę na temat dziedziny, jest ogólnie lepiej przygotowany do korzystania z innej metody, aby osiągnąć podobne wyniki. Może to być wszystko, od innych technik sztucznej inteligencji, takich jak maszyny wektorów wspierających lub drzewa zachowań, po prostsze podejścia, takie jak maszyny stanowe, a nawet długi łańcuch warunkowych elementów warunkowych. Podejścia te lepiej wykorzystują wiedzę domenową dewelopera i są bardziej niezawodne i przewidywalne niż metody uczenia się.

Słyszałem jednak, że niektórzy programiści korzystali z sieci neuronowych podczas programowania, aby wyszkolić kierowcę, aby znalazł dobrą trasę wokół toru wyścigowego, a następnie ta trasa może zostać wysłana jako część gry. Zauważ, że końcowa gra nie wymaga żadnego kodu sieci neuronowej do działania, nawet wyszkolonej sieci.

Nawiasem mówiąc, „koszt” metody nie jest tak naprawdę problemem. Zarówno NN, jak i GA można wdrażać wyjątkowo tanio, w szczególności NN nadaje się do wstępnych obliczeń i optymalizacji. Problem polega na tym, że można z nich uzyskać coś pożytecznego.

Kylotan
źródło
3
Poza grami GA odniosły ogromny sukces w opracowaniu ezoterycznych rozwiązań problemów inżynieryjnych, np. Wczesna praca dr Adriana Thompsona nad obwodami genetycznymi, w wyniku której powstały „bezużyteczne” obwody, które wpłynęły na przepływ w taki sposób, że reszta działała. Problem polega na tym, że skuteczne ezoteryczne rozwiązania nie są cenne w grach jak w inżynierii. Naprawdę trudny problem sztucznej inteligencji w grze polega na tym, aby AI miała zrozumiałą strategię, a nie tylko dobrą grę.
4
Użyłem GA do dostrojenia zmiennych sterownika AI. Ale jak wspomniałeś, zrobiono to offline za pomocą narzędzia do generowania danych dostrajania. Gra nie była dostarczana z aktywnym GA, tylko z liczbami, które zostały wyprowadzone podczas rozwoju.
wkerslake
@Joe - tak, sam kocham GA. Myślę, że są dość skutecznym sposobem eksploracji przestrzeni problemowej w sposób, który jest dość intuicyjny dla osoby modyfikującej algorytm. Użyłem ich również do podejmowania decyzji w czasie rzeczywistym, ale trudno argumentować, że były one bardziej wydajne lub bardziej skuteczne niż alternatywy.
Kylotan,
+1 za znajomość domeny. Nie pomijaj także uzasadnienia biznesowego: tygodnie programisty na stworzenie, dostrojenie i utrzymanie linii wyścigowej NN może być mniej opłacalne niż proste maksymalne narzędzie do układania splajnu i kilka dni czasu projektanta.
tenpn
Problem polega na tym, że aby nauczyć się czegoś pożytecznego, potrzebujesz dużej sieci neuronowej, która wymaga dużej mocy obliczeniowej. Jeśli masz małą sieć, trenowanie tak jak powiedziałeś jest tanie, ale nie ma szansy nauczyć się wyrafinowanego zachowania. Innym problemem, jaki widzę, jest to, że potrzebujesz dużej liczby przykładów treningu dla ML, więc nie możesz trenować podczas gry, ponieważ zajęło by to zbyt dużo czasu, aby wrogowie stali się sprytni. Z drugiej strony, Q-learning wzmacniający wygląda na dobrą technikę. Sztuczka zadziała tylko raz przeciwko tej sztucznej inteligencji. Nie jestem jednak pewien, czy gry to wykorzystały.
danijar
7

Zastosowanie „akademickiej” sztucznej inteligencji w grach jest o wiele bardziej subtelne niż rodzaje rzeczy, które zwykle uważa się za sztuczną inteligencję w sferze gry. Kiedy byłem w szkole, głównym celem mojego profesora AI z gry było AI do sterowania kamerą. Jego drugim obszarem zainteresowań było zarządzanie narracją AI, które, o ile wiem, nadal ogranicza się w większości do środowisk akademickich. Godnym uwagi przykładem tego późniejszego obszaru byłaby fasada .

Głównym problemem „akademickiej” sztucznej inteligencji w grach jest to, że rozwiązują one różne problemy. W grze często nie chcesz spełniać wymagań; po prostu chcesz zaspokoić. Jak już powiedziano wcześniej: nie chcesz być łatwym, ale nie chcesz też, aby twój przeciwnik AI był zbyt trudny.

Biorąc to pod uwagę, czarno-biała seria gier Lionhead wykorzystywała sztuczną inteligencję podobną do tej, o której mówisz w powyższym pytaniu i była przynajmniej na tyle udana, że ​​udało im się stworzyć kontynuację .

Pamiętam doniesienia o promiennej sztucznej inteligencji z „The Elder Scrolls IV: Oblivion”, która pierwotnie była przykładem tego zachowania, ale musiała zostać stępiona z powodu dziwnych nieoczekiwanych zachowań, takich jak NPC zabijający się nawzajem podczas jedzenia.

lathomas64
źródło
GA jest również używany w serii stworzeń: en.wikipedia.org/wiki/Creatures_(artificial_life_program), ale nie tak skuteczny jak wcześniej wspomniany czarno-biały lub Oblivion
lathomas64
Dzięki za odpowiedź. Ciekawe, jak wspomniałeś, jak ważna jest równowaga w AI w grze, ponieważ w prawie każdym aspekcie rozwoju gry musi być fajna, zanim będzie realistyczna / wiarygodna. AI, które jest zbyt „sprytne” wcale nie jest fajne, nikt nie lubi smart-aleców :)
Bluestone
1

Trudno je debugować, więc usterki (prawdopodobnie spowodowanej przypadkową nadmierną optymalizacją) nie można łatwo naprawić. Z tego powodu każda sieć neuronowa, z której korzystają, gry powinny uczyć się w czasie rzeczywistym podczas gry. Zostały jednak wykorzystane, na przykład gra NERO.

Lucas
źródło
1

Ponieważ prosiłeś o przykłady w branży, oto jeden dla ciebie: najwcześniejszy znany mi tytuł wykorzystanych sieci neuronowych to Fantasy Empires, gra D&D TBS / gra akcji wydana w 1993 roku. Najwyraźniej wykorzystali je do sterowania tym, co powiedziałby główny mistrz lochu i robić w „inteligentny”, ale „nieprzewidywalny” sposób ... jeśli dużo grałeś, możesz się nie zgodzić! Animowana figurka mistrza lochów zawiera wskazówki dotyczące stylu gry, oparte na twoich ostatnich działaniach, z kolekcji statycznych ukąszeń dźwiękowych, przy użyciu NN. Zakładam, że to naprawdę bardzo prosta sieć.

(szczegółowe informacje znajdują się na stronie 57 instrukcji )

wprowadź opis zdjęcia tutaj

Inżynier
źródło
To może być ciekawy przykład, ale dla kogoś, kto nie grał w tę grę, niewiele to pomaga. Czy potrafisz wyjaśnić, jaka mechanika gry była kontrolowana przez sieć neuronową, jaki był tego zamiar, i podać przykłady dobrych i złych rezultatów, jakie przyniosła?
Philipp
@Philipp Twój punkt należycie odnotowany - ETA. Wyniki nie były tak „złe”, jak po prostu, że analogiczna natura sieci neuronowych wydawała się zmarnowana w kwantyzacji do bardzo ograniczonego zestawu działań wyjściowych.
Inżynier