• Nie Znaleziono Wyników

Sztuczna inteligencja w grach wideo

N/A
N/A
Protected

Academic year: 2022

Share "Sztuczna inteligencja w grach wideo"

Copied!
15
0
0

Pełen tekst

(1)

Sztuczna Inteligencja w grach wideo

1. Gry jako technologia symulacji

Jednym z aspektów technologicznego rozwoju gier wideo i ich rosnącej zło- żoności jest postępująca symulacyjność przedstawianego w nich świata. Cię- żar rozgrywki w największych, osiągających budżety hollywoodzkich fi lmów produkcjach ostatnich lat jest przenoszony z gameplayu na prezentację wia- rygodnego i immersyjnego środowiska. Rozwiązanie łamigłówki czy poko- nanie elektronicznego przeciwnika w zręcznościowym pojedynku przestaje być wystarczająco satysfakcjonujące dla gracza. Współczesna gra musi za- oferować „coś więcej”. Stąd sukcesy z jednej strony gier konceptowych czy artystycznych, stawiających na niezwykłe rozwiązania w zakresie interfejsu, mechaniki, fabuły lub sfery wizualnej, z drugiej zaś wysokobudżetowych su- perprodukcji, które oferują rozbudowany świat, wiarygodną fi zykę, efektowną grafi kę i wysoki stopień interaktywności. Aby uzyskać efekty z drugiej grupy, konieczne jest zastosowanie najnowszych technologii programistycznych – należą do nich rozwiązania z dziedziny Sztucznej Inteligencji (Artifi cial In- telligence, AI) oraz Sztucznego Życia (Artifi cial Life, AL). Użycie AI w grach obejmuje wiele aspektów: sterowanie ruchem kamery, zachowaniami NPC (Non-Player Characters), reagowaniem środowiska na kontekst zachowania gracza i innych obiektów, a nawet takimi detalami jak mimika twarzy ani- mowanych awatarów.

Skąd się wzięło AI w grach – rys historyczny

Historia Sztucznej Inteligencji jako technologii sięga lat 40. XX wieku, kiedy to fi lozofi czne rozważania nad naturą świadomości czy przebiegu procesów kognitywnych zostały poszerzone o próby stworzenia urządzeń (poprzedzone matematyczną najczęściej teorią) pozwalających na częściowe lub całkowite zastąpienie człowieka w dziedzinach, w których – jak się wydawało – czynnik

(2)

ludzkiej inteligencji był dotąd niezastępowalny. Przede wszystkim chodziło o sterowanie procesami decyzyjnymi oraz możliwość przeprowadzania złożo- nych, dynamicznych obliczeń. Problematyką tą zajmowali się tacy naukowcy jak Alan Turing, John von Neumann czy Claude E. Shannon. Szczególnie waż- ną, można powiedzieć „założycielską” dla kierunku, pracą okazała się publika- cja Turinga z 1950 roku zatytułowana Computing Machinery and Intelligence1. Od lat 50. do 80. ubiegłego stulecia rozważania na temat Sztucznej Inte- ligencji koncentrowały się wokół operacji, jakie można było przeprowadzać, działając na pewnych zbiorach informacji (bazach danych) traktowanych jako obiekty symboliczne. Algorytmy miały dokonywać rozumowania poprzez ma- nipulowanie kombinacjami symboli (wiedzą) w celu rozwiązania problemu.

Pojawiły się m.in. systemy ekspertowe posiadające rozbudowane repozyto- rium informacji i mogące na podstawie defi niowanych zależności udzielać odpowiedzi na pewnego rodzaju pytania. Wdrożone wówczas mechanizmy, takie jak architektura tablicowa, algorytmy szukania drogi czy drzewa decy- zyjne, do dziś są wykorzystywane m.in. w grach komputerowych.

Lata 80. i 90. przyniosły gwałtowny rozwój zainteresowania AI połączony z odejściem od systemów symbolicznych jako rozwiązania kwestii symulacji inteligentnego rozumowania. Główną przyczyną było osiągnięcie pewnej gra- nicy rozwiązywalnych za pomocą tej metodologii problemów. Manipulacje na symbolach, szczególnie przy odpowiednio dużych bazach wiedzy, pozwalały na skuteczne rozwiązywanie zagadnień tylko do pewnego pułapu złożoności.

Nie bez znaczenia okazał się wpływ nauk biologicznych i fi lozofi i, które do- wodziły, że systemy symboliczne nie są wystarczającym rozwiązaniem kwestii inteligencji. Ciężar badań przeniósł się na próby symulowania działania syste- mów naturalnych, co doprowadziło do wzrostu zainteresowania sztucznymi sieciami neuronowymi (których możliwość była sugerowana przez matematy- ków znacznie wcześniej). Nowe podejście zaowocowało teoriami bazującymi na modelowaniu prawdopodobieństwa i operowaniu statystyką.

Sztuczna Inteligencja weszła na stałe do zakresu zainteresowania współ- czesnych nauk przyrodniczych. Dziś techniki wypracowane przez badaczy na przestrzeni ostatnich kilkudziesięciu lat stają się nieodzownymi elementami życia codziennego. Ich implementacje znajdziemy w systemach wspomagają- cych prowadzenie samochodu (kontrola trakcji, nawigacja), wyszukiwarkach internetowych, a także – co dla nas najbardziej interesujące – w grach kom- puterowych.

1 Alan Turing, Computing Machinery and Intelligence, „Mind” 1950, nr 49, s. 433–460.

(3)

Co to jest (Sztuczna) Inteligencja – rys fi lozofi czny

Zanim zajmiemy się nieco bardziej szczegółowo mechanizmami działania Sztucznej Inteligencji w grach komputerowych, wypada poświęcić kilka aka- pitów kwestiom fi lozofi cznym związanym z AI w ogóle. Pomoże to w odpo- wiedzi na pytanie, czym Sztuczna Inteligencja w grach jest oraz – co być może ważniejsze – czym nie jest.

Proponowane rozwiązania problemu statusu ludzkiej inteligencji (które z kolei mogą implikować konkretne rozwiązania problemu statusu Sztucznej Inteligencji) są – jak cała fi lozofi a – zakorzenione w podstawowych pytaniach naszego kręgu kulturowego od czasów starożytnych. Punktem wyjścia muszą tu być rozważania dotyczące kwestii epistemologicznych (nauki o poznaniu) oraz metafi zycznych (lub ontologicznych – dotyczących sposobu istnienia bytów i zjawisk). Nowożytna fi lozofi a umysłu, z której z kolei rodzi się m.in.

współczesna kognitywistyka, podjęła sformułowane w czasach antycznych przez takich myślicieli jak Parmenides, Zenon z Elei, Demokryt czy Heraklit pytania o możliwość komunikacji, posługiwania się odniesieniami symbo- licznymi, ciągłość świadomości. Jedną z pierwszych spójnych teorii na ten temat sformułował Platon, odnosząc się do „idei” – niezmiennych obiektów, ogólnych kategorii, których istnienie uznawał za rzeczywiste (idealizm pla- toński). Podchodzący do świata doświadczanego ze znacznie mniejszą rezer- wą Arystoteles widział gwarancję ciągłości odniesienia w dialektyce materii (stałej) i formy (zmiennej) oraz sterującej bytami entelechii.

Jednym z fundamentalnych spostrzeżeń, sformułowanych już u progu nowożytności, było wygenerowanie przez metodologiczny sceptycyzm Karte- zjusza problemu psychofi zycznego. Oto bowiem kartezjańskie niepodważalne

„ja myślące” – res cogitans („myślę, więc jestem”) – zostało trwale odróżnione od pierwiastka materialnego – res extensa. Problem psychofi zyczny wynika z konieczności wyjaśnienia sposobu, w jaki dochodzi do komunikacji pomię- dzy „rzeczą myślącą” a „rzeczą rozciągłą”, które dzieli przecież ontologiczna przepaść. Kartezjuszowy, opierający się na introspekcji racjonalizm doczekał się wielu krytyk ze strony empirystów i interakcjonistów, jak Th omas Hob- bes (który uznawał umysł za wynik „pracy” organicznego ciała), John Stuart Mill (redukujący umysł do mechanicznych interakcji prostych elementów biologicznych), Isaac Newton czy John Locke. Krytyka Kartezjusza położyła podwaliny pod późniejszy behawioryzm (badanie struktur bodziec–reakcja), a w dalszej perspektywie pod nauki kognitywne (umysł jako wynik przetwa- rzania podstawowych informacji w złożone struktury). Osobną kartę zapisała sceptyczna fi lozofi a Davida Hume’a, który funkcjonowanie ludzkiego umysłu opisywał w terminach asocjacyjnej pamięci tworzącej (w wyniku „naturalnej skłonności”) związki przyczynowo-skutkowe z zestawień współzachodzą- cych zdarzeń. Z fi lozofi cznych koncepcji podejmujących próbę odpowiedzi na kwestię statusu umysłu wobec rzeczywistości należy wymienić również

(4)

leibnizjańską monadologię, spinozjański paralelizm czy stanowiska funkcjo- nalistyczne.

Wielką zmianę na arenie fi lozofi i umysłu przyniósł szereg odkryć począt- ku ubiegłego stulecia. Należy do nich stworzenie podwalin psychologii przez Williama Jamesa, który odwołując się do kantowskich form apriorycznych (nieprzekraczalne przez człowieka sposoby ujmowania percypowanej rzeczy- wistości w takie kategorie jak czas i przestrzeń), zakwestionował roszczenia ujęć teoretycznych do opisywania „prawdziwej” rzeczywistości, ograniczając ich użyteczność do pragmatycznego opisu świata. Nie bez znaczenia okazało się sformułowanie podstaw ewolucjonizmu przez Charlesa Darwina ugrun- towujących przekonanie o biologicznym źródle pochodzenia umysłu. Kolejną zdobyczą fi lozofi i było sformułowanie współczesnej logiki m.in. przez Gottlo- ba Fregego, a potem Bertranda Russella i Alfreda Whiteheada. Pozwalała ona na rzucenie nowego światła na funkcjonowanie symboli i języka. Wszystkie wymienione powyżej stanowiska stały się fundamentem współczesnej kogni- tywistyki i punktami wyjścia do prób wyjaśnienia mechanizmów powstawania i funkcjonowania ludzkiego umysłu, świadomości, a także inteligencji.

Współczesna kognitywistyka narodziła się na granicy fi lozofi i, logiki, neu- robiologii i psychologii. Swój rozkwit zawdzięcza w dużej mierze rozwojowi technologicznemu, który z jednej strony pozwolił na poszerzenie badań dzięki nowym metodom obliczeniowym i symulacyjnym, z drugiej zaś ożywił re- fl eksję nad tematyką umysłu, pozwalając na konstruowanie coraz bardziej przypominających pewne aspekty funkcjonowania człowieka urządzeń. Ist- niejące już wcześniej rozróżnienie na „silną” (posiadającą takie właściwości jak ludzka) i „słabą” (naśladującą wybrane aspekty ludzkiego myślenia) AI nabrało nowych wymiarów. Wobec empirycznego faktu, że niektóre urządze- nia w wybranych aspektach potrafi ą zachowywać się w sposób ewidentnie inteligentny (np. przewidywać zachowanie obiektu, wchodzić w interakcję z użytkownikiem, uczyć się), konieczne stało się sformułowanie na nowo pytania o możliwość (i w ogóle potrzebę) rozróżnienia ludzkiego „ducha”

od „myślenia” maszyny. Technologie komputerowe pozwalające wykonywać bardzo złożone operacje na symbolach stały się dowodem, że pewne zacho- wania interpretowane jednoznacznie jako inteligentne mogą być wynikiem procesów, które dają się rozpisać na czynniki proste (np. binarne zbiory in- formacji i algorytmy operowania na nich). Zgodnie z twierdzeniami Turinga maszyna o niskiej mocy obliczeniowej jest w stanie wykonać te same operacje co superkomputer – z tym zastrzeżeniem, że znacznie wolniej. Wobec tego funkcjonaliści mogą twierdzić, że powstanie odpowiednio wyrafi nowanej Sztucznej Inteligencji to kwestia jedynie rozwoju technologicznego – skoro mózg jest tylko specyfi cznym rodzajem bardzo wydajnego i złożonego urzą- dzenia o podłożu biologicznym. Takie ujęcie sprawy napotyka oczywiście sil- ny opór ze strony nieredukcjonistycznie zorientowanych fi lozofów, ale także neurobiologów i przedstawicieli innych nauk. Stworzenie jednoznacznej teorii

(5)

wyjaśniającej istnienie i działanie umysłu to przedsięwzięcie na razie otwarte, opisane w ogromnej ilości prac, obejmujące takie stanowiska jak wymienio- ny funkcjonalizm, materializm, emergentyzm, koneksjonizm, panpsychizm i wiele, wiele innych.

Powróćmy jednak od fi lozofi i umysłu i różnorodnych teorii świadomości do kwestii związanych z naturalną i sztuczną inteligencją. Kiedy mówimy o ludzkiej inteligencji, mamy na myśli szeroko pojętą sprawność umysłową, która (w zależności od teorii) pozwala na wyróżnienie takich aspektów, jak:

umiejętność adaptacji do nowych warunków, efektywność w wykonywaniu zadań, zdolność uczenia się, zdolność przetwarzania informacji (od poziomu prostych operacji do abstrakcyjnych idei), racjonalnego podejmowania decyzji etc. Badacze wymieniają wiele różnych rodzajów inteligencji, np. inteligencję kognitywną (analizowanie i syntezowanie informacji, kojarzenie faktów), wer- balną (zdolność posługiwania się złożonym językiem), emocjonalną (radze- nie sobie z emocjami), społeczną (zdolność do świadomego funkcjonowania w złożonym środowisku społecznym), twórczą (zdolność abstrakcyjnego ko- jarzenia, wynajdywania nowatorskich rozwiązań, innowacyjność). Ze względu na fakt, że inteligentne zachowania ludzkie stanowią ogromny obszar aktyw- ności i przedmiot zainteresowania wielu szczegółowych dyscyplin, poszerza- ny dodatkowo o kwestie kulturowe – trudno o jednoznaczną i powszechnie akceptowaną defi nicję pojęcia inteligencji.

Jak w tym kontekście przedstawia się kwestia AI? Najczęściej defi niuje się ją jako dziedzinę nauki zajmującą się rozwiązywaniem zagadnień efektyw- nie niealgorytmizowalnych na podstawie modelowania wiedzy. Najogólniej więc rzecz biorąc, AI jest to dziedzina wiedzy, której przedmiotem są próby skonstruowania urządzeń (i oprogramowania) zdolnych do wykonywania operacji, do których zdolne są „naturalnie inteligentne” organizmy żywe.

Współcześnie konstruowana Sztuczna Inteligencja jest w stanie dokonywać niektórych inteligentnych działań na poziomie porównywalnym lub lepszym od człowieka (wyszukiwanie, sortowanie, wygrywanie w pewnych rodzajach gier), lecz nie posługuje się w stopniu zadowalającym szeregiem umiejętności postrzeganych przez przeciętnego człowieka jako trywialne (zaawansowane rozpoznawanie obiektów, posługiwanie się językiem, podejmowanie decyzji w warunkach częściowej niewiedzy, kreatywność).

Sztuczna Inteligencja w grach

Dążenie do symulowania inteligentnych zachowań w grach komputerowych towarzyszy tej dziedzinie rozrywki od jej początków. Głównym celem, jaki przyświecał twórcom gier, było przede wszystkim stworzenie u gracza wra- żenia, że rywalizuje on z rzeczywistym podmiotem. Nie jest to zadanie szcze- gólnie trudne ze względu na ludzką skłonność do personifi kowania obiek-

(6)

tów, z którymi wchodzi się w interakcje – również tych zapośredniczonych w komputerowym interfejsie. Wobec tego faktu nawet zaprogramowanemu za pomocą bardzo prostego algorytmu wirtualnemu przeciwnikowi gracz jest skłonny przypisywać cechy takie jak złośliwość, zwodniczość czy inteligencja.

W grach mamy więc do czynienia z dwoma rodzajami zjawisk. Pierwszym z nich jest obecna od samego niemal początku istnienia gier komputerowych instytucja „wirtualnego przeciwnika”, np. w postaci statków Obcych z gry Space Invaders czy odbijającej piłkę rakietki w wariacjach Ponga. W tych przy- padkach niemające wiele wspólnego z inteligencją w mocnym sensie proste reakcje algorytmu na zachowania gracza (unikanie pocisku w scrollerach, od- bijanie piłki w grach sportowych, podążanie za postacią gracza przez duszki w Pac-Manie) powodują u osoby grającej doznania emocjonalne podobne do tych, jakich doświadcza ona w rywalizacji z naprawdę inteligentnym przeciw- nikiem. Taki rodzaj „inteligencji”, polegający na operowaniu niewielką liczbą

„twardo” zakodowanych reguł, bardzo długo dominował w grach. Działo się tak ze względu na prostotę reguł konstytuujących rozgrywkę w starszych produkcjach oraz niewielką moc obliczeniową i pamięć operacyjną dostępnych urządzeń. Sytuacja zmieniła się diametralnie w ciągu ostatniego dziesięcio- lecia. Pojawił się i rozwinął drugi rodzaj zjawisk, który można już faktycznie zaliczyć do dziedziny Sztucznej Inteligencji. Są to gry posługujące się nieraz bardzo złożonymi algorytmami, pozwalającymi środowisku gry na działanie w kontekście, reagowanie w sposób elastyczny czy planowanie na podstawie posiadanych informacji. AI przejęła też rolę w konstruowaniu środowiska gry (np. poprzez symulację życia wirtualnego miasta w takich produkcjach jak Grand Th eft Auto czy Assassin’s Creed) i funkcje pomocnicze przy sterowaniu (np. algorytmy wyszukiwania drogi w grach RTS czy wirtualna „drużyna”

gracza w takich FPS-ach2 jak Counter-Strike bądź Rainbow Six).

Funkcjonowanie Sztucznej Inteligencji w grach komputerowych opiera się więc przede wszystkim na podejmowaniu decyzji przez oprogramowanie na podstawie takiego, a nie innego modelu pozyskiwania i przetwarzania infor- macji. Program komputerowy otrzymuje pewien zestaw danych wejściowych, przetwarza go i dostarcza pewnych danych wyjściowych, które regulują wy- brany aspekt rozgrywki. Zachowanie Sztucznej Inteligencji regulowane jest tutaj nie tyle przez użycie jednej z zaprogramowanych możliwości, ile przez złożony model, który z otrzymanego zestawu informacji konstruuje zacho- wanie jak najwierniej odzwierciedlające domniemane zachowanie inteligent- nego uczestnika rozgrywki. Trzeba zauważyć, że w przypadku większości gier komputerowych symulowanie zachowania „naturalnie” inteligentnego podmiotu jest często ułatwione ze względu na ograniczony rozgrywką za- kres interakcji między jej uczestnikami. W przypadku np. gier strategicznych użytkownik dysponuje pewnym zakresem możliwych do wykonania ruchów,

2 FPS – First-Person Shooter.

(7)

zdefi niowanym z góry „drzewkiem technologii” etc. W związku z tym rozpo- znanie w przeciwniku osoby żywej czy komputera jest utrudnione ze wzglę- du na brak możliwości przetestowania pewnych aspektów jego podmioto- wości. Współczesne systemy AI mogą w wielu przypadkach przejść swego rodzaju „test Turinga” polegający na próbie rozpoznania przez użytkownika (w naszym przypadku gracza), czy ma do czynienia z żywym podmiotem po drugiej stronie interfejsu. W środowisku gry (szczególnie gier online), kiedy interakcja (a nawet konwersacja) z innymi awatarami jest ograniczona do konwencji przedstawionego świata, sterowane Sztuczną Inteligencją NPC3 mogą z powodzeniem uczestniczyć w aktywnościach graczy jako równorzędni partnerzy rozgrywki. Na tym spostrzeżeniu opiera się zasada programowania Sztucznej Inteligencji w grach wideo – nie chodzi tu (w przeciwieństwie do tworzonej akademicko AI) o przeprowadzenie jak najdoskonalszej symulacji ludzkiej inteligencji, lecz o stworzenie jak najlepszego wrażenia inteligent- nego zachowania programu u gracza wchodzącego z nim w interakcję. Za- sadniczo w takim podejściu „wszystkie chwyty są dozwolone” – to znaczy, że np. niektóre aspekty zachowania Sztucznej Inteligencji mogą być wybierane w sposób czysto losowy (ewentualnie z przypisaniem stopnia prawdopodo- bieństwa wystąpienia danego zachowania), dopóki nie burzy to iluzji, że de- cyzja została podjęta w wyniku przeprowadzenia racjonalnego rozumowania.

Programowanie AI w grach komputerowych dopuszcza – przede wszystkim ze względu na oszczędność zasobów sprzętowych – używanie różnego rodzaju wybiegów, trików i haków. Ostatecznie najważniejszy jest efekt – wrażenie wywołane u odbiorcy.

2. AI w grach – jak to działa

Jak już wspomniano, praca Sztucznej Inteligencji w grach wideo opiera się na pewnych konstruowanych przez programistę modelach. Modele te skła- dają się z algorytmów – ogólnych reguł bądź specyfi cznych dla danej gry gotowych recept rozwiązywania określonego rodzaju problemów. Różnią się one stopniem złożoności, co skutkuje zróżnicowanymi wymaganiami, jeśli chodzi o moc obliczeniową komputera, ale również elastycznością dostarcza- nych rozwiązań. W ten sposób gotowe receptury, specyfi czne dla konkretnej gry, działające na zasadzie „bodziec–reakcja” (np. jeśli w pobliżu pojawi się obiekt X, wykonaj animację Y), są mało obciążające dla sprzętu, ale jednocześ- nie z trudem można nazwać takie zachowanie inteligentnym. Inaczej wygląda zastosowanie pewnych ogólnych reguł, które wymagają sprawdzenia i prze- prowadzenia wnioskowania (np. jeśli w pobliżu pojawi się obiekt X, który

3 NPC – Non-Player Character.

(8)

zachowuje się w sposób Z, wykonaj animację z grupy animacji Y adekwatną do Z). Takie heurystycznie zdefi niowane zachowania wymagają oczywiście większych zasobów sprzętowych i bardziej wysublimowanego mechanizmu, który będzie umiał rozpoznać jakiś rodzaj zachowania np. ze sposobu poru- szania się obserwowanego obiektu (ilość zmian trajektorii, prędkości etc.).

Rozwiązania tego typu nie uwzględniają planowania do wielu wydarzeń na- przód, a umożliwiają jedynie rozwiązanie problemu cząstkowego tu i teraz.

Aby w ten sposób zdefi niowane zachowanie mogło funkcjonować w ramach konstruowanych ogólniej strategii, musi zostać włączone w ramy szerszych procedur regulujących działanie całego modelu. Tu pojawia się najwyższy poziom abstrakcji w planowaniu inteligentnych zachowań obiektów w grze – tworzenie algorytmów regulujących większe, złożone całości rozgrywki. Są to całe procedury sterowania ruchem AI, budowania strategii, podejmowa- nia decyzji, wchodzenia w interakcje, a także algorytmy regulujące procesy zachodzące w otaczającym gracza środowisku (Artifi cial Life).

Sterowanie ruchem

Sterowanie ruchem obiektu w grze wideo jest jednym z najbardziej podstawo- wych sposobów na wprowadzenie interakcji. Ogromna liczba gier opiera się na możliwości bezpośredniego (podawanie kierunku za pomocą kontrolera) lub pośredniego (wskazywanie ogólnego kierunku lub punktu docelowego na planszy) sterowania jakimś obiektem. Również znaczna część gier posiada obiekty w postaci NPC, które muszą być w jakiś sposób kierowane i zawia- dywane przez mechanizm gry. Czyni to ruch wraz z podejmowaniem decyzji najbardziej podstawowymi z mechanizmów AI.

Mechanizmy Sztucznej Inteligencji sterującej ruchem w grach wideo róż- nią się oczywiście stopniem złożoności w zależności od typu gry, w jakim są użyte. Można tu wyliczyć takie mechanizmy, jak: wyszukiwanie trasy w grach RTS4, pokonywanie przeszkód, śledzenie gracza przez przeciwników, koordy- nacja ruchu w rozgrywce drużynowej z udziałem AI. W niemal każdym z po- wyższych przypadków (wyjąwszy naprawdę proste gry typu arcade) zachodzi konieczność wpisania poszczególnych rozwiązań dostarczanych przez mecha- nizmy sterowania ruchem w szerszy paradygmat modelu całej rozgrywki. Wir- tualny przeciwnik w grze nie powinien się po prostu poruszać szybciej i bar- dziej precyzyjnie od człowieka, ale działać w sposób planowy, konstruować strategie i taktyki w sposób zależny oczywiście od zamysłu projektantów gry.

4 RTS – Real-Time Strategy.

(9)

Planowanie i podejmowanie decyzji

Planowanie jest obok sterowania ruchem podstawowym elementem rozgryw- ki, którego operacjami zawiadują mechanizmy Sztucznej Inteligencji. Z jed- nej strony jego działaniem kieruje ogólny engine odpowiadający za realizację zaplanowanego scenariusza gry, z drugiej zaś składają się nań pomniejsze mechanizmy reagujące i wchodzące w interakcje z poczynaniami nieprzewidy- walnego gracza. Dodatkowo mechanizmy planowania i podejmowania decyzji muszą obejmować takie zagadnienia jak synchronizowanie działań poszcze- gólnych „autonomicznych” jednostek, umieszczać ich jednostkowe zachowa- nia w szerszym paradygmacie tymczasowej taktyki i długofalowej strategii.

Sterowanie interakcją

To najbardziej wysublimowany ze sposobów użycia Sztucznej Inteligencji w grach wideo. O ile nie da się w sposób jednoznaczny określić, czy dany obiekt posiada podmiotowość „naturalną” czy „sztuczną” na podstawie jego wzorców ruchu bądź podejmowanych wysiłków w celu realizacji pewnego pla- nu, o tyle wejście z nim w interakcję może skutecznie podtrzymać lub obalić przekonanie o intencjonalności jego działań, świadomości czy inteligencji.

Przekonanie o tym było właśnie bezpośrednim asumptem dla Alana Turinga w sformułowaniu jego słynnego testu – pogląd, że Sztuczna Inteligencja może symulować naturalną na wszelkie sposoby, ale nie może skutecznie symu- lować interakcji dwóch naturalnie inteligentnych, świadomych podmiotów.

Dziś wiemy, że test Turinga może być zaliczony przez Sztuczną Inteligencję – szczególnie w warunkach obwarowanej wewnętrznymi konwencjami i pro- tokołami zachowania grze komputerowej, gdzie tak naprawdę gracz jest do- myślnie konspiratorem, a nie demaskatorem spisku mającego na celu ukryć artefaktyczną naturę świata gry.

Oczywiście inteligentna interakcja działa nie tylko na styku gracz–NPC, lecz również gracz–środowisko gry. Zagadnienie to obejmuje w zasadzie wszystkie elementy rozgrywki obsługiwane przez Sztuczną Inteligencję, które gracz percypuje, a więc zarówno ruch, atak, ucieczkę, współpracę sojuszniczą, wrogość, jak i reakcje otoczenia, a także AI wspierające obsługę skomplikowa- nych nieraz interfejsów gry (inteligentne podpowiedzi, częściowy autopilot w symulatorach lotniczych itp.).

Infrastruktura i środowisko (AL)

Zagadnienia związane ze sterowanymi za pomocą Sztucznej Inteligencji, in- teraktywnymi środowiskami gry wyewoluowały w osobną, niesłychanie roz-

(10)

budowaną kategorię znajdującą swoje miejsce w dziedzinie Artifi cial Life. Ten rodzaj AI odpowiada generalnie za osadzenie aktywnego podmiotu gracza w adaptującym się, responsywnym i interaktywnym środowisku. Chodzi tu o symulację ograniczonego zakresem i możliwościami sprzętowymi uniwer- sum, w którym zlokalizowana jest rozgrywka. Mogą to być wirtualne miasta, których mieszkańcy sprawiają wrażenie zaabsorbowanych codziennym ży- ciem (rano wychodzą z domu, idą do pracy, rozmawiają, zachwalają produkty, reagują na rozbój etc.), jak w grach cyklu Grand Th eft Auto, Assassin’s Creed czy w Fallout 3 albo Wiedźminie. Mogą to być również znacznie bardziej proste mechanizmy sterujące animacjami pogody, pory roku bądź dnia. Podobnie jak w przypadku Sztucznej Inteligencji w ramach Sztucznego Życia pojawia się rozróżnienie na „silne” i „słabe”, przebiegające według podobnego kryterium:

„silne” AL miałoby być syntetyczną implementacją faktycznych procesów

„życia” (jakkolwiek są one aktualnie defi niowane), „słabe” zaś polegałoby na modelowaniu symulacji w celu stworzenia wrażenia poruszania się podmio- tu w „naturalnym” środowisku. Niektóre z gier budują wokół AL całą swoją tożsamość, jak np. Spore, gdzie można sterować ewolucją wirtualnych stwo- rzeń, dokonywać ich mutacji i selekcji. AL jest fundamentalnym elementem rozgrywki w produkcjach spod znaku serii Sims (których gameplay opiera się głównie na symulowaniu życia i zaspokajaniu potrzeb awatarów) oraz w grach MMORPG5, które poza możliwością interakcji z milionami innych graczy ofe- rują rozbudowane i zróżnicowane, „żyjące własnym życiem” środowisko.

Mechanizm działania AI

Sztuczna Inteligencja jest mechanizmem zawartym w silniku gry. Ostatecznie stanowi więc jak każdy fragment oprogramowania zbiór obiektów, procedur i interfejsów, które przekształcają zestaw danych wejściowych w dane wyj- ściowe. AI jest tak samo jak każdy inny element gry zaprojektowana przez twórców i zaprogramowana przez programistów. Dziś coraz rzadziej pisze się kod od początku do końca dedykowany całemu projektowi – powszechnie korzysta się z tzw. silników oferujących gotowe rozwiązania na odpowiednim poziomie ogólności. Silniki proponują konkretne narzędzia umożliwiające twórcom posłużenie się gotowymi algorytmami i rozwiązaniami do realizacji specyfi cznego projektu konkretnej gry. Engine zawiera również często narzę- dzia do modelowania Sztucznej Inteligencji.

Model działania gry możemy w tym miejscu rozpisać na trzy etapy:

1) Tworzenie specyfi cznej zawartości za pomocą narzędzi (level design, A.I.

design) i wygenerowanie za ich pomocą zestawu danych na temat rozgrywki (packaged-level data).

5 MMORPG – Massively Multiplayer Online Role-Playing Game.

(11)

2) Umieszczenie danych w enginie za pomocą level loadera. Engine wyko- rzystuje dane do „ożywienia” postaci sterowanych AI, tworząc bazę zachowań.

Zostaje aktywowana sama gra, czyli procedura poklatkowego pobierania in- formacji przez interfejs oraz zwracania przetworzonych informacji do silnika.

3) Silnik AI na bieżąco modyfi kuje wejściową bazę zachowań na podstawie informacji pozyskiwanych przez interfejs i zwraca rezultaty do silnika gry.

AI jest wywoływane przez silnik w sposób ciągły, generując reakcje w czasie rzeczywistym.

3. Paradygmaty Sztucznej Inteligencji

Do symulacji zachowań inteligentnych w grach stosuje się aktualnie ogromną różnorodność technik w postaci gotowych algorytmów, bibliotek, silników.

Różnią się one złożonością, wymaganiami sprzętowymi, a także efektywnoś- cią w realizowaniu poszczególnych zadań. Poniżej opisane zostały w skrócie podstawowe mechanizmy działania AI w grach komputerowych.

Automaty skończone (Finite-State Machines, FSM)

Najsłynniejszym modelem FSM jest z całą pewnością ten opisany przez Alana Turinga. Jego Maszyna, prototyp komputera, potrafi wykonać każdą operację logiczną poprzez odczytanie, zapis czy wymazanie symboli na taśmie danych (w modelu – nieskończonej). Na szczęście matematyczny model Maszyny nie jest konieczny do zrozumienia sposobu jej działania jako mechanizmu AI. Mat Buckland w Programming Game AI by Example formułuje następujący opis:

Finite State Machine to urządzenie lub model urządzenia mające skończoną ilość stanów, w których mogą znajdować się w określonym momencie i które mogą operować danymi wejściowymi, by dokonać przejścia z jednego stanu w drugi albo wywołać pewnego rodzaju dane wyjściowe lub wydarzenie. Automaty skończone mogą być jedynie w jednym stanie w danym momencie6.

Idea zastosowania FMS w grach jest stosunkowo prosta – zachowania obiektów, które mają być sterowane, są dzielone na drobne „fragmenty”, mające jakiś zdefi niowany stan oraz warunki zmiany tego stanu lub przej- ścia do kolejnego. FMS jest powszechnie używanym mechanizmem np. do programowania zachowań botów (wirtualnych przeciwników) w grach FPS, gdzie defi niowane są stany w rodzaju „Znajdź Uzbrojenie”, „Znajdź Apteczkę”

6 Mat Buckland, Programming Game AI by Example, Plano, Austin 2005, s. 44.

(12)

czy „Uciekaj”, bądź w grach RTS ze stanami w rodzaju „Idź do Lokacji” czy

„Patroluj”. Przykładowy mechanizm mógłby wyglądać następująco:

Bot w grze RTS (A – jest w stanie, B – warunek, C – zmiana stanu):

A – Patroluj, B – Jesteś Atakowany, C – Atakuj Przeciwnika C – Atakuj Przeciwnika, B – Brak Przeciwnika, C – Patroluj

A – Jesteś Atakowany, B – Jesteś Słabszy niż Przeciwnik, C – Uciekaj A – Uciekaj, B – Brak Przeciwnika, C – Patroluj

itd.

Systemy Agentowe (Goal-Driven Agents, Autonomous Agents)

W literaturze istnieje bardzo wiele defi nicji Systemów Agentowych i samego pojęcia „agenta”. Wynika to z faktu, że paradygmat agentowy ze względu na swoją ogólność ma zastosowanie w bardzo wielu dziedzinach wiedzy i inży- nierii – od biologii, przez socjologię, po informatykę i robotykę. Na potrzeby rozważań dotyczących gier i stosowanej w nich Sztucznej Inteligencji najlepiej będzie znów przytoczyć cytat z książki Programming Game AI by Example:

Autonomiczny Agent to system umieszczony w pewnym środowisku (i będący jego częścią), który rozpoznaje to środowisko i działa w nim, realizując własne cele w perspektywie czasowej7.

Generalną ideą jest zaprojektowanie programu o określonych właściwoś- ciach i celach, potrafi ącego „rozpoznać” warunki, w których został umieszczo- ny, i dostosować się do nich. Oczywiście zakres możliwości adaptacyjnych jest ograniczony do pewnych warunków podstawowych umożliwiających agento- wi działanie. Niemniej jednak kluczem jest tu „umiejętność” dynamicznego pokonywania napotkanych przeszkód, np. znalezienia drogi do celu między losowo poruszającymi się obiektami. Mat Buckland opisuje8 trzy warstwy działania mechanizmu przemieszczania się np. bota w zmiennym środowisku:

– Wybór Akcji: warstwa odpowiedzialna za wybór celu (przemieść się z A do B);

– Sterowanie: warstwa dokonująca kalkulacji pożądanych trajektorii zgodnie z wyznaczonym celem;

– Przemieszczanie: warstwa reprezentująca aspekt mechaniczny ruchu (inaczej będzie poruszał się wirtualny pojazd, inaczej zwierzę).

Najtrudniejszą w projektowaniu agentów autonomicznych kwestią jest to, co czyni je atrakcyjnymi: elastyczność. Programista AI musi uporać się z możliwością pojawienia się sprzecznych, alternatywnych sposobów rozwią-

7 Tamże, s. 85.

8 Tamże, s. 86.

(13)

zania napotkanego problemu i zwracać przy tym uwagę na zużywany przez mechanizm cenny czas procesora.

Użycie grafów

Grafy są bardzo użytecznymi mechanizmami abstrahowania i wizualizacji róż- nego rodzaju danych. Najprościej rzecz ujmując, grafy to zbiory wierzchołków połączone krawędziami w ten sposób, że krawędzie zawsze łączą wierzchołki.

Taki model może stanowić ogólną reprezentację pewnych obiektów i zależ- ności między nimi.

Przy projektowaniu mechanizmów Sztucznej Inteligencji w grach naj- częściej używanym rodzajem grafów są grafy nawigacyjne. Pozwalają one na przedstawienie miejsc w jakiś sposób istotnych dla agentów (możliwych punktów docelowych) oraz ścieżek je łączących. Grafy nawigacyjne ułatwiają agentom podjęcie decyzji dotyczących tras przemieszczania się np. po plan- szy – czynią pewne miejsca niedostępnymi, a pewne trasy mniej lub bardziej pożądanymi. Przy czym agenty nie muszą być ograniczone do poruszania się po krawędziach grafów, jednak ich obecność ułatwia im kalkulowanie pożą- danych trajektorii ruchów i proces „negocjowania” ruchu ze środowiskiem.

Ilustracja przedstawia przykładową trasę ruchu obiektu w symulowanym środowisku. Dzięki grafom nawigacyjnym możemy „ułatwić” pracę agentowi w otoczeniu składającym się ze stałych obiektów. Jest to także narzędzie pracy projektantów, którzy mogą w ten sposób wskazać preferowane sposoby poruszania się obiektów (np. samochód będzie „preferował” jazdę po drodze, ale jeśli napotka przeszkodę – ominie ją, jadąc również po błocie, nie będzie mógł natomiast przejechać przez mur etc.).

Innymi sposobami użycia tego mechanizmu są grafy zależności oraz grafy stanów. Pierwsze z nich służą do konstruowania struktury rozgrywki, wska- zując na zależności w niej zawarte. Dobrym przykładem może być drzewo technologii w grach typu RTS, np. aby zbudować jednostkę „kusznik”, nale- ży najpierw zbudować „tartak”, „kuźnię”, „zbrojownię” i „koszary”. AI musi działać (np. pozyskiwać określone zasoby, takie jak „drewno”) na podstawie tych zależności, chcąc wyprodukować grupę kuszników do zaatakowania prze- ciwnika. Schemat działa też w drugą stronę – zaatakowany przez kuszników przeciwnik „wie”, że zbudowaliśmy już powyższe budynki. Z kolei grafy sta- nów służą do konstruowania logiki rozgrywki, przedstawiając możliwe roz- wiązania wiodące do celu, np. system, pozyskując informację o fakcie posia- dania przez przeciwnika kuszników, „sprawdzi” na grafi e możliwe strategie przeciwstawiania się jednostkom strzeleckim (w naszym przykładzie: posia- danie kuszników w czasie rozgrywki A wynoszącym pięć minut implikuje, że nie jest możliwe, aby przeciwnik w tym samym momencie miał jednostki jeździeckie, gdyż tempo pozyskiwania zasobów nie pozwala na zbudowanie

(14)

jednocześnie „tartaku” i „stajni” – jeśli gracz posiada stajnie, wysyła do walki jeźdźców, skutecznych w walce przeciw kusznikom, lub jeśli nie posiada stajni, buduje wieże ochronne, obsadzając je również posiadanymi kusznikami etc.).

Logika rozmyta (Fuzzy Logic)

Jedną z bardziej interesujących technik wykorzystywanych przy tworzeniu AI w grach jest użycie systemów logiki rozmytej. Ich konstrukcja opiera się na prostym spostrzeżeniu, że ludzkie rozumienie (stanowiące wzorzec dla komputerowej inteligencji) rzadko funkcjonuje na podstawie konkretnych, dyskretnych wytycznych i danych. Częściej posługujemy się wyrażeniami takimi jak „trochę”, „bardziej”, „lekko”, „niewiele”. Konwencjonalna logika dwuwartościowa jest nieadekwatna do opisu takich stanów. Nawet używanie liczbowych zakresów nie jest do końca satysfakcjonujące – jeśli bowiem zdefi - niujemy, że „niedaleko” oznacza od 1 do 10 metrów w wirtualnej przestrzeni gry, to czy wynik 1 metr i 15 milimetrów to już daleko? Logika rozmyta jest systemem rozumowania, który pozwala na interpretowanie podobnych wyni- ków w sposób analogiczny do tego, jak robią to ludzie. Zasadniczo opiera się ona na rozbiciu stanów graniczących z sobą na szereg wartości pośrednich, określając stopień przynależności obiektu do danego stanu. Tego rodzaju lo- gika pozwala np. botom w grach FPS podjąć decyzję o wszczęciu walki lub ucieczce na podstawie zestawienia różnych danych (pozostałe punkty życia, przewaga uzbrojenia etc.).

Opisane powyżej mechanizmy nie wyczerpują oczywiście katalogu tech- nik stosowanych do uzyskania wrażenia inteligencji przeciwnika czy otocze- nia w grach wideo i komputerowych. Listę technik można by uzupełnić np.

o użycie skryptów, a wśród paradygmatów umieścić również sieci neuronowe etc. U podstaw każdej z wymienionych i niewymienionych tu technik leży również konkretny fundament matematyczny i algorytmiczny, na których przedstawienie nie ma w niniejszym tekście miejsca.

4. Technologia symulacji w praktyce

Jak to zostało już na początku zasygnalizowane, AI w grach jest bardzo spe- cyfi cznym sposobem myślenia o problematyce inteligencji. Nie ma ona bo- wiem ambicji wyjaśniających. Nie musi działać tak, jak działa mechanizm wzorcowy – ludzki umysł. Sztuczna Inteligencja w takiej postaci, jaką oglą- damy w grach, jest wehikułem symulacji, jej jedynym celem jest otrzyma- nie iluzji, wiarygodnego pozoru obcowania z wymagającym, rozumującym i przebiegłym przeciwnikiem lub też z działającym, racjonalnym, tętniącym

(15)

życiem środowiskiem. Czasami do osiągnięcia tych celów wystarczą mechani- zmy najprostsze – podążanie za obiektem z określoną prędkością czy losowe zmienianie trasy ruchu. Gry wideo jednak rozwijają się w sposób niesłychanie dynamiczny. Nowe produkcje nie są już prostymi „zabawkami”, w które trze- ba było zaangażować znaczne pokłady wyobraźni. Dzisiejsze gry są małymi światami, z jednej strony generującymi potężną immersję użytkowników, z drugiej natomiast wymagającymi coraz mniejszego „zawieszenia niewiary”.

Cytaty

Powiązane dokumenty

Pseudoneuronów jest znacznie mniej niż wzorców uczących, każdy taki pseudoneuron powinien średnio reprezentować pewną ilość tych wzorców, które potencjalnie mogą należeć

rozpoczynających się od różnie wylosowanych wag początkowych odległość neuronów zwycięskich reprezentujących najmocniejsze klasy znacznie się różni.. Neurony te nie muszą

Sensory w polach sensorycznych tworzone są, jeśli po prezentacji bodźca żaden z istniejących sensorów nie zareagował odpowiednio mocno, czyli gdy dystans wartości bodźca

wnioskowania dają N zbiorów rozmytych, oraz systemy typu B, na wyjściu którego otrzymujemy jeden zbiór rozmyty,. który jest wynikiem agregacji rezultatów wnioskowania

pierwsza warstwa konwolucyjna bierze jako obraz wejściowy jedną składową koloru R, G lub B surowego obrazu, a różne neurony względem wymiaru głębokości tej sieci (które tworzą

Taxi driving (Jazda taksówką) Partially Stochastic Multi Sequential Dynamic Medical diagnosis (Diagnoza medyczna) Partially Stochastic Single Sequential Dynamic Image analysis

I Algorytm przeszukiwania rozpoczyna się od sprawdzenia, czy węzeł główny jest węzłem celu. I Następnie proces realizowany przez algorytm rozwija kolejny zestaw węzłów, do

I Niekompletny: Ponieważ wybiera tylko węzeł najbliżej węzła docelowego, jeśli sam węzeł jest ślepym zaułkiem, algorytm nigdy nie osiągnie celu.. I W najgorszym