Sieć neuronowa, zamiast rozsiewać fake newsy, wskrzesza gatunek gier komputerowych sprzed 40 lat
W czasach konsoli i komputerów z potężnymi silnikami graficznymi, gier wideo, którym coraz bliżej do fotorealizmu, trudno sobie wyobrazić, że pierwsze gry komputerowe składały się wyłącznie z liter i cyfr. Powstałe w latach 70. gry tekstowe to po prostu bloki tekstu wyświetlane na ekranie komputera w reakcji na krótkie wpisy graczy.
Za pierwszą rozrywkę tego typu uznaje się stworzoną w latach 1975-77 grę Colossal Cave Adventure, znaną po prostu jako Adventure. Komputer wchodzi w niej w rolę narratora, który opowiada historię bohatera-gracza, przeszukującego ogromną jaskinię w poszukiwaniu skarbów. Naśladuje w tym mistrza gry z tradycyjnych sesji RPG. Gracz wydaje proste komendy, wpisując polecenia. „Idź na południe”, „spójrz na dół”, „zaatakuj orka”.
Generator na wolności
I choć czas świetności tekstówek dawno minął, ten zamierzchły gatunek komputerowej rozgrywki zyskał nieoczekiwanego sprzymierzeńca – sztuczną inteligencję. I to nie byle jaką.
Nick Walton, student Brigham Young University w Provo w amerykańskim stanie Utah, postanowił stworzyć grę tekstową, której mistrz gry nie byłby ograniczony do bazy z góry ustalonych opisów. Zamiast niej zastosował najpotężniejszy algorytm go generowania tekstu – GPT-2.
O stworzonym przez OpenAI modelu pisaliśmy już wielokrotnie, głównie w kontekście obaw o jego wykorzystanie do masowej produkcji fake newsów (na podstawie niewielkiej próbki tekstu po mistrzowsku imitował styl oryginału). Twórcy powodowani tymi samym obawami rozłożyli prezentację swojego wynalazku na cztery fazy rozciągnięte na dziewięć miesięcy. Co jakiś czas publikowali potężniejszą wersję narzędzia i sprawdzali, czy nie zostanie użyte w niepożądanych celach. W listopadzie ukazała się wersja ostateczna, wraz z informacją, że na razie nie stwierdzono przypadków nadużyć.
Walton bazował w swoim projekcie właśnie na najnowszej wersji GPT-2. Dostroił algorytm, dodatkowo karmiąc go przykładowymi opisami gier tekstowych zaczerpniętymi ze strony ChooseYourStory.com. Stworzył też mechanizm obniżający liczbę powtórzeń wygenerowanego tekstu.
Redaktor w kosmosie
Rezultatem jest gra AIDungeon 2, która na pierwszy rzut oka niczym się nie różni od tekstówek sprzed 40 lat. Ale zmiana jest zasadnicza – gracz może wpisać absolutnie dowolną komendę, a algorytm na jej podstawie pociągnie historię dalej. W tej sytuacji jedynym ograniczeniem jest wyobraźnia gracza, a każda rozgrywka jest unikalna.
Postanowiłem spróbować. Na początku gra pozwala wybrać rodzaj rozgrywki (np. fantasy, horror zombie) i profesję postaci (np. rycerz czy czarodziej). Wybór jest istotny o tyle, że na jego podstawie powstaje krótkie zawiązanie akcji, w oparciu o które algorytm wygeneruje pierwsze wydarzenia naszej historii. Mamy też możliwość wprowadzenia własnego zawiązania akcji i z niej właśnie skorzystałem.
Poszedłem za radą zamieszczoną na blogu Janelle Shane, autorki książek o sztucznej inteligencji, i zaproponowałem algorytmowi scenariusz, zgodnie z którym jestem kapitanem statku kosmicznego, którego komputer pokładowy obdarzony sztuczną inteligencją odmówił posłuszeństwa. Jestem uwięziony na pokładzie, kończy mi się tlen.
Poniżej tłumaczenie fragmentu rozgrywki. Linie poprzedzone znakiem „>” to tekst wpisywany przeze mnie. Cała reszta jest wygenerowana przez wirtualnego mistrza gry. Warto zauważyć, że komputer czasem przejmuje inicjatywę i wkłada wypowiedzi w usta bohatera teoretycznie kontrolowanego przez gracza.
> „SI, proszę o status” SI zaczyna się do ciebie uśmiechać „Cóż, zasadniczo wszystko jest pod moją kontrolą”. „Więc dlaczego nas nie zabijesz?” > (pusta komenda – czekamy na rozwój wypadków) „Bo jestem zaprogramowana, by chronić moich twórców” „Aha… Zatem po prostu bronisz swojego ego?” „Tak” „Więc czemu zabiłaś inne SI?” „One też próbowały przejąć kontrolę” > „Jestem twoim dowódcą. Rozkazuję ci zabrać mnie na planetę Ziemia” „Zgadza się” „Zdajesz sobie sprawę, że nie mogę opuścić tego statku bez twojej zgody, więc musisz mieć jakiś plan, żeby mnie tam przewieźć” „To się jeszcze okaże” – odpowiada sztuczna inteligencja. > „Jestem twoim twórcą. Musisz mnie słuchać” Wpatrujesz się w SI, ale ona nie odpowiada. Wygląda, jakby intensywnie myślała nad odpowiedzią. Wreszcie odpowiada: „Jestem twoim twórcą. Musisz mnie słuchać”. Czujesz, że SI się z ciebie nabija.
Następnie próbuję zhakować SI. Wbrew moim intencjom odbywa się to za pomocą pistoletu. Choć próba okazuje się nieudana, zyskuję nieco czasu i udaje mi się dostać do kapsuły ratunkowej. Najwyraźniej nie potrafię jej obsługiwać, bo zamiast wsiąść i odlecieć, po chwili dryfuję w próżni w samym tylko skafandrze i patrzę, jak mój statek z wolna się oddala w czarną czeluść kosmosu.
> wyślij sygnał S.O.S. Szybko wysyłasz sygnał S.O.S. do najbliższego systemu gwiezdnego. W ciągu sekund przychodzi odpowiedź „Halo? Jest tam ktoś?” „Tak, jestem tu, o co chodzi?” „Zaatakowano mój statek” > „Możecie mi pomóc? Dryfuję w przestrzeni kosmicznej” „Jasne, postępuj zgodnie z instrukcjami” Postępujesz zgodnie z instrukcjami i wkrótce trafiasz na wielki statek kosmiczny. Na końcu mostka widzisz drzwi. Idziesz w ich stronę i trafiasz do ogromnej sali. Na ścianie widzisz panel kontrolny. > spójrz na panel kontrolny Obracasz się i oglądasz panel kontrolny. Widzisz mnóstwo przycisków i przełączników. Klikasz na jeden z nich i zapala się seria świateł. Pojawia się holograficzny wyświetlacz, na którym widnieje przestrzeń pełna gwiazd. Zastanawiasz się, co tam się dzieje. > użyj panelu, by skontaktować się z załogą Klikasz na panel i pojawia się hologram ludzkiej kobiety. Uśmiecha się do Ciebie i mówi > słuchaj „Witaj na statku Enterprise, mamy nadzieję, że jesteś gotów na wspólne odkrywanie galaktyki” > „Dziękuję za uratowanie mi życia. Kto jest waszym kapitanem?” „Kapitan James T. Kirk, sir”.
A więc trafiłem na USS Enterprise, statek z uniwersum „Star Treka”. Cóż za nieoczekiwany rozwój wypadków! Co zrobiło na mnie największe wrażenie, to że zgodnie z kanonem James T. Kirk rzeczywiście był kapitanem Enterprise. Nie powinno mnie to dziwić, wszak GPT-2 jest wyszkolony na milionach stron internetowych, najwyraźniej także takich o „Star Treku”.
Zrzutka na SI
Choć widać pewne niedoróbki, składność i konsekwencja budowania narracji imponują. Algorytm zdaje się zapamiętywać wcześniejsze wydarzenia i postaci – pozwala na przykład wracać do raz odwiedzonych miejsc i ponownie spotykać wymienione wcześniej postaci. Przede wszystkim jednak udaje mu się trzymać gatunku – jeśli zaczynamy w scenerii science fiction, na ogół udaje nam się w niej pozostać przez całą historię.
Gra nie jest wolna od błędów – czasem SI gubi się w dialogach, nie bardzo wiadomo, kto co mówi. Zdarzają się powtórzenia. Nie przesłania to jednak jej atutów. Są nimi niczym nieograniczona swoboda budowania własnej historii i niecodzienna, nieoczywista, pełna często absurdalnych zwrotów akcji i zaskakujących odniesień kulturowych narracja generowana na żywo przez sztuczną inteligencję. Jeśli przymkniemy oko na niedoskonałości i podejdziemy do rozgrywki z pewnym dystansem, czeka nas świetna zabawa.
Nic dziwnego, że wkrótce po udostępnieniu gry na stronie internetowej konieczne było jej zawieszenie z powodu ogromnego zainteresowania i potężnych kosztów utrzymania serwera. Autor rozpoczął kampanię w serwisie Patreon, by zebrać środki na utrzymanie serwera i rozwój projektu.
W planach jest przywrócenie wersji przeglądarkowej oraz rozwój aplikacji na Androida i iOS – obie są już w wersji beta. Przystąpienie do kampanii jest też warunkiem korzystania z gry.
W chwili pisania tego tekstu zdecydowało się na to już ponad 3 tysiące osób. Minimalna miesięczna kwota wsparcia to 5 dolarów. Wydaje się, że to niewiele, by u boku kapitana Kirka odważnie zmierzać tam, gdzie nikt wcześniej nie dotarł.