Niemowlęta w locie i kowale w bezruchu – kulisy okiełznania najambitniejszego świata Wiedźmina 3

Wczesne testy trzeciej odsłony Wiedźmina przypominały groteskową komedię: wieśniacy uciekający w popłochu, matki wywijające berbeciem niczym maczugą, a wszystko to w scenerii, która dziś uchodzi za wzór rzemiosła open-world. Droga od tego cyfrowego kabaretu do olśniewającego finalnego produktu była jednak prawdziwą szkołą przetrwania dla CD Projekt RED.

Twórcy musieli pogodzić marzenie o autentycznej, pulsującej życiem krainie z twardymi ograniczeniami silnika i sprzętu. Poniżej, bazując na licznych prelekcjach GDC, rozmowach w branżowej prasie oraz wspomnieniach deweloperów, odsłaniamy najciekawsze zakręty tej podróży: od zabójczego harmonogramu dnia po elegancki system punktów zainteresowania.

Zegar tykał, lecz nikt nie miał chwili dla Geralta

Początkowo każda postać niezależna otrzymywała pełny, rozpisany co do minuty plan dobowy. Rybak o świcie łatał sieci, w południe jadł zupę, a wieczorem plotkował przy ognisku. Podczas wystąpienia na Game Developers Conference 2017 jeden z projektantów, Philipp Weber, przyznał, że ten perfekcjonizm szybko obrócił się przeciw zespołowi: harmonogramy tak szczelnie wypełniały dobę, iż NPC-y ignorowały przybysza z białymi włosami, skupione wyłącznie na „obowiązkach służbowych”.

Testujący gracze mijali zamknięte drzwi, puste podwórka i wiecznie nieobecnych rozmówców, co kłóciło się z założeniem, że każda chatka kryje narracyjną niespodziankę. Stało się jasne, że symulacyjny ideał musi ustąpić miejsca grywalności.

Symulator paniki, czyli kiedy dziecko staje się… balastem

Najbardziej komiczny etap rozwoju przypadał na chwile zagrożenia. Gdy Geralt dobywał miecza, kod sztucznej inteligencji próbował przerwać aktualną animację i przełączyć bohatera niezależnego w tryb ucieczki. Problem w tym, że algorytm nie rozpoznawał, co NPC trzyma w dłoniach. Jeśli była to siekiera – lądowała na ziemi; jeśli niemowlę – również. „Nie chodziło o brutalność, tylko o brak wolnych klatek animacji” – żartował później Weber w rozmowie z brytyjskim miesięcznikiem branżowym. Choć sceny te bawiły zespół, ujawniły też absurd generowany przez nadmiernie sztywne skrypty.

Przerażające dziecięce „pociski” stały się memem wewnątrz studia, ale przede wszystkim uruchomiły alarm: projekt wymagał systemu, w którym reakcje na bodźce będą naturalne, a nie determinowane przez listę odhaczanych czynności.

Punkty zainteresowania – prosta idea, olbrzymi efekt

Rozwiązaniem okazała się rezygnacja z precyzyjnych grafik na rzecz modularnej siatki punktów zainteresowania. Każdy NPC zyskiwał zestaw ulubionych miejsc – kuźnię, studnię, stragan – oraz reguły priorytetu. Po zakończeniu jednej aktywności algorytm sprawdzał, który cel jest obecnie najbardziej atrakcyjny i wolny. Dzięki temu mieszkańcy wioski ruszali w różne strony, reagowali na obecność gracza i pozostawali „elastyczni” w obliczu niespodziewanych zdarzeń.

Skalę tego podejścia najlepiej widać w portowym Novigradzie. Według danych przywoływanych w wywiadzie dla francuskiego magazynu „Gamekult” pięćdziesięciu marynarzy było w stanie odwiedzać aż dwieście lokacji – od karczm i doków po szemrane zaułki – co wielokrotnie mnożyło liczbę możliwych scenek. W rezultacie gracz rzadko obserwował identyczne zachowanie dwa razy.

Od ręcznego dłubania do narzędzi „na klik”

Weterani projektu przyznają, że powtórne stworzenie prototypowej wioski przy użyciu dzisiejszych narzędzi zajęłoby im ledwie kilka godzin. Rozbudowane edytory wizualne, automatyczne generatory navmeshu i biblioteki animacji sprawiają, że współczesne zespoły projektowe mogą skupić się na finezji, nie na podstawach. Dzięki temu scenariusz, w którym matka wyrzuca niemowlę w panice, pozostał już tylko zabawną anegdotą – i przypomnieniem, że w projektowaniu otwartych światów finezja zawsze rodzi się z mądrze wprowadzonych ograniczeń.