Modder zdradza, w jaki sposób Rockstar Games zmieściło otwarty świat Liberty City z GTA III w pamięci PS2 o pojemności 32 MB

GTA 3 w znacznym stopniu zmieniło scenę gier z otwartym światem, gdy pojawiło się na rynku w 2001 roku, a niezwykłe jest to, jak Rockstar Games udało się uruchomić Grand Theft Auto III na konsoli PlayStation 2, która miała tylko 32 MB pamięci RDRAM do pracy.
Pomimo tego, Rockstar Games udało się stworzyć 4-kilometrowy otwarty świat, wypełniony licznymi pieszymi, unikalnymi samochodami, takimi jak Banshee, oraz trzema wyspami do eksploracji: Portland, Staunton Island i Shoreside Vale. Jak więc Rockstar Games poradziło sobie z 32 MB pamięci PS2?
W tym miejscu Mark Brown z Game Maker's Toolkit wkracza do akcji. W swoim najnowszym filmie na YouTube nie tylko wyjaśnił przyczynę, ale także uzyskał kod źródłowy GTA 3, przepisał całe fragmenty programu i przekompilował zupełnie nowy plik wykonywalny, który ujawnił ukryty system przesyłania strumieniowego w grze. W nagraniu wideo wyjaśnił:
"Teraz mogą Państwo zobaczyć sztuczkę: jak Grand Theft Auto 3 ładuje i rozładowuje niewielką liczbę zasobów do pamięci, gdy poruszają się Państwo po Liberty City. Potajemnie buduje świat przed tobą i po cichu usuwa świat za twoimi plecami. Zasadniczo, zamiast próbować zmieścić całe miasto w pamięci, Rockstar zamiast tego zbudował ruchome okno, które pokazuje tylko tyle miasta, aby iluzja działała"
Oto jak Rockstar Games udało się zmieścić 4-kilometrową mapę Liberty City z GTA 3 w 32 MB pamięci PS2
Zmodyfikowany przez Browna plik wykonywalny GTA 3 pozwala graczom obserwować, jak fragmenty miasta pojawiają się i znikają w czasie rzeczywistym, w zależności od tego, gdzie stoi Claude. Wyszczególnił również liczbę unikalnych samochodów, które gra może wyświetlać na drogach jednocześnie podczas jazdy, co wyjaśnia zauważenie EC Cheetah swobodnie poruszającego się po drodze po zdobyciu jednego z nich.
Wcześniej były programista Grand Theft Auto III , Obbe Vermeij, szczegółowo opisał wyzwania związane z przeniesieniem gry na PS2 w osobnym wywiadzie, stwierdzając:
"Nie było możliwości, byśmy zmieścili całą mapę GTA 3 w pamięci PS2. Streaming wymaga ładowania modeli z DVD, gdy gracz się porusza. Było to najtrudniejsze wyzwanie techniczne podczas tworzenia GTA 3, a zakodował je Adam Fowler"
Dla kontekstu, na papierze uruchomienie Grand Theft Auto 3 na PS2 wydaje się niemożliwe, ponieważ same zasoby zajmują około 130 MB, czyli prawie cztery razy więcej niż konsola może pomieścić w dowolnym momencie. Rockstar zastosował mnóstwo obejść.
Pierwszym z nich było podzielenie Liberty City na trzy odrębne sekcje: Portland, Staunton Island i Shoreside Vale. Każda z tych wysp ładowała się osobno. Jednak samo Portland stanowiło 40-50 MB zasobów.
Rockstar podzielił więc każdą wyspę na tysiące małych sektorów. Gra przechowywała w pamięci te, które znajdowały się w polu widzenia gracza i nieustannie wymieniała fragmenty zasobów z i do ograniczonej pamięci RDRAM, gdy gracz jeździł i przemierzał Liberty City.
Nawet powolny napęd DVD komplikował prace nad grą, ponieważ zespół musiał bardzo uważać na to, kiedy pobierać dane, aby uniknąć zawieszania się gry.













