Kompresja krajobrazu czyli jak zabić nudę w sandboxach. - Maurycy - 23 października 2014

Kompresja krajobrazu, czyli jak zabić nudę w sandboxach.

Wchodząc między mury potężnego zamczyska trafiasz do olbrzymiej sali tronowej. Ściany pną się w górę tak wysoko, że światło licznych pochodni nie sięga sufitu i ten niknie w mroku. Po krótkiej rozmowie z władcą ten daje Ci, nieznajomemu typowi z mieczem na plecach, zadanie. Zabij nieumarłego arcymaga ciskającego gromy na królestwo z wielkiego szczytu Kur'ghur, a może zyskasz względy. Bez zająknięcia przyjmujesz na klatę questa.

Wybiegasz z zamku, przemykasz przez miasto, największe w całym królestwie, o jakie wielkie. Za fosą skręcasz w lewo, dukt zmienia się w błotnistą drogę, a ta w ledwie majaczącą wśród traw ścieżynkę. Mijasz kilka gospodarstw, po drodze pomagasz farmerom zebrać pomidory, niezbyt dobrze obrodziły tego lata. Już za chałupami wyzwalasz dobrze odzianego młodzieńca z rąk grupy goblinów, łajdaki ciągle napadają bezbronnych. Ten okazuje się być najstarszym nieślubnym synem tutejszego pana na włościach, zapewnia, że gdy odwiedzisz go w jego dworku, to hojnie Cię wynagrodzi. Zapisując to w dzienniku biegniesz dalej. Zwalony wóz, dwa gigantyczne pająki - ciach, ciach. Ścieżka skręca, biegnie nad rozpadliną, piękne widoki. Jesteś już u podnóża góry, pora na wspinaczkę. Strome podejście, półki skalne, wataha śnieżnych wilków - ciach, ciach. Ruiny starej wieży, gruzy, kilka beczek, szkielet łucznik - ciach ciach. O, jest kuferek, w środku kilka gratów, sprzeda się na targu za garść monet. Wreszcie szczyt, miejsce kultu, kilka głazów w okręgu, w środku nieumarły arcymag, z którym odbywasz epicką walkę. Zdobywasz cenny Sztylet Niewidzialnego Ptaka, odcinasz rękę arcymaga jako dowód dla władcy. Wracasz do zamku, królestwo uratowane, władca uradowany, idziesz na dziwki przezornie zostawiając Sztylet w skrzyni...

Jesteś bohaterem! Zaczynasz wspominać swoją podróż ku wybawieniu królestwa. Nagle okazuje się, że największe miasto w grze przebiegłeś w niespełna dwie minuty, Kur'ghur znajduje się pięćset metrów od murów obronnych, a sama góra ma co najwyżej kilkadziesiąt metrów wysokości. Quest trwał tyle co wypad do sklepu po paczkę czipsów i colę. Zaraz, zaraz...

Właśnie padłeś ofiarą jednej z najpopularniejszych kłamstw dla graczy, kompresji krajobrazu.

Co?

Jak od dawna wiadomo, że aby gra była wystarczająco wciągająca i klimatyczna, powinna spełniać kilka podstawowych zasad: dobra mechanika, świetne głosy i muzyka, dopieszczona (a przynajmniej estetyczna) grafika, frapująca fabuła. Jednak bardzo często zapominamy o pewnych trickach, które sprawiają, że gra nie nudzi się za szybko. Jednym z nich, jeśli nie najważniejszym jest kompresja krajobrazu. W największym skrócie chodzi o nagromadzenie jak największej ilości atrakcji na stosunkowo małej przestrzeni. Po zastosowaniu tego manewru, ku naszej uciesze spotykamy ciekawe zdarzenia, miejsca i postacie co kilkanaście, kilkadziesiąt metrów. Nie brniemy godzinami z lokacji do lokacji oglądając ciągle te same widoki, nie planujemy wielodniowej wyprawy do drugiego miasta oddalonego od nas o kilkadziesiąt mil. Z gorącej pustyni do śnieżnej tundry trafiamy w góra kilkanaście minut. Co chwilę wpadamy na wrogo nastawioną istotę, a powierzone zadania, nieważne jak karkołomne, wykonujemy między kolejnymi wizytami w toalecie, gdzie wylewamy z siebie kupioną w sklepie colę. Ta nierealna dla rzeczywistego świata płynność rozgrywki gwarantowana jest właśnie przez kompresję krajobrazu. Zabieg ten jest charakterystyczny dla światów o otwartej strukturze. Pomijam oczywiście generowane proceduralnie światy, które z założenie nie korzystają z tego dobrodziejstwa.  Przyjrzyjmy się kilku przykładom gier o charakterze sandboxowym, w których możemy wyraźnie zaobserwować opisywane zagadnienie i zwróćmy uwagę na triki jakimi posługują się twórcy, by zgrabnie skompresować krajobraz.

Gdzie?

Jeden z najważniejszych sandboxów, Just Cause 2, nie mógł obyć się bez kompresji. Mimo naprawdę imponujących rozmiarów mapy (1000km² z hakiem  według źródeł z wiki poświęconej JC) należało zastosować jeden z głównych zabiegów - miniaturyzację. Widać ją wyraźnie, gdy skupimy się na strefach, a raczej obszarach klimatycznych panujących na Panau. Z jednego punktu możemy dostrzec miniaturową pustynię, miniaturową dżunglę, miniaturowe góry ze szczytami ośnieżonymi niczym zimowe pasma Alp. Na dodatek w każde z tych miejsc możemy się dostać w kilka minut. W rezultacie otrzymujemy mapę wypełnioną różnorodnymi typami krajobrazów w mocno pomniejszonej skali, tak, że bliżej im do potężnych makiet niż faktycznych obszarów. Wszystko dla zabicia monotonii. Pomijając fakt, że jest to gra komputerowa i do realizmu jej (bardzo) daleko, to w rzeczywistym świecie takie układy nie mogłyby mieć miejsca z bardzo prostej przyczyny: warunki meteorologiczne i klimatyczne musiałyby diametralnie się zmienić, a to niemożliwe z wielu względów. Wyobrażam sobie jaki bałagan musiałby zajść, żeby utrzymać te, bądź co bądź, mikroklimaty. Pogoda na pewno nie byłaby tak bajeczna jak w Just Cause.

Rzeka, plaże, wysepki, dżungla, góry i pustynia w jednym!

Do kompresji krajobrazu bardzo ciekawie i z głową podszedł Dan Vavra podczas tworzenia Kingdom Come: Deliverance (o którym pisałem dawno temu tutaj). Dość ironicznie odniósł się do rozwiązań stosowanych w dzisiejszych RPG i podkreślał, że z reguły kompresja krajobrazu w bardzo dużym stopniu wpływa na realizm, a właściwie go zabija. Spotykanie potworów do kilkanaście sekund i interaktywnych lokacji co dziesięć metrów jest irracjonalne, atrakcyjne z punktu widzenia większości graczy, ale nielogiczne. Ponieważ jego gra miała zostać oparta jest na pewnych historycznych wydarzeniach i jest osadzona w prawdziwych miejscach Dan długo poszukiwał odpowiednich lokacji w Czechach, które mógłby odwzorować w grze. Wybór padł na dwie miejscówki oddalone od siebie o kilkanaście kilometrów. Bezsensowne było przenoszenie CAŁEGO obszaru do programu. Bazując na wielu mapach (w tym bardzo dokładnej mapie satelitarnej 3d i mapach z XVIII wieku) wyciął te dwa miejsca i zbliżył je do siebie kasując kilometry niepotrzebnego terenu i sytuując w kwadracie 4km x 4km. Kompresja krajobrazu była częściowa - wycięty został monotonny las, którego przemierzanie w tę i z powrotem na pewno odbiłby się na immersji, podczas gdy kluczowe lokacje pozostały nienaruszone.

Pierwszy screen z gry we wczesnej fazie produkcji. (warhorsestudios.cz)

Oddzielną grupą gier, które garściami czerpią z kompresji krajobrazu (jawnie i bez skrupułów nawet tego nie maskując) są MMORPG. Spójrzmy na takiego World of Warcraft. Poszczególne lokacje mają po maksymalnie kilkaset metrów kwadratowych, a te sąsiadujące ze sobą różnią się od siebie kompletnie: ukształtowaniem terenu, roślinnością, podłożem, warunkami meteorologicznymi, zwierzętami, napotkanymi wrogami, architekturą i tak dalej. Efekt? W ciągu kilkunastu minut odwiedzimy zimową krainę, piękne, trawiaste wzgórza, zniszczoną wybuchami wulkanów równinę i wilgotny, mroczny las olbrzymich grzybów. Co ciekawe chyba każda lokacja oddzielona jest od innej przez pasmo gór. Koszmar geologa.

Pokrętna geografia World of Warcraft (http://mmorpgmore.blogspot.com)

Pora na mojego ulubieńca, o którym pisałem już niejeden raz: Skyrim. Oh, Skyrim, istna kopalnia pomysłów na świetne teksty i opracowania. Mapa samej prowincji mogłaby być źródłem wielu prac naukowych (dla przykładu powstały co najmniej dwa duże teksty o geologii Skyrim wraz ze wskazaniem ruchów górotwórczych). Trzeba przyznać, że kompresja krajobrazu w tej grze ociera się niemal o granice przyzwoitości, ale robi to po mistrzowsku. Zacznijmy od wielkości mapy. Ta, patrząc na krajobrazy, wydaje się olbrzymia. Opierając się na obliczeniach jednego z użytkowników serwisu Quora prowincja Skyrim ma w grze wielkość od 13km² do 20km² z górką, zależnie od przyjętych ustaleń początkowych. Najdokładniejsze obliczenia wskazują na około 15km², około 5,2km ze wschodu na zachów i około 3,3km z północy na południe.

Prowincja Skyrim w porównaniu do Warszawy. Stolica robi wrażenie!

Mike Sutton w swoich obliczeniach zmierzył wysokość postaci (w późniejszych kalkulacjach brał pod uwagę rozmiary ras), porównał z wielkością drzwi wejściowych do domu, potem fosy. Obliczył jak szybko biega jego postać (około 20 km/h), a na podstawie tego obliczył długość odcinka drogi w pobliżu Whirerun (który jest niemal równy długości samego miasta wraz z przedmurzem - całe 236 metrów!). Odcinek wystarczyło powielić na mapie prowincji, by otrzymać wielkość obszaru gry. Na piętnastu kilometrach kwadratowych znalazło się miejsce dla dziewięciu miast, kilkunastu osad, kilkudziesięciu ruin, wież, setek innych lokacji. Ba, do tego dochodzą lasy, łańcuchy górskie, równiny i tak dalej. Co krok jakaś atrakcja! Masa często irracjonalnie powtykanych tu i tam atrakcji. Nawet ciężko jest poruszać się w terenie bez mapy, bo trudno złapać jakikolwiek punkt orientacyjny. Szczyt odległej góry? Nie, przecież za parę minut ją miniemy i będzie z całkiem innej strony. Kompresja pełną gębą.

Miła okolica, wschód słońca i majaczący w oddali szczyt. Możeby tak mała wyprawa?
Krokiem spacerowym ruszyłem ku podnóżom góry. Mijałem doprawdy urocze miejsca.
U podnóża tej góry, która zamykała horyzont na pierwszym obrazku. Wyczerpująca wędrówka trwała 9 minut. Marszu.

Jak?

Jak oni to robią, że jednak skompresowane krajobrazy są grywalne? Przypadek Skyrim jest wzorcowy i pokazuje cały szereg trików. Prócz wspomnianej wcześniej miniaturyzacji najważniejszym jest odpowiednie ukształtowanie powierzchni. Rozmieszczenie strzelistych lasów i szpiczastych łańcuchów górskich nie jest przypadkowe i wynika nie tylko z opracowań świata Tamriel. Chodzi tu o ukrywanie poszczególnych obiektów. Z jednego miasta nie dostrzeżesz drugiego, bo zasłaniają je góry. Biegnąc do grodu nie zobaczysz go z odległości kilometrów, bo zawsze coś go będzie zasłaniać: zagajnik, mgła, skały, smok... Droga nie biegnie wprost, ale wije się pomiędzy dużymi przeszkodami terenowymi. To ukrywanie obiektów i zmuszanie gracza do lawirowania jest celowym działaniem. Gdybyśmy wszystko widzieli jak na dłoni automatycznie nasz mózg odbierałby przestrzeń jako małą. Zdając sobie sprawę, że coś jest za górą (a za tym czymś jest jeszcze jedna góra, a za nią...), a my tego nie widzimy, teren natychmiastowo jest powiększany, nie tylko optycznie, ale i w naszym mózgu. Zresztą, trik ten często używany jest w projektowaniu przestrzeni (aby optycznie zwiększyć niewielki ogród często aranżowałem zielone zasłony, wywołując efekt "ciekawe co jest w tamtym kąciku, którego nie widać"). Podobnie jest z lokacjami w WoWie. Z jednej zwykle trudno jest dostrzec tę drugą. A to zasłania nam góra, a to mgła, a to sama kolorystyka (zauważcie jak kolorystyka samej mgły zmienia się podczas przechodzenia z lokacji do lokacji). Innymi optycznymi trikami są zabawy z polem widzenia, rozmyciami i "deep of field", którego odpowiednie ustawienia fałszywie wydłużają perspektywę. Stosuje się również podział na lokacje, między którymi podróżuje się za pomocą ekranów ładowania. Znamy to chociażby z Assassin's Creed, a Dan Vavra miał ten system wprowadzić w Kingdom Come. Na kompresję pośrednio wpływa również nagięcie upływu czasu. Przejście rzeczywistych dwóch kilometrów trwa trzy - cztery godziny w świecie gry co odbija się na naszym postrzeganiu wielkości mapy. Szybki upływ czasu szczególnie widać, gdy stosujemy rozwiązanie szybkiej podróży między punktami charakterystycznymi.

OK, a co z grami, które mają zarówno otwartą strukturę jak i duże przestrzenie, a starały się ustrzec kompresji krajobrazu? Ponownie pomijam tu proceduralnie tworzone światy, jak Starbound, czy Minecraft. Tak, takie tytuły są, ale brak kompresji niekoniecznie wychodzi grze na dobre.

Jedną z produkcji, które według mnie nie poradziły sobie z porzuceniem kompresji na rzecz realizmu jest Operation Flashpoint: Dragon Rising. Około 220km² terenu opracowano na podstawie zdjęć satelitarnych prawdziwej wyspy, odwzorowano ją w skali 1:1. Rezultatem jest zwyczajna nuda, co z tego, że teren wygląda realistycznie, jeśli ogromna większość nie jest w żaden sposób używana w grze? Co ciekawe podczas tworzenia pierwszej odsłony OF też skorzystano z map prawdziwej wyspy, jednak zmniejszono ją dwudziestokrotnie, góry stały się pagórkami, a miasta wsiami. Nie trzeba było miniaturyzować, ale zmienić charakter danych przestrzeni, dzięki czemu twórcy otrzymali realistycznie wyglądający i stosunkowo atrakcyjny krajobraz.

Z kolei przykładem gry, która nie tylko uniknęła kompresji, ale zrobiła to z klasą jest The Hunter, symulator polowania na dziką zwierzynę dostępny za darmo (choć z całkiem sporymi mikropłatnościami) na Steam. Tam mapy są bardzo duże i niesamowicie realistyczne, jednak na próżno szukać tam nudy dzięki specyficznej, ale genialnie wykonanej rozgrywce. Wycieczka ze wzgórza do strumienia położonego poniżej trwa długo, bo nie biegniemy tu na złamanie karku, a podróż z jednego końca mapy na drugi to już przedsięwzięcie, które trzeba dobrze przemyśleć. W końcu przestrzenie mają po 4-5 km długości/szerokości i uwierzcie, naprawdę to czuć. Co znajdziemy na takiej mapie? Gęste, robiące wrażenie lasy ciągnące się po horyzont, rzeczki, wzgórza, tu jakiś kanion, tu zespół budynków, wiatrak albo ambona... Nie ma miejsca nawet na jedno miasto (choć Bethesda spokojnie wcisnęłaby tam ze trzy)! Przy tym gra jest niesamowicie grywalna i nawet podczas wielogodzinnych polowań nie odczuwałem nudy.

thehunterwiki.com

Oczywiście nie wymieniłem tu szeregu znanych gier, które korzystają z zabiegów polegających kompresji krajobrazu. Seria GTA, nowy Tomb Raider, Far Cry, Mount & Blade... Tytuły można wymieniać bardzo długo, sami możecie się zastanowić w jaki sposób twórcy wpłynęli na odwiedzany przez nas wirtualny teren.

Po co?

Czy kompresja krajobrazu jest zła? Zdecydowanie nie. Owszem, czasem zdaje się być przesadzona i aż zanadto widoczna, szczególnie gdy zaczynamy się nad zagadnieniem zastanawiać. Jednak nie sposób zaprzeczyć, że proces ten wpływa na płynność rozgrywki. Typowy gracz chce atrakcji co chwila, niespodzianek i ciekawostek wylewających się z monitora, płynnej rozgrywki niestrudzenie pchającej fabułę do przodu. A nawet jeśli zechce oderwać się na chwilę od wypełnianych zadań i pobłądzić po otwartym świecie spodziewa się co i rusz znajdować urocze zakątki, ukryte skarby, ciekawostki, znajdźki i prztyczki od twórców. Kompresja krajobrazu, która nagina realizm właśnie do tego jest twórcom i graczom potrzebna. Znalezienie granicy między realizmem, a przesadą jest płynna i ciężka do uchwycenia. Jednak przyznajmy, jeśli przestrzenie oddane graczowi byłyby zbliżone do rzeczywistości i realistyczne częściej odczuwalibyśmy znużenie, używali opcji szybkiej podróży między punktami i zwyczajnie omijali monotonne fragmenty.

Maurycy
23 października 2014 - 18:52