Jako sześciolatek przegrałem z komputerem w szachy. Nic dziwnego, do dzisiaj przegrywam w szachy właściwie ze wszystkimi. Ale ta porażka okazała się całkiem sympatyczna – tata poinformował mnie, że na koniec komputer napisał: „Przykro mi, przegrałeś”. Pomyślałem, że to poruszające. Mógł przecież napisać: „Przegrałeś – jesteś głupi” albo coś jeszcze gorszego. A jemu było przykro. Poczułem się doceniony. Potem brat mi tłumaczył, że komputer wcale tak nie uważał, tylko ktoś mu wpisał takie słowa w program. Uznałem, że to bardzo nieładnie tak mówić.

Komputer mówiący z sensem (a może i zrozumieniem) jest świętym Graalem techniki przynajmniej od roku 1950, kiedy Alan Turing uznał, że to właśnie umiejętność prowadzenia dialogu powinna być ostatecznym kryterium pozwalającym na przejście od maszyn liczących do maszyn myślących. Kolejne pokolenia ludzi siadały do komputerów i próbowały się z nimi na różne sposoby komunikować. Moment, kiedy komputer pierwszy raz zareaguje tak, jakby nas rozumiał, jest zawsze magiczny. Dzisiaj rzadko z naszymi komputerami rozmawiamy – stały się narzędziami dużo potężniejszymi, ale i dużo bardziej prozaicznymi niż wciąż jeszcze okryte nimbem tajemniczości komputery z lat osiemdziesiątych. Coraz więcej natomiast rozmawiamy z postaciami w grach i właśnie temu chciałbym poświęcić niniejszy tekst. Bo muszę powiedzieć, że mam z takimi rozmowami pewien problem. Owszem, pisane są coraz lepiej i robią coraz większe wrażenie, ale postacie mówią, co mówią, bo ktoś im napisał słowo po słowie scenariusz, a więc w gruncie rzeczy wciąż tkwią w tym samym miejscu, co komputer informujący mnie trzydzieści lat temu o przegranej partii szachów. Mamy gry z cudowną grafiką, coraz bardziej zaawansowaną sztuczną inteligencją… i dialogami, w których największą innowacją jest dobrze ułożone drzewko gotowych odpowiedzi. Nie da się inaczej? Pewnie, że się da, i w historii gier jest sporo ważnych eksperymentów w tej kwestii.

Każde omówienie dialogów w grach trzeba zacząć od Josepha Weizenbauma i stworzonego przez niego w 1965 programu Eliza. To pierwszy chatbot, czyli program, z którym można pogadać jak człowiek z człowiekiem. Weizenbaum sprytnie wybrał dla Elizy osobowość – udaje ona psychologa, w związku z czym może swobodnie narzucać temat rozmowy i bezczelnie powtarzać to, co jej właśnie powiedzieliśmy, tyle że ze znakiem zapytania zamiast kropki na końcu. Na szczęście nie bierze pieniędzy za sesję. Eliza okazała się ogromnym przebojem. Laicy, dotąd myślący o komputerach jako wielkich maszynach do liczenia, które uczciwy człowiek powinien omijać szerokim łukiem, prowadzili teraz z Elizą długie rozmowy, zwierzając jej się ze swoich traum i marzeń.

Weizenbaum wspomina, że fascynacji programem uległa nawet jego sekretarka (która doskonale wiedziała, że żaden z Elizy psycholog) – kiedy raz przysiadła do komputera, poprosiła szefa, żeby wyszedł z pokoju. Oczywiście Eliza to tak naprawdę sprytne oszustwo. Program zupełnie nie rozumie, co się do niego mówi, natomiast umie wyłapywać z tekstu określone frazy, na które odpowiednio reaguje. Co ważne, ta reakcja nie zawsze ma postać gotowej formułki – Eliza potrafi podchwycić wykorzystane przez użytkownika słówko („Jestem amigowcem” – „Czy uważasz, że to normalne być amigowcem?”) albo wrócić do wątku, który pojawiał się wcześniej w rozmowie („Czy jesteś nieszczęśliwy, bo jesteś amigowcem?”). Podobnych programów zaczęło się pojawiać coraz więcej – na przykład stworzony w roku 1972 PARRY symulował schizofrenię paranoidalną (od czasu do czasu organizowano mu spotkania z Elizą – wychodziły z tego bardzo ciekawe dyskusje), a Racter (1983) napisał tomik poezji „The Policeman’s Beard is Half Constructed” (jak się później okazało, z dużą pomocą ze strony swojego twórcy, Williama Chamberlaina).

Pierwsze tekstowe gry przygodowe były naturalnym przedłużeniem zabaw z chatbotami. Użytkownik wpisywał polecenie, a komputer odpowiadał, wykorzystując mieszankę gotowych formułek i elementów zaczerpniętych z wypowiedzi gracza. Z początku prawie nie było w nich postaci niezależnych, a te, które się pojawiały, nie bywały zbyt rozmowne. Jednak w miarę komplikowania się fabuł, w grach pojawiła się potrzeba rozmawiania nie tylko z komputerem, ale i z osobami zaludniającymi wirtualny świat. Próby budowania postaci-chatbotów były jednak dość rzadkie (elementy takiego podejścia widać choćby w Mindwheel firmy Synapse). Z prostej przyczyny – ze względu na ograniczoną pamięć ówczesnych komputerów każdy kilobajt był na wagę złota, więc nie można było wypychać gry mnóstwem tekstu służącego głównie dla ozdoby. Pojawiło się natomiast inne ciekawe rozwiązanie – wielu NPC-om można było wydawać polecenia takie jak bohaterowi gry. Czasami reagowali obcesowo („Sam to zrób!”) jak w Deadline firmy Infocom, ale na przykład w grze Enchanter znajdowała się bardzo ciekawa zagadka związana z wydawaniem skomplikowanych rozkazów żółwiowi, którego najpierw trzeba było zaczarować tak, żeby rozumiał ludzką mowę. Do dziś wspominam ucieszne i bardzo skomplikowane polecenia, jakie można było wydawać postaciom w tekstowym Hobbicie – kilka razy udało mi się namówić Gandalfa, żeby spuścił lanie Thorinowi, a potem poszedł oddać się w niewolę goblinom. Nie było to łatwe, bo NPC-e w Hobbicie mają swój rozum i starają się nie słuchać głupich rozkazów, więc namawianie ich do różnych ekscesów rzeczywiście bardziej przypomina rozmowę niż programowanie robota kolejnymi poleceniami.

Tekstówki były bardzo ciekawą przestrzenią, w której gry wideo spotykały się z bardzo zaawansowanymi rozwiązaniami z pogranicza językoznawstwa i sztucznej inteligencji – ludzie z MIT, którzy zakładali Infocom, byli również po części naukowcami, świetnymi ekspertami w dziedzinie rozumienia przez komputery języka naturalnego. Kiedy na początku lat dziewięćdziesiątych skończyła się era komercyjnych tekstówek, skończyło się też w grach głównego nurtu próby namawianie komputerów, żeby dalej uczyły się swobodnie rozmawiać z graczem. Nie mogliśmy już mówić tego, co chcieliśmy – byliśmy skazani na drzewko dialogowe.

I rzeczywiście, język naturalny w grze to problem – wymaga bardzo skomplikowanego programu, a do tego jest koszmarem, kiedy grę trzeba przetłumaczyć na język o innej gramatyce. Jak sobie z tym poradzić, pozostawiając graczowi swobodę mówienia tego, co tylko chce? Na świetny pomysł wpadła pod koniec lat osiemdziesiątych grupka zwariowanych twórców z Ere Informatique, działających pod szyldem Exxos. W swojej grze Captain Blood, której bohater lata po galaktyce, spotykając coraz dziwniejszych kosmitów, postanowili zastosować język składający się w całości z ikonek odnoszących się do prostych pojęć.

Zamiast przejmować się składnią, można od razu mówić: „Ja Szukać Planeta Miła albo Wielki Wojownik Zabić Ty Nieprzyjemny Ha Ha [przekleństwo]”. A bohaterowie gry odpowiadają, i to zgodnie ze swoją osobowością – czasem agresywnie, czasem spokojnie, czasem filozoficznie, a czasem przeplatając słowa losowymi liczbami. Jest z tego wszystkiego dużo radości, niezależnie od faktu, że prędzej czy później orientujemy się, jak działa cały system. Podobnie jak Eliza szuka w naszych wypowiedziach określonych słów i przedstawia gotową odpowiedź. W prostym języku składającym się z nieco ponad setki słów razi to dużo mniej. Rozwiązanie z Captain Blood, w tej grze jeszcze niedoskonałe, miało ogromny potencjał – szkoda, że w kolejnych częściach (wydanych już pod szyldem Cryo Commander Blood i Big Bug Bang) twórcy wybrali proste drzewko dialogowe.

Znacie Chrisa Crawforda? To jedna z najważniejszych i najbardziej zapomnianych postaci w historii gier komputerowych. W roku 1981 stworzył East Front (1941), jedną z pierwszych komputerowych strategii wojennych z prawdziwego zdarzenia. W roku 1983 napisał „The Art of Computer Game Design” – pierwszą książkę o projektowaniu gier wideo. W 1988 zaprosił do domu gromadkę twórców gier, tworząc zalążki późniejszej Game Developers Conference. Jedną z najbardziej popularnych gier Crawforda było Balance of Power (1985, remaster w roku 1990), symulator dyplomacji okresu zimnej wojny.

Celem gry nie jest pokonanie przeciwnika w otwartej konfrontacji, ale unikanie wojny przez utrzymywanie globalnej równowagi. To oczywiście nie znaczy, że musimy być grzeczni i bierni. Jeśli Sowieci wywołali właśnie pucz w afrykańskim państwie, które dotąd po cichu kontrolowaliśmy, to nie możemy pozwolić, żeby poczuli się zbyt pewnie. Trzeba im ostro pogrozić palcem, a potem szybciutko dofinansować opozycję w Polsce. A jeśli zareagują za ostro, bezpośrednio grożąc wojną, musimy pójść na lekkie ustępstwa. Tu nie ma totalnych zwycięstw; słowa-klucze to „kompromis” i „dialog”. No właśnie – dialog. Bo Balance of Power to skomplikowana psychologicznie rozmowa dwóch przeciwników z przerostem ego, którzy próbują ocalić i twarz, i własny tyłek.

Najciekawszy (choć też nie do końca udany) projekt Crawforda wyrasta właśnie z opartej na intrygach mechaniki Balance of Power. Trust and Betrayal: The Legacy of Siboot (1987) to gra o rozmawianiu. Gromadka postaci w fantastycznym świecie rywalizuje ze sobą, przygotowując się do magicznego rytuału, w którym jedna z nich zajmie zaszczytne stanowisko Pasterza.

Aby go przeprowadzić, trzeba najpierw zdobyć informacje, w których posiadaniu są nasi konkurenci. Jak? Prośbą, groźbą, szantażem, a nawet bliskością budowaną tylko po to, żeby potem oszukać. Tu również występuje interfejs ikonkowy, który ma dość ograniczoną ilość słów, ale umożliwia bardzo ciekawe zabiegi – składanie obietnic, okazywanie emocji, budowanie zaufania albo donoszenia o zdradzie. Inne postacie też ze sobą rozmawiają, więc nie zdziwmy się, jeśli ktoś, komu zdradziliśmy sekret naszego oddanego przyjaciela, postanowi o tym poinformować pokrzywdzonego, żeby coś od niego wyciągnąć.

Nie ma chyba w grach lepszego silnika do tworzenia skomplikowanych intryg – szkoda, że Trust and Betrayal ogranicza się właściwie tylko do niego; to bardziej pokaz fascynujących możliwości niż pełnoprawna gra. Na początku lat dziewięćdziesiątych Crawford przestał wydawać gry komercyjne i zaczął obsesyjną pracę nad rozwinięciem silnika Trust&Betrayal, żeby stworzyć uniwersalny system budujący dynamiczne relacje społeczne między postaciami. Mijały dziesięciolecia, a projekt się nie ukazywał. Zmieniał za to nazwy: Erasmatron, Deikto… Obecnie nazywa się SWAT (Storyworld Authoring Tool), a Crawford zbiera fundusze na dokończenie pokazu jego możliwości – gry pod tytułem, a jakże, Siboot. Donkiszoteria? Oczywiście. Ale kibicuję mu z całego serca.

Jeżeli nie chcecie czekać na Siboota (obawiam się, że jego tworzenie jeszcze trochę potrwa), możecie wejść na Kongregate i zagrać w Prom Week – fascynujący prototyp, który powinien być wzorcem dla całych hord twórców na całym świecie, a Bóg jeden wie, dlaczego nie jest. Jego akcja toczy się w amerykańskim liceum. Zadaniem naszej postaci jest budowanie różnych relacji z kolegami i koleżankami o różnych osobowościach i zainteresowaniach. Robimy to poprzez rozmowy.

Za pomocą prostego interfejsu wybieramy, co z grubsza chcemy powiedzieć (na przykład: pochlebstwo, próba zaimponowania, groźba, zaproszenie na randkę), a komputer generuje na tej podstawie całą wypowiedź. Proste? Broń Boże. Bo to, co powie dana postać, zależy od jej nastawienia do innych, osobowości, a nawet wiedzy o tym, co się dzieje w klasie i wcześniejszych doświadczeń – jeśli ktoś chce skompromitować Zacka w oczach jego dziewczyny Chloe, to powie, że słyszał od Simona, że Zack flirtował z Moniką.

Czasem do rozmowy włącza się ktoś, kto akurat przechodzi obok – kiedyś próbowałem zaimponować koleżance, ale nagle wtrącił się mój zdeklarowany wróg, który najpierw mnie wyśmiał, a potem opowiedział kompromitującą anegdotkę na mój temat. Wszystko to generowane na bieżąco, bez skryptów. Prom Week próbuje bywać pełnoprawną grą w niezbyt ciekawym trybie fabularnym, w którym wykonujemy kolejne zadania, ale prawdziwa zabawa zaczyna się w trybie free play, gdzie możemy kształtować relacje w klasie, jak tylko dusza zapragnie.

Jednym z najśmielszych eksperymentów w dziedzinie dialogów w grach wideo jest Facade (2005) Andrew Sterna i Michaela Mateasa. Nasz bohater został właśnie zaproszony na kolację przez swoich znajomych – młode małżeństwo, Tripa i Grace. Problem w tym, że między nimi niezbyt dobrze się dzieje. Pokrzykiwania i wzajemne pretensje słyszymy, jeszcze zanim zapukamy do drzwi mieszkania.

Potem sytuacja się uspokaja, ale tylko na chwilę. To nie będzie miły wieczór. Stern i Mateas zagrali va banque – Trip i Grace mówią do nas głosami aktorów, ale kontaktujemy się nie za pomocą ikonek czy prostych komend, ale poprzez wstukiwanie na klawiaturze, co nam tylko przyjdzie do głowy. Nie musimy czekać, aż skończą do nas mówić, tylko możemy im w czasie rzeczywistym przerywać (oczywiście niezbyt dobrze to przyjmują). Jakim cudem bohaterowie rozumieją, co do nich mówimy?

Facade stosuje bardzo ciekawe podejście do dialogów – zwraca mniejszą uwagę na to, co konkretnie powiemy (choć, podobnie jak Eliza, rozpoznaje niektóre słowa i zwroty), a większą na kontekst, w jakim to robimy. Przykład? Kiedy Trip próbuje nas o coś zapytać, a my go zignorujemy i odezwiemy się do Grace, będzie urażony. Kiedy Grace wyraźnie zależy, żebyśmy pochwalili obraz, a my w odpowiedzi użyjemy jakiegoś negatywnego przymiotnika, ucieszymy Tripa. I tak dalej. Sytuacja w mieszkaniu może się rozwijać w bardzo różnych kierunkach – nasze gadanie może i doprowadzić do rozstania, i uzdrowić związek. Moje najczęściej kończyło się tym, że wściekły Trip brał mnie za kołnierz i wyrzucał za drzwi.

Można by wymieniać jeszcze inne tytuły próbujące sobie ambitniej radzić z kwestią dialogów – na przykład innowacyjną, choć nieudaną grę Sentient (1997), w której walczymy o przetrwanie stacji kosmicznej, rozmawiając z postaciami za pomocą skomplikowanego menu pozwalającego tworzyć długie wypowiedzi z gotowych modułów. Ale wszystkie mają jedną cechę wspólną – wprowadzone w nich pomysły giną gdzieś w historii gier i prawie nikomu nie chce się do nich wracać. Cała historia takich ciekawych prób radzenia sobie z dialogami spływa po grach głównego nurtu jak woda po kaczce. Wciąż tkwimy w królestwie drzewka dialogowego, ciesząc się świeżutkimi innowacjami takimi jak duży wpływ statystyk postaci na opcje dialogowe (Fallout, 22 lata temu) czy konieczność szybkiego wyboru odpowiedzi (Fahrenheit, 14 lat temu).

Na szczęście zdarzają się też odważniejsi twórcy, którzy nie boją się skonfrontować z problemem dialogów. W opisywanej niedawno przeze mnie w Pixelu grze Event [0] gracz komunikuje się z Kaizen, sztuczną inteligencją kierującą statkiem kosmicznym za pomocą rozrzuconych po statku terminali komputerowych. Rzecz w tym, że Kaizen to w zasadzie chatbot, któremu możemy albo dawać proste polecenia, albo (co dużo ciekawsze) wdawać się z nim w rozmowy, dzięki którym albo się do nas przywiąże, albo wręcz przeciwnie.

W ciekawym kierunku idzie też prosta, ale bardzo sympatyczna gra polskiego studia Vile Monarch – Oh… Sir! The Insult Simulator. Przerzucamy się w niej obelgami à la  Monty Python („Twoja matka była chomikiem, a twój ojciec śmierdział skisłymi jagodami”) układanymi z gotowych modułów, ale warto zwrócić uwagę na to, że program bierze również pod uwagę podstawowe zasady gramatyki – odpowiednie części mowy muszą znajdować się w odpowiednich miejscach w zdaniu, a forma orzeczenia dostosowuje się do liczby podmiotu.

Żeby było weselej, gra ocenia obelgi nie tylko na podstawie ich długości, ale również wykorzystywanych znaczeń – dodatkowo punktowane są powracające wątki i tematy drażliwe dla konkretnego odbiorcy. To oczywiście prosty system, ale już teraz sprawia dużo uciechy (zwłaszcza kiedy gramy z gromadką znajomych). Byłoby pięknie, gdyby ludzie z Vile Monarch spróbowali go jeszcze lepiej rozwinąć.

Nie mam nic przeciwko drzewkom dialogowym, jeśli są dobrze napisane i skonstruowane, ale skoro w grach poruszamy się po generowanych przez komputer lochach, zbieramy generowane przez komputer łupy i spotykamy generowanych przez komputer przeciwników, czemu nie mielibyśmy prowadzić dyskusji z generowanymi przez komputer rozmówcami?

Artykuł ukazał się w Pixelu #22, którego nakład został już wyczerpany. Zapraszamy jednak do sklepu Pixela po inne wydania drukowanego magazynu.