Programowanie A.I. Gier Games

Wprowadzenie

Naszym celem, jest zapewnienie solidnej i praktycznej podstawy do sztucznej inteligencji w grze, dając ci pewność podchodzenia do nowych wyzwań z ekscytacją i optymizmem. Sztuczna inteligencja to ogromny temat, więc nie spodziewaj się ,że zostaniesz ekspertem od niej, ale nauczysz się umiejętności niezbędnych do tworzenia zabawnej i wymagającej sztucznej inteligencji dla większości gatunków gier akcji. Ponadto będziesz dobrze rozumieć kluczowe obszary sztucznej inteligencji w grze, zapewniając solidną podstawę do dalszej nauki. I powiem wam, proces uczenia się jest nieograniczony! Bycie dobrym programistą AI nie polega tylko na tym, jak zaimplementować garść technik. Oczywiście poszczególne techniki są ważne, ale sposób, w jaki można je ze sobą współpracować, jest ważniejszy dla procesu rozwoju sztucznej inteligencji. W tym celu poświęcimy dużo czasu na zapoznanie się z projektami agentów zdolnych do gry w drużynową grę sportową (Simple Soccer) i strzelaniną typu deathmatch (Raven), pokazując wyraźnie, w jaki sposób stosuje się każdą technikę i zintegrowane z innymi. Co więcej, Simple Soccer i Raven stanowią wygodne miejsce do testowania do dalszych eksperymentów, a wnioski z wielusekcji zawierają sugestie dotyczące przyszłych badań.

Akademicka AI vs. Game AI

Należy dokonać istotnego rozróżnienia między sztuczną inteligencją badaną przez naukowców a wykorzystywaną w grach komputerowych. Badania naukowe są podzielone na dwa obozy: silną AI i słabą AI. Dziedzina silnej AI zajmuje się próbą stworzenia systemów naśladujących ludzkie procesy myślowe oraz dziedziną słabej AI (obecnie popularniejszymi) z zastosowaniem technologii sztucznej inteligencji do rozwiązywania rzeczywistych problemów. Jednak oba te pola zwykle koncentrują się na optymalnym rozwiązaniu problemu, z mniejszym naciskiem na sprzęt lub ograniczenia czasowe. Na przykład niektórzy badacze AI są bardzo zadowoleni z pozostawienia symulacji trwającej godzinami, dniami, a nawet tygodniami w ich 1000-procesorowym klastrze Beowolf, o ile ma szczęśliwe zakończenie, o którym mogą napisać artykuł. To oczywiście jest skrajny przypadek, ale rozumiesz. Natomiast programiści AI gier muszą pracować z ograniczonymi zasobami. Ilość cykli procesora i dostępnej pamięci różni się w zależności od platformy, ale najczęściej pozostawia się faceta AI, jak Oliver wyciągający miskę i błagający o więcej. Skutkiem tego jest konieczność kompromisów w celu uzyskania akceptowalnego poziomu wydajności. Ponadto udane gry - te, które zarabiają wszystkie pieniądze - robią bardzo dobrze jedną rzecz: zabawiają gracza (lub mają licencję filmową). W związku z tym sztuczna inteligencja musi być zabawna, a aby to osiągnąć, musi być często zaprojektowana jako nieoptymalna. W końcu większość graczy szybko stanie się sfrustrowana i przygnębiona sztuczną inteligencją, która zawsze daje im baty. Aby być przyjemnym, AI musi stoczyć dobrą walkę, ale przegrywać częściej niż wygrywać. Musi sprawić, że gracz poczuje się mądry, przebiegły, przebiegły i potężny. Musi sprawić, że gracz wyskoczy ze swojego miejsca krzycząc:
"Weź to, gówno!"

Iluzja inteligencji

Ale czym jest ta tajemnicza rzecz, którą nazywamy sztuczną inteligencją? Jeśli chodzi o sztuczną inteligencję gry, jestem głęboko przekonany, że jeśli gracz uważa, że agent, przeciwko któremu gra, jest inteligentny, to jest inteligentny. To takie proste. Naszym celem jest projektowanie agentów, które zapewniają iluzję inteligencji i nic więcej. Ponieważ iluzja inteligencji jest subiektywna, czasami wymaga to w ogóle bardzo niewiele wysiłku. Na przykład projektanci sztucznej inteligencji dla Halo odkryli, że ich testerzy mogli oszukać, że agenci sztucznej inteligencji byli bardziej inteligentni, po prostu zwiększając liczbę punktów wytrzymałości wymaganych do ich zabicia. Podczas jednej sesji testowej pozwolili agentom naprawdę łatwo umrzeć (niskie punkty wytrzymałości); wynik był taki, że 36 procent testerów uważało AI za zbyt łatwe, a 8 procent uważało, że AI jest bardzo inteligentna. Na następną sesję testową trudniej było zabić agentów (wyższe punkty wytrzymałości). Po tej niewielkiej zmianie 0 procent testerów uznało AI za zbyt łatwą, a 43 procent uważa, że AI jest bardzo inteligentna! Jest to zadziwiający wynik i wyraźnie pokazuje znaczenie testowania podczas całego cyklu rozwoju gry. Wykazano również, że postrzeganie przez gracza poziomu inteligencji agenta gry można znacznie poprawić, dostarczając graczowi wskazówek wizualnych i / lub słuchowych na temat tego, co agent "myśli". Na przykład, jeśli gracz wejdzie do pokoju i zaskoczy agenta, powinien działać zaskoczony. Jeśli twoja gra jest "ukrywająca się" jak Złodziej, a postać z gry słyszy coś podejrzanego, powinna zacząć się rozglądać i być może wymamrotać kilka słów, takich jak "Co to było?" Lub "Czy ktoś tam jest? ". Nawet coś prostego, na przykład upewnienie się, że agent śledzi ruch sąsiednich agentów głową, może znacznie przyczynić się do postrzegania AI przez gracza. Musisz jednak zachować ostrożność, projektując swoją sztuczną inteligencję, aby nie dopuścić do zrzucenia płaszcza iluzji, ponieważ gdy już to zrobisz, wiara gracza w postać zniknie, a gra stanie się znacznie mniej przyjemna. Stanie się tak, jeśli sztuczna inteligencja będzie działać głupio (wbiegając w ściany, utknąć w narożnikach, nie reagując na oczywiste bodźce) lub zostanie przyłapana na oszukiwaniu (patrzeniu przez ściany, wymaganiu mniej złota do budowy jednostek niż ludzki gracz, słyszeniu upadku szpilki na 500 metrów), więc musisz bardzo się postarać, aby uniknąć tych pułapek.



Praktyka czyni mistrza

Tak jak w przypadku wszystkich umiejętności, im więcej ćwiczysz przy użyciu technik sztucznej inteligencji i projektowania systemów sztucznej inteligencji, tym lepiej. Ci z was, którzy są już zaangażowani w tworzenie sztucznej inteligencji gry, mogą od razu zacząć od tego, czego się uczą - masz już idealne miejsce do testowania. Jednak dla tych z was, którzy nie są obecnie zaangażowani w projekt, na końcu większości sekcji zamieszczono "praktykęe", abyście mogli spróbować swoich sił. Zachęcają Cię do eksperymentowania z wiedzą, której się nauczyłeś, tworząc małe samodzielne przykłady lub zmieniając lub wykorzystując projekty Simple Soccer lub Raven