Gry na serio
-
- 01.02.2004
Człowiek czy maszyna
Rozwój botów opiera się na możliwości dołączania wtyczek do większości współczesnych gier. Dobrym przykładem jest wspominany już QuakeBot profesora Lairda. W każdej sekundzie program powinien wykonać jak najwięcej obliczeń, żeby jak najlepiej udawać człowieka. Dziesięć razy na sekundę serwer gry przesyła mu dane i wykonuje postacią wskazane ruchy. Obecna wersja bota potrafi podejmować decyzję 30-50 razy na sekundę. Zadziwiające, że wykorzystuje on zaledwie 5-10 procent mocy procesora komputera z częstotliwością taktowania 400 MHz.
Laboratorium Lairda wykorzystuje środowisko Soar do projektowania botów. Jest to bezpłatne wielozadaniowe narzędzie rozwijane od 1983 roku i wykorzystywane przez tysiące badaczy sztucznej inteligencji na całym świecie. Obecnie dostępne są wersje do Windows i Linuksa.
Soar pozwala zapisywać pożądane zachowanie jako zbiór reguł zależnych od zmieniającego się stanu gry. Zastosowanie jednej z nich może zmienić inne lub nawet tworzyć nowe. Dzięki temu można projektować aplikacje, które wymyślają nowe zachowania na podstawie swoich doświadczeń.
Pierwotny QuakeBot składał się z reguł systemu Soar do sześciu podstawowych działań (znajdź dozbrojenie, zaatakuj, wycofaj się, ścigaj, przyczaj się oraz poluj), składających się z prostszych, które z kolei dzielą się na zupełnie podstawowe. Na przykład zdobywanie dozbrojenia może polegać na znalezieniu przedmiotu, obrocie w jego kierunku, pójściu naprzód i zdaniu sobie sprawy, że przedmiot został podniesiony.
Taki przeciwnik był sprytny, lecz w niewielkim stopniu podobny do człowieka. Aby stworzyć nieco inteligentniejszego i przebieglejszego przeciwnika, zespół Lairda dodał mu zdolność przewidywania ruchów innych graczy, a więc tworzenia swego rodzaju modelu myślowego wroga na podstawie własnych obserwacji. Znając obecną sytuację w grze i możliwości taktyczne przeciwnika, bot stara się odgadnąć jego posunięcia.
Ze względu na dużą liczbę obliczeń związanych z tym procesem, przewidywanie następuje tylko w szczególnych okolicznościach. Laird mówi: "QuakeBot stara się odgadnąć ruchy zauważonego przeciwnika tylko wtedy, gdy tamten nie jest zwrócony twarzą do bota i znajduje się daleko od niego".
Załóżmy, że bot ukrywa się w pokoju, dostrzega wroga i wie, że dozbrojenie jest możliwe w pomieszczeniu położonym od strony północnej. Aby wywnioskować, co gracz zamierza, tworzy jego model myślowy i stara się odgadnąć dalszy bieg gry. Szuka przy tym chwili, w której jakaś akcja da mu przewagę - może więc pozwolić graczowi wejść do północnego pokoju i zabrać przedmiot i dopiero wtedy zaatakować. Z biegiem czasu reguły Soar kontrolujące bota stają się coraz bardziej skomplikowane, co zwiększa jego możliwości i utrudnia pokonanie go.
Rozwój idzie dalej. Zespół profesora dodaje nowe, jeszcze inteligentniejsze zachowania. Jednym z pomysłów jest modyfikacja wiedzy bota za każdym razem, gdy gracz zrobi coś nieprzewidywalnego. Tak jak bot uczy się od człowieka, tak gracz dostosowuje swoje zachowanie do komputerowego przeciwnika. Gdy bot na przykład przygotuje na ciebie zasadzkę, będziesz starał się tego uniknąć w przyszłości, a on z kolei będzie musiał zmienić taktykę.
Laird mówi: "Z punktu widzenia gier komputerowych nasza praca wskazuje miejsce, w którym komercyjne boty znajdą się może za kilka lat. Nie tylko będą myślały o sobie, ale przewidywały, co ty myślisz."
Bot wystający z portfela
Na pierwszy rzut oka przyszłość wygląda więc różowo. Gry z postaciami, które rozumieją, co się wokół nich dzieje, dostarczą realistycznych, ewoluujących historii. Ale jakie będą tego konsekwencje dla przemysłu, czy nie grozi mu spadek sprzedaży przy lawinowo wzrastających kosztach? Choć obecnie gry przynoszą większe dochody niż produkcja filmów, niektórzy producenci i twórcy zaczynają łapać się za kieszeń.
W ubiegłym roku kilka dobrze znanych firm informatycznych wpadło w kłopoty finansowe. Na przykład w styczniu Rage Software z Liverpoolu zbankrutowała. Syndyk masy upadłościowej z firmy Ernst & Young, Hunter Kelly stwierdził: "Rage dużo inwestowała w rozwój nowych gier, ale różne opóźnienia spowodowały, że sprzedaż wyprodukowanych programów nie pokryła wysokich kosztów".
Po kilku nieudanych próbach przetrwania wszczęła proces upadłości firma 3DO, wydawca udanej serii "Army Men". Francuski rząd zrozumiał znaczenie tej branży dla gospodarki francuskiej i w lipcu przeznaczył blisko 5 milionów euro na granty, które w zależności od warunków rynkowych mają wesprzeć francuskie firmy produkujące gry komputerowe. Zapewne inne rządy postąpią w ten sam sposób.
Producenci gier potrzebują nabywców dostarczających stałego strumienia pieniędzy na finansowanie nowych projektów. Czasem mogą przedłużyć życie udanego produktu za pomocą kolejnych dodatków i wersji, lecz ewoluujące gry będą zajmowały graczy coraz dłużej, zwalniając napływ gotówki. W przyszłości, być może, gry nie da się ukończyć tak, jak dziś, a wydawcy będą zmuszeni czekać, aż gracze się nią znudzą.
Innym problemem firm komputerowych stanie się stały wzrost znaczenia Linuksa jako platformy gier. Wiele obecnych projektów dotyczących sztucznej inteligencji w grach, w tym całe systemy do tworzenia takich aplikacji linuksowych (np. Soar), jest bezpłatnych. W rezultacie niezależni informatycy linuksowi, piszący gry z zamiłowania, a nie dla pieniędzy, mogą stanąć na czele stawki.
Jedno z takich przedsięwzięć jest związane z Kalifornijskim Uniwersytetem Technologicznym. Projekt Von Neumann ma na celu opracowanie ewoluującego ekosystemu w wirtualnym wszechświecie, w którym przeciwnicy rozwijają strategię na bieżąco, w trakcie gry. W czasie gdy gracz posuwa się naprzód, konkurenci stwarzają nowe niebezpieczeństwa i zawierają sojusze. Projekt jest typu open-source, więc programiści z całego świata mogą wyszukiwać w nim błędy, a nawet dołączać duże fragmenty kodu.
Przyszłość gier niewykorzystujących mechanizmów sztucznej inteligencji nie zapowiada się najlepiej. Pozyskanie ekspertów jest kosztowne, z kolei kształcenie własnych pracowników wymaga wiele czasu. Paradoksalnie najbliższe wydarzenia w branży komputerowej mogą spowodować duże trudności, których producenci bardzo starają się uniknąć.
- Informacje o Arthurze Samuelu:http://www-db.stanford.edu/pub/ voy/museum/samuel.html.
- Gra "The Hobbit" na emulatorze ZX Spectrum w Javie:http://www.twinbee.org/hob/play.php?snap=hobbit.l
- Mistrz świata w warcabach komputerowych Chinook:http://www.cs.ualberta.ca/~chinook.
- Deep Blue firmy IBM:http://www.research.ibm.com/deepblue.
- Informacje o Deep Junior:http://www.x3dworld.com/Entertainment/ CI_X3DEvnt_DeepJunior.html.
- Strona domowa Johna Lairda na Uniwersytecie w Michigan:http://ai.eecs.umich.edu/people/laird
- Interaktywne gry: inteligentny morderca:http://ai.eecs.umich.edu/people/laird/papers/AAAI-00.pdf.
- Jak nauczyć QuakeBota przewidywać zachowanie się przeciwnika:http://ai.eecs.umich.edu/people/laird/papers/Agents01.pdf.
- Strona główna projektu Soar:http://www.eecs.umich.edu/~soar
- Strona główna The Liquid Narrative Group:http://liquidnarrative.csc.ncsu.edu
- Strona projektu Mimesis:http://mimesis.csc.ncsu.edu
- Strona grupy Interactive Entertainment:http://www.cs.northwestern.edu/research/groups/ieg/index.htm
- Strona Instytutu Kreatywnych Technologii:http://www.ict.usc.edu
- Strona główna FlexBot:http://FlexBot.cs.northwestern.edu
- Strona projektu Von Neumanna:http://www.krl.caltech.edu/~charles/alife-game
- Odnośniki dla programistów QuakeBota: http://www-mddsp.enel.ucalgary.ca/People/dreveny/itchy/botlinks.html
Sztuczna inteligencja w grach komputerowych jest prawie tak stara, jak same komputery. W 1950 roku Claude Shannon postawił naukowcom zadanie napisania programu rozgrywającego prostą partię szachową, będącą - według niego - idealnym testem uczenia się maszyn. Tym samym wyznaczył kierunek rozwoju sztucznej inteligencji w grach na prawie 50 lat.
Matematyk Alan Turing podjął próbę napisania takiego programu w 1951 roku, jednak nie dysponując komputerem, musiał symulować działanie algorytmu na papierze. Program poległ w pojedynku z bardzo słabym graczem, a jeden z komentatorów określił jego grę jako "bezcelową".
Pierwszy sukces odniesiono już rok później. Profesor Arthur Samuel, pracujący wówczas w IBM, napisał program dobrze grający w warcaby, który później, po kilku udoskonaleniach, stał się legendą. W 1954 roku mógł już pokonać czwartego gracza w rankingu Stanów Zjednoczonych.
Po dekadzie prac nad aplikacjami przewidującymi możliwie najwięcej ruchów naprzód mniej lub bardziej sprytnymi metodami, w 1967 roku Richard Greenblatt z MIT napisał rewolucyjny program szachowy MacHack. Zawierał skomplikowaną bazę wiedzy i choć działał na minikomputerze DEC PDP taktowanym z częstotliwością 200 kHz, analizując zaledwie około dziesięciu ruchów na sekundę, zajął wysokie miejsce w turnieju.
Podczas gdy szachy i inne gry planszowe pozostawały w głównym nurcie badań nad sztuczną inteligencją w grach przez lata 70. i 80., teoria gier stała się poważną dziedziną nauki. Zainwestowało w nią wojsko, poszukujące systemów uczących się taktyki i strategii walki.
W latach 80. moc obliczeniowa komputerów skutecznie uniemożliwiała stosowanie sztucznej inteligencji w grach innych niż planszowe. Nie oznacza to jednak, że takich prób nie podejmowano. Najlepszą był napisany w 1983 roku program The Hobbit, w którym występowały postacie dobrze znane fanom Tolkiena. Mówiły językiem "inglish" i chodziły tu i tam, czasem pomagając graczowi, a czasem bredząc od rzeczy. Dziś wygląda to prymitywnie, ale zamknięte wraz z grafiką i tekstami w ZX Spectrum były swego czasu przełomem.
Pod koniec lat 80. zaczęto używać prostych skryptów zachowania pojedynczych postaci, żeby przeciwnicy w grach zachowywali się bardziej realistycznie. Jeśli doda się trochę losowości i parę reguł podejmowania decyzji, efekt może wyglądać całkiem inteligentnie. Niestety, gdy skryptów jest za mało, przeciwnicy stają się przewidywalni. Jednakże ta technika została zastosowana do kontroli armii bohaterów w wielu świetnie się sprzedających współczesnych grach.
Opracowanie w połowie lat 90. trójwymiarowych gier, w których świat widziany jest oczami bohatera, wymusiło dalszy rozwój. Aby przeciwnicy walczyli zgodnie z zasadami i dążyli do wyznaczonych celów, mechanizmy podejmowania decyzji musiały być dokładniejsze i bardziej skomplikowane. Dzięki badaniom prowadzonym przez uniwersytety całego świata oraz coraz większej mocy komputerów osobistych potrafimy dziś tworzyć postacie walczące jedynie dzięki podstawowej wiedzy o regułach gry i umiejętności uczenia się.