Dlaczego gry zajmują dziś często ponad 100 GB na dysku?
Coraz więcej nowych gier wymaga ogromnej przestrzeni dyskowej. To oznaka postępu czy lenistwa twórców? Dlaczego produkcje zajmują tak dużo miejsca?

Do grania w większość nowych tytułów nie potrzeba topowej karty graficznej ani procesora, zwłaszcza gdy nie zależy nam na wysokiej liczbie klatek. Tym, co rzuca się w oczy, jest za to ogromna ilość wymaganego miejsca na dysku. Wartości powyżej 100 GB stają się powoli standardem przy większych produkcjach, co można sprawdzić na liście gier z ponadprzeciętnie dużym rozmiarem. Co stoi za tym, że te produkcje potrzebują aż tyle przestrzeni?

Jeśli sądzicie, że rosnący rozmiar gier jest wynikiem lenistwa twórców, którym nie chciało się zoptymalizować swoich dzieł pod tym kątem, musimy wyprowadzić Was z błędu. Większa waga jest oznaką postępu. Zanim wyjaśnimy dlaczego, wypadałoby sprawdzić, co w ogóle składa się na ostateczny rozmiar produkcji.
Co zajmuje najwięcej miejsca?
Zdecydowanie najwięcej miejsca zajmują assety graficzne, czyli obiekty umieszczane w świecie gry, animowane modele postaci, elementy środowiska np. chmury, woda i przede wszystkim gotowe tekstury. Ich rozmiar wielokrotnie przewyższa przestrzeń, którą rezerwuje cała reszta składowych. Jak poinformował nas pracownik The Farm 51 w tytułach z fotorealistyczną grafiką 3D pliki z teksturami zajmują nawet 60-70% objętości. Bitmapy mają coraz większą rozdzielczość, przez co zawierają więcej detali i po prostu lepiej wyglądają. To bardzo ważne, bo teksturami pokrywane są niemal wszystkie obiekty, które widzimy w grze. Bitmapy mają więc niebagatelny wpływ na ostateczny odbiór oprawy graficznej.

Na ostateczny rozmiar tekstur wpływa nie tylko ich szczegółowość, ale także liczba i jakość obiektów 3D do oteksturowania. Najwięcej jest ich zazwyczaj w grach z otwartym światem lub tytule z ograniczonymi, ale wciąż sporymi lokalizacjami – a przynajmniej tak mogłoby się wydawać. W rzeczywistości w sandboxach pilnuje się całościowej optymalizacji pamięci, szybkości płynnego doczytywania (streamingu) poszczególnych obszarów gry i tym samym produkcje z wielkimi terenami do eksploracji często muszą być oszczędniejsze w liczbie unikatowych obiektów niż gry z wieloma odrębnymi lokacjami. Duża liczba obiektów może znaleźć się również w stosunkowo niewielkim pomieszczeniu. Wojtek z The Farm 51 zwrócił uwagę na to, że Call of Duty: Cold War nie jest open-worldem, a waży grubo ponad 200 GB. Produkcja była pokazówką możliwości nowego silnika i dokładności grafiki na next-genowych platformach, co sprawiło, że prawie każda miejscówka dostała swoje unikatowe i bardzo szczegółowe modele oraz tekstury, a tym samym gra mocno spuchła.
Żeby uzmysłowić sobie, ile mogą ważyć tylko same bitmapy, wystarczy sprawdzić rozmiar tzw. HD texture packów. Pomimo tego, że Fallout 4 nie jest ani najnowszą, ani najpiękniejszą produkcją, paczka z teksturami do niej waży aż 58 GB. Pojedyncza bitmapa 4K (4096 x 4096) może zajmować około 70 MB, a 8K (8192 x 8192) przeszło 250 MB. Tekstury o rosnącej szczegółowości wymagają nie tylko ogromnej przestrzeni na nośniku, ale także coraz większej pojemności pamięci VRAM na karcie graficznej – obserwujemy to w ostatnim czasie.
Najwięcej miejsca na dysku zajmują tekstury w najlepszej jakości, to jest jasne. Należy jednak pamiętać, że w grach praktycznie zawsze mamy do wyboru różne poziomy np. niski, wysoki, ultra itp. Zwykle oznacza to ni mniej, ni więcej, że twórcy przygotowali kilka wariantów bitmap, co znacząco wpływa na zwiększenie łącznego rozmiaru. Mniej szczegółowe wersje powstają poprzez większą kompresję lub przeskalowanie „tekstur źródłowych”, czyli tych w najwyższej rozdzielczości. Innym rozwiązaniem stojącym za wyświetlaniem tekstur o różnej jakości jest technika ich skalowania w czasie rzeczywistym.

Pozostałe elementy zajmują już znacznie mniej przestrzeni, ale łącznie wciąż zabierają miejsce liczone w gigabajtach. W nowych grach wyższą jakość prezentuje nie tylko grafika, ale m.in. także warstwa dźwiękowa. Poza tym często pojawiają się w pełni udźwiękowione dialogi dostępne w kilku, a nawet kilkunastu wersjach językowych. Wśród danych, które muszą wylądować na dysku, znaleźć można również wersje plików i kodu przygotowane z myślą o różnych platformach oraz zawartość, która w premierowej edycji gry jest zablokowana.
A na tym lista się nie kończy. Są jeszcze sekwencje wideo. Jeśli jakiś tytuł jest naszpikowany masą pre-renderowanych filmów, odczują to dyski w naszych komputerach i konsolach.
Dlaczego gry zjadają coraz więcej przestrzeni na dysku?
Mając powyższą wiedzę, odpowiedź na to pytanie jest dość prosta. W wielkim skrócie sprowadza się ona do tego, że gry są coraz ładniejsze, bardziej rozbudowane oraz oferują wysokiej jakości dźwięk i dlatego zajmują coraz więcej miejsca na dysku. Wejdźmy jednak w szczegóły.

Rosnąca waga nowych produkcji wynika przede wszystkim z ostrzejszych i bardziej szczegółowych tekstur. W tytułach grubo przekraczających rozmiar 100 GB są one używane do „okrycia” nie tylko kluczowych obiektów, w tym postaci, ale także mniej istotnych rzeczy. W dalszym jednak ciągu w tego typu tytułach można znaleźć bitmapy, które swoją jakością odstają od pozostałych. Łatwy dostęp do w miarę tanich terabajtowych i większych nośników SSD oraz rosnąca pojemność pamięci VRAM, zwłaszcza przy kartach graficznych AMD Radeon (NVIDIA nadal skąpi VRAM-u; wyjątkiem są topowe modele) pozwala twórcom na coraz większe „szaleństwa”, które jeszcze kilka lat temu byłyby nie do pomyślenia. Granice wciąż jednak istnieją.
Jeśli w wyjątkowo rozbudowanej produkcji (np. z otwartym światem) dosłownie każdy obiekt miałby mieć tekstury 4K, 8K lub 16K, gry ważyłyby jeszcze więcej – nawet kilkaset gigabajtów. Na to z całą pewnością nie jesteśmy jeszcze gotowi.
Atrakcyjność tekstur zależy nie tylko od ich rozdzielczości. Ważną kwestią jest mechanizm kompresji i dekompresji optymalizujący wielkość plików tekstur. Wszystko zaczyna się od analizy tekstury i podzielenia jej na mniejsze bloki o takim samym rozmiarze. Następnie kolory w każdym z bloków są ograniczane do mniejszej wartości. Proces kwantyzacji, bo tak się on nazywa, pozwala zredukować liczbę bitów niezbędnych do reprezentacji każdego bloku. Następnym etapem jest kodowanie bloków przy użyciu algorytmu kompresji. Istnieje tutaj wiele rozwiązań, które m.in. różnicują kolory, wprowadzają interpolację czy transformacje falkowe. Wszystkie te zabiegi mają na celu jedno – uzyskanie jak największego stopnia kompresji przy jednoczesnym zachowaniu najlepszej jakości obrazu. Skompresowane dane są zapisywane w jednym z różnych formatów np. DXT, ETC lub ASTC.
Tekstury poddane kompresji muszą potem zostać zdekompresowane. Wszystko rozpoczyna się od wczytania pliku. Następnie na scenę wchodzi algorytm dekompresji, w ramach którego dochodzi m.in. do odwrócenia kwantyzacji, interpolacji i innych procesów, które zaszły podczas kompresji. Zdekodowane dane są przekształcane z powrotem na boki składające się na oryginalną teksturę. W zależności od użytego formatu, dekompresja wprowadza pewne przybliżenia, które we większym lub mniejszym stopniu negatywnie wpływają na jakość obrazu. Zdekompresowane tekstury są ładowane do pamięci karty graficznej i wykorzystywane do renderowania trójwymiarowych obiektów w grze.
Chcąc zachować wysoką szczegółowość, poziom kompresji należy zmniejszyć lub zastosować dokładniejszy algorytm dekompresji, tym samym zwiększając wagę plików. O użyciu tekstur w bezstratnych formatach (są silniki, które na to pozwalają) na razie nie może być mowy ze względu na ograniczenia pamięci i przepustowości. W przypadku map normalnych rozważa się jednak, a zapewne i już stosuje, użycie technik kompresji dających wyższą jakość (ze skutkiem ubocznym w postaci większego rozmiaru).

Mapy normalne, czyli normal maps to technika wykorzystywana w grafice trójwymiarowej. Symuluje ona detale i tekstury na powierzchni różnych obiektów. Stosuje się ją jako zamiennik zasobożernego zwiększania ilości geometrii i liczby wierzchołków w modelu 3D. Krótko mówiąc, mapy normalne umożliwiają dodanie wizualnych szczegółów przy mniejszym obciążeniu dla sprzętu.
Dlaczego pomimo cięć gry i tak zajmują 100 GB lub więcej? Problemem nie są zbyt mało wydajne narzędzia do kompresji. Wypowiedział się na ten temat Wojtek z The Farm 51:
Z tego co mi wiadomo, wszystkie teamy silnikowe na świecie walczą o jak najlepszą kompresję tekstur i zarówno na poziomie technologii, jak i samego procesu tworzenia grafiki, szuka się oszczędności różnymi narzędziami i trikami. Chodzi przede wszystkim o to, że gracze chcą grać w coraz bardziej rozbudowane gry na monitorach 4K, bez jakiejkolwiek pikselozy, i do tego z shaderami PBR (physical based rendering) i ray-tracingiem, co wymusza zwiększanie rozdzielczości tekstur i nakładanie na modele kolejnych warstw materiałów, z których każda warstwa może opierać się na dodatkowych teksturach. Do Painkillera na jedną postać wystarczyło wrzucić pojedynczą teksturę koloru 1024x1024 i był to (wówczas) nextgen w cenie poniżej megabajta, a obecnie jedna postać fabularna może być obłożona siedmioma warstwami tekstur 4096x4096 i ważyć setki megabajtów.
Do poszukania powodów rosnącej wagi gier zachęciła nas gra Star Wars Jedi: Ocalały. Dlaczego potrzebuje ona aż 155 GB na dysku? Zarówno deweloperzy, jak i wydawca nie podali oficjalnych powodów. Niemniej osoby, które miały okazje zapoznać się z tytułem opisywały świat jako „wręcz za duży”. Ogromna przestrzeń wymusiła użycie dużej liczby różnorakich obiektów. Jeśli zostały one oteksturowane bitmapami w wysokiej rozdzielczości, a tak się stało w tym przypadku, ostateczny rozmiar gry prawdopodobnie nie mógł być mniejszy. Nie ma co do tego jednak stuprocentowej pewności. W sieci można bowiem znaleźć niepotwierdzone plotki o rzekomych problemach z kompresją.

Star Wars Jedi: Ocalały to świetny przykład na to, ile miejsca może zajmować wysokiej jakości „oprawa graficzna”. Żeby się tego dowiedzieć, wystarczy porównać wymaganą przestrzeń dyskową na konsoli Xbox Series X, gdzie gra będzie wyglądać tak samo dobrze, albo minimalnie gorzej niż na PC z wymaganiami dla Xbox Series S. Posiadacze wydajniejszej maszynki muszą przygotować około 140 GB wolnego miejsca, a użytkownicy wersji S przystosowanej głównie do grania w 1080p już tylko 44 GB. Różnica prawie 100 GB wynika z faktu, że dla mocniejszego sprzętu przygotowano assety w rozdzielczości 4K, a „S-ka” będzie wspierać te w maksymalnej rozdzielczości 1440p.
Jak wyjaśnić mniejszy rozmiar Ocalałego na Xbox Series X (około 140 GB) i PlayStation 5 (około 147 GB) niż na PC? W konsolach nowej generacji dekompresja odbywa się sprzętowo. W tym celu nie jest jednak wykorzystywany układ graficzny, jak w komputerach, a specjalnie zaprojektowany moduł służący tylko i wyłącznie temu zadaniu. Pozwala to skutecznie odciążyć GPU i/lub CPU. Jednostki dedykowane w całości do dekompresji (technologia Kraken w PS5 i jeden ze składników Xbox Velocity Architecture w Xbox Series X) tekstur (i nie tylko) umożliwiają szybsze ładowanie gry, ograniczają zużycie pamięci (pracownik The Farm 51 przypomina, że na konsolach jest ona stała dla danej platformy) i oferują ogólnie lepszą wydajność, w tym szybsze i „gładsze” przejścia pomiędzy scenami. Sprzętowe rozwiązania mogą stać także za mniejszym rozmiarem produkcji. Moduły obsługują bowiem bardziej zaawansowane formaty kompresji, które przekładają się na mniejszy rozmiar pliku tekstur i innych danych.
Czy rosnący rozmiar gier to duży problem?
Coraz większa ilość danych, które trzeba upakować na dysku może wprowadzać sporo niegodności w życiu gracza, ale to nie koniec świata. Wymiana nośnika na większy nie jest przesadnie skomplikowana, zarówno w PC, jak i konsolach. Ba, w niektórych przypadkach cała operacja zajmuje zaledwie kilka minut i to już mało zaawansowanym użytkownikom. Pozostaje jeszcze kwestia ceny.

Dyski, w tym superszybkie SSD-eki są obecnie wyjątkowo tanie (dotyczy to także pamięci RAM). Lexar 1 TB NM800 Pro M.2 z interfejsem PCIe 4.0 x 4 kosztuje poniżej 400 zł (wariant bez radiatora) i oferuje transfery na poziomie 7500 MB/s przy odczycie i 6300 Mb/s przy zapisie danych. Jest to model, który można uznać za wypasiony. Do komfortowego grania wystarczy już znacznie tańszy Lexar 1TB NM620 (PCIe 3.0, 3300/3000 MB/s) za około 210 zł lub jego następca Lexar 1TB NM710 (PCIe 4.0, 5000/4500 MB/s) za około 240 zł. Znacznie bardziej odczuwalnym wydatkiem jest zakup wariantu o pojemności 2 TB – ceny wędrują już powyżej 400 zł.
CIĘŻKI KAMYK
Jeden nieobrobiony skan fotogrametryczny małego kamyka waży gigabajt. Wstępnie obrobiona wersja (model + tekstury) do zaimportowania do gry waży bez kompresji jakieś 100 megabajtów. W grze, na drodze stratnych i bezstratnych optymalizacji silnikowych, ten kamień waży poniżej jednego megabajta. O zrezygnowaniu z kompresji nie może być więc mowy. Ciekawostkę „sprzedał” nam jeden z deweloperów z The Farm 51.
Mimo wszystko taniej wyjdzie zakup sporego dysku niż kolejnych kilkudziesięciu gigabajtów pamięci RAM. Wiedzą o tym sami twórcy gier, w tym ci ze studia The Farm 51. W rozmownie z nami potwierdzają oni, że znacznie większy nacisk w technologiach silnikowych stawia się na kompresję danych w pamięci podczas grania, niż na kompresję danych na dysku, co wprost wynika z faktu, że dyski są tańsze od pamięci operacyjnej i mniejszym bólem dla graczy jest ilość zajętego miejsca w katalogu z grą niż przycinki podczas grania wynikające z przepełnienia RAM-u. Do tego czasem na dysku specjalnie zapisuje się dodatkowe struktury danych, które mają później pomóc w płynniejszym doczytywaniu czy renderowaniu zawartości gry, albo oszczędzać RAM w danych momentach rozgrywki.
Czy będzie lepiej, tj. czy znajdzie się jakieś rewolucyjne rozwiązanie pozwalające znacząco zmniejszyć rozmiar gier w przyszłości? – takie pytanie zadaliśmy pracownikowi The Farm 51. Oto jego odpowiedź:
Nie spodziewam się powrotu do czasów, kiedy gry mało ważyły. Nie dlatego, że nie będzie coraz lepszych rozwiązań do kompresowania danych, tylko z powodu rosnących oczekiwań dotyczących jakości gry i potrzeby grania w coraz większych rozdzielczościach. Rewolucyjne rozwiązania już się pojawiły – Unreal Engine 5 to niesamowity majstersztyk i gamechanger, jeśli chodzi o kompresję danych, tylko że stosowane w nim rozwiązania nie mają zmniejszyć rozmiaru obecnych gier, tylko pozwolić podkręcać ich jakość do niespotykanych wcześniej poziomów. Jednak żeby nie było aż tak pesymistycznie, zanosi się na to, że akurat w najbliższej przyszłości deweloperzy i wydawcy zaczną zwracać większą uwagę na rozmiar gry niż do tej pory, bo coraz więcej produkcji zaczyna wymagać do płynnego działania dysków SSD, a te przez obecną sytuację na świecie są one wciąż relatywnie drogie.