Ograniczona pamięć urządzenia, na którym działa gra to nie tylko problemy z pojazdami powtarzającymi się na drodze. Znacznie większym wyzwaniem jest ładowanie samej mapy. I tu do akcji wkracza... strumieniowanie.
Zanim Obbe Vermeij zdecydował się usunąć większość postów ze swojego bloga, pojawiło się na nim kilkanaście bardzo ciekawych wpisów. W najbliższych tygodniach będę przytaczał tutaj poruszone w nich tematy. Szkoda żeby utonęły w odmętach internetu.
Na początku prac nad Grand Theft Auto III twórcy mieli nadzieję, że uda się zmieścić całe Liberty City w pamięci PS2 i będzie można ładować wszystkie modele tylko raz, przy uruchamianiu gry. Niestety szybko okazało się, że ceną za to byłby zbyt wysoki poziom kompresji tekstur i konieczność ponownego ich wykorzystywania na różnych obiektach o wiele za często.
Wtedy zapytano Adama Fowlera czy mógłby opracować system strumieniowania. To technika polegająca na dynamicznym ładowaniu modeli i usuwaniu ich z pamięci w miarę jak gracz przemieszcza się po mapie. Urządzenie przechowuje wtedy w pamięci jedynie fragment świata gry w najbliższym otoczeniu gracza.
Rozwiązanie jest sprytne, ale też posiada mankamenty. W tamtych czasach wąskim gardłem był nośnik, a więc płyta CD, a raczej czytający ją napęd. Szybkość ładowania modeli uzależniona jest od rozmieszczenia danych na ścieżkach płyty. Im dalej od siebie umieszczone są kolejno czytane dane, tym więcej czasu tracimy na przesunięcie głowicy z laserem. Napęd bardziej też wtedy hałasuje, co może przeszkadzać graczowi w zabawie.
Adam spędził dużo czasu na optymalizowaniu układu plików na płycie. Chodziło o to żeby modele umieszczone blisko siebie na mapie, sąsiadowały również na nośniku. To jednak nie wystarczyło. W dalszym ciągu zdarzało się, że strumieniowanie nie nadążało za szybko przemieszczającym się graczem. Gdy więc nie było innego wyjścia, trzeba było go jakoś spowalniać.
Początkowo w Portland istniała długa aleja, biegnąca przez całą wyspę. Gracz mógł podróżować nią bardzo szybko, a do załadowania było mnóstwo budynków stojących wzdłuż drogi. Strumieniowanie tutaj nie wyrabiało. Ostatecznie artyści musieli zmienić układ mapy i najzwyczajniej w świecie postawić pośrodku alei budynek. Teraz gracz musiał zwolnić żeby go objechać, dając strumieniowaniu dodatkowy czas na doładowanie kolejnych modeli.
Z czasem na mapie rozpoznano więcej takich problematycznych obszarów. Utworzono na nich strefy, w których opór powietrza wobec pojazdów jest nieco większy (o pięć albo dziesięć procent). Bardzo to pomogło, a różnica była niemal niezauważalna.
Zanim to było modne
sdr napisał 4 lutego 2024 o 21:30, komentarze zablokowane