GTA: Vice City powstawało w zawrotnym tempie. Po premierze wszyscy w Rockstar byli wykończeni i fizycznie nie było szans żeby powtórzyć ten wyczyn. Inna sprawa, że kolejne "farbowane" GTA III też by nie przeszło, dlatego na przygotowanie San Andreas twórcy dali sobie więcej czasu. Dwa lata.
Zanim Obbe Vermeij zdecydował się usunąć większość postów ze swojego bloga, pojawiło się na nim kilkanaście bardzo ciekawych wpisów. Żeby nie utonęły w odmętach internetu, przez ostatni rok przytaczałem tutaj poruszone w nich tematy. Pora domknąć tą serię.
Dzięki odnoszonym sukcesom, ekipa Rockstar nabrała pewności siebie. Ambicje były ogromne. Pierwsze GTA oferowało graczom aż trzy miasta i pojawił się pomysł żeby w GTA: San Andreas zrobić to samo.
Najważniejsze decyzje w Rockstar North były zazwyczaj podejmowane w gronie pięciu osób. W tym przypadku trzy opowiadały się za rozmieszczeniem miast na osobnych mapach, dzięki czemu udałoby się oszczędzić pamięć. Na jednej mapie, w pewnych sytuacjach, zabudowania sąsiednich miast musiałyby być widoczne z oddali. Z drugiej strony dzieląc mapę na trzy, swobodne przemieszczanie się między miastami nie byłoby możliwe. Gracz musiałby korzystać z samolotów, autobusów albo pociągów.
Obbe opowiadał się za jedną wielką mapą, ale nie był w stanie przekonać pozostałych, a i tak jednej osoby nie było tego dnia w pracy. Zanosiło się na to, że studio popełni poważny błąd. Szczęśliwie, kolejnego dnia spotkanie powtórzono już w pełnym składzie, a brakująca osoba głosowała tak jak Obbe i na dodatek potrafiła przekonać pozostałych. Sytuacja była uratowana.
Jednak Vermeij, jak sam przyznaje, nie zawsze miał rację. W Grand Theft Auto III przykładowo chciał żeby domyślną kamerą w grze było ujęcie... z lotu ptaka, czyli podobnie jak to wyglądało we wcześniejszych częściach, jeszcze w 2D. Zazwyczaj studio podążało za wizją Leslie Benziesa, o ile tylko on sam był o czymś wystarczająco mocno przekonany. A zwykle był i miał rację.
Ogromna mapa złożona z trzech miast i rozległych przestrzeni między nimi nieomal jednak "zabiła" modelujących ją artystów. Liberty i Vice City wydawały się przy niej karłami, na dodatek w o wiele wyższym stopniu zapełnionymi obszarami wodnymi. San Andreas było ponad dwa razy większe, ze znacznie gęstszą zabudową.
Gra powstawała na bazie kodu GTA: Vice City. Wiele rzeczy ulepszono, ale żadna gruntowna przebudowa nie była konieczna. Dużo problemów sprawiały elementy RPG. Na przykład kiedy CJ był zbyt gruby żeby szybko biegać albo wspinać się na niektóre ściany, czyniło to pewne misje wręcz niemożliwymi do ukończenia. Testerzy musieli wyłapać wszystkie takie sytuacje. Kiedy zaś CJ robił się głodny, burczało mu w brzuchu. Co zabawne, gracze którzy na górze Chiliad szukali śladów Wielkiej stopy, czasem brali ten odgłos za ryk bestii...
Można by w takim razie zapytać dlaczego w grze znalazło się tyle różnych mechanik, skoro rodziły tylko kolejne problemy? Głównie z powodu ambicji i nadmiernej pewności siebie. Przykładem może być mechanika skradania, która z perspektywy twórców nie była do niczego potrzebna i nikomu na niej nie zależało, ale i tak została dodana. A góra błędów tylko rosła.
Ekipa z Nowego Jorku włożyła masę wysiłku w zebranie materiałów referencyjnych. Dostarczyli długą listę aktywności różnych gangów z Los Angeles i nalegali żeby w grze członkowie każdego gangu poruszali się na swój sposób. Ewidentnie miało to duże znaczenie.
Liczba osób pracujących nad GTA: San Andreas stale rosła, a mniej więcej w połowie produkcji dołączył jeszcze zespół odpowiedzialny za Manhunta. To była dla pozostałych ogromna pomoc. Pod koniec nad grą pracowało około 80 osób, nie licząc testerów z Edynburga i Nowego Jorku. Przez większość czasu prace szły gładko, ale finisz wymagał sporo nadgodzin. Firma musiała nawet zatrudnić kucharza, który przygotowywał posiłki dla pracujących do późna.
W dniu premiery niektóre sklepy z grami były otwarte o północy. W Edynburgu było wtedy zimno i deszczowo, ale Obbe wybrał się na spacer do salonu Virgin na Princess Street. Zastał tam około 50-metrową kolejkę i stojących w pobliżu dwóch kolegów z biura. Tak jak on obserwowali podekscytowanych ludzi, którzy w środku nocy wychodzili ze sklepu z kopią ich gry i pośpiesznie wracali do domów żeby zagrać. To było magiczne uczucie.
San Andreas Stories
sdr napisał 3 stycznia 2025 o 20:35, komentarze zablokowane
Błąd na błędzie
sdr napisał 24 marca 2024 o 22:22, komentarze zablokowane
Twórcy GTA III zmagali się z błędami w grze przez większość czasu produkcji. Wynikało to przede wszystkim z faktu, że tytuł powstawał od zera, ale sprawy nie ułatwiał też niezbyt stabilny silnik.
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.
Silnik RenderWare, na którym działały części serii wydane w latach od 2001 do 2007, nie był jeszcze dojrzały kiedy powstawało GTA III. W czasie produkcji rzadko udawało się ukończyć misję bez awarii gry, a płynność rozgrywki oscylowała w okolicach 10 klatek na sekundę. Szczególnie dużo problemów sprawiała twórcom detekcja kolizji.
To, że widzimy różne obiekty w grze, i że one przez siebie nie przenikają to często dwie osobne rzeczy. Wykrywanie kolizji pochłania sporo zasobów, więc trzeba oszczędnie z niego korzystać. Niestety często prowadzi to do powstawania w mapach niewidzialnych dziur. Liberty City w Grand Theft Auto III było nimi wręcz usiane.
Przy GTA IV problem był jeszcze bardziej złożony, bo postacie potrafiły przenikać przez mapę lub nie w zależności od aktualnie odtwarzanej animacji. Testerzy nie byli w stanie sprawdzić wszystkich możliwych scenariuszy, w których błąd występował, więc Alexander Roger stworzył dla nich specjalną broń strzelającą... modelami postaci. Odtąd testerzy mogli ostrzeliwać obiekty w grze w poszukiwaniu dziur i dzięki temu znacznie szybciej wyłapywać najbardziej rażące błędy.
Osobną sprawą są zmiany wprowadzane w grze na przestrzeni całego procesu produkcyjnego. Każda może spowodować pojawienie się nowego błędu. Jak wspomina Obbe bywało, że od implementacji czegoś nowego w grze do przygotowania kolejnej wersji poglądowej dla kierownictwa w Nowym Jorku, nie mijało dużo czasu. Testerzy urządzali prawdziwe speedruny by upewnić się, że do gry nie wkradły się jakieś błędy uniemożliwiające jej ukończenie. GTA III byli w stanie sprawdzić tak w mniej więcej 1 godzinę i 20 minut. Całkiem nieźle biorąc pod uwagę, że aktualny rekord wynosi niespełna godzinę.
Za czasów Grand Theft Auto III, zanim powstała baza błędów, informacje o nich były drukowane i wędrowały między biurkami. Raporty niejednokrotnie tworzyły pokaźnych rozmiarów stosy.
Podczas produkcji GTA San Andreas konieczne było poprawienie łącznie około... 70 tysięcy różnego rodzaju błędów. W przypadku Grand Theft Auto IV liczba ta była prawie dwa razy większa.
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.
Silnik RenderWare, na którym działały części serii wydane w latach od 2001 do 2007, nie był jeszcze dojrzały kiedy powstawało GTA III. W czasie produkcji rzadko udawało się ukończyć misję bez awarii gry, a płynność rozgrywki oscylowała w okolicach 10 klatek na sekundę. Szczególnie dużo problemów sprawiała twórcom detekcja kolizji.
To, że widzimy różne obiekty w grze, i że one przez siebie nie przenikają to często dwie osobne rzeczy. Wykrywanie kolizji pochłania sporo zasobów, więc trzeba oszczędnie z niego korzystać. Niestety często prowadzi to do powstawania w mapach niewidzialnych dziur. Liberty City w Grand Theft Auto III było nimi wręcz usiane.
Przy GTA IV problem był jeszcze bardziej złożony, bo postacie potrafiły przenikać przez mapę lub nie w zależności od aktualnie odtwarzanej animacji. Testerzy nie byli w stanie sprawdzić wszystkich możliwych scenariuszy, w których błąd występował, więc Alexander Roger stworzył dla nich specjalną broń strzelającą... modelami postaci. Odtąd testerzy mogli ostrzeliwać obiekty w grze w poszukiwaniu dziur i dzięki temu znacznie szybciej wyłapywać najbardziej rażące błędy.
Osobną sprawą są zmiany wprowadzane w grze na przestrzeni całego procesu produkcyjnego. Każda może spowodować pojawienie się nowego błędu. Jak wspomina Obbe bywało, że od implementacji czegoś nowego w grze do przygotowania kolejnej wersji poglądowej dla kierownictwa w Nowym Jorku, nie mijało dużo czasu. Testerzy urządzali prawdziwe speedruny by upewnić się, że do gry nie wkradły się jakieś błędy uniemożliwiające jej ukończenie. GTA III byli w stanie sprawdzić tak w mniej więcej 1 godzinę i 20 minut. Całkiem nieźle biorąc pod uwagę, że aktualny rekord wynosi niespełna godzinę.
Za czasów Grand Theft Auto III, zanim powstała baza błędów, informacje o nich były drukowane i wędrowały między biurkami. Raporty niejednokrotnie tworzyły pokaźnych rozmiarów stosy.
Podczas produkcji GTA San Andreas konieczne było poprawienie łącznie około... 70 tysięcy różnego rodzaju błędów. W przypadku Grand Theft Auto IV liczba ta była prawie dwa razy większa.
Hush hush
sdr napisał 18 lutego 2024 o 18:41, komentarze zablokowane
Wszyscy wiemy jak działają kody w serii Grand Theft Auto. Co, że niby nie używacie? Taa, jasne ;) A wiecie jak to jest, że gra rozumie co jest kodem, a co nie?
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.
Aby aktywować cheata w dowolnej trójwymiarowej części serii GTA, wystarczy zacząć wstukiwać określoną kombinację na kontrolerze lub klawiaturze. Jeśli nie pomylimy kolejności przycisków, po wciśnięciu ostatniego w sekwencji, gra aktywuje kod. Zostanie to również potwierdzone przez wyświetlenie na ekranie stosownego komunikatu.
Na komputerach kody są o tyle specyficzne, że mogą składać się z ciągów liter układających się w konkretne słowa. I tak dla przykładu możemy wpisać
Gra zapamiętuje zawsze około dwudziestu ostatnich naciśniętych przycisków/klawiszy i porównuje je z listą cheatów. W razie dopasowania następuje aktywacja kodu. Najprościej byłoby porównywać ciągi bezpośrednio, ale przez to lista dostępnych cheatów byłaby bardzo prosta do odczytania z pamięci urządzenia. Pierwszy lepszy haker mógłby odkryć i udostępnić wszystkie kody w dniu premiery gry. Z tego powodu, zamiast zapisywać kody otwartym tekstem, Obbe zdecydował się wykorzystać skróty.
Skrót to liczba obliczona na podstawie tekstu, np. z wartości ASCII przypisanej do każdego znaku. W prostym algorytmie wartości te można by do siebie dodawać. W ten sposób skrót dla ciągu
To rozwiązanie spełniło swoje zadanie. Dostępne kody nie zostały szybko odkryte, a ludzie trafili na nie dopiero z czasem, próbując wprowadzać losowe ciągi. Wtedy okazało się jednak również, że podejście zastosowane przez Obbe nie jest idealne. W sieci zaczęły pojawiać się działające kody, które nijak nie przypominały tych faktycznie ustalonych przez twórców. Przykładowo
Problem wynikał z tego, że skróty obliczane przez algorytm powtarzały się dla różnych ciągów. Wracając do naszego przykładu, nie ma przecież znaczenia w jakiej kolejności dodamy do siebie wartości ASCII. Tak samo, różne zestawy liczb po zsumowaniu mogą dać ten sam wynik. To była przyczyna całego zamieszania.
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.
Aby aktywować cheata w dowolnej trójwymiarowej części serii GTA, wystarczy zacząć wstukiwać określoną kombinację na kontrolerze lub klawiaturze. Jeśli nie pomylimy kolejności przycisków, po wciśnięciu ostatniego w sekwencji, gra aktywuje kod. Zostanie to również potwierdzone przez wyświetlenie na ekranie stosownego komunikatu.
Na komputerach kody są o tyle specyficzne, że mogą składać się z ciągów liter układających się w konkretne słowa. I tak dla przykładu możemy wpisać
ILOVESCOTLAND
by zaczął padać deszcz lub GUNSGUNSGUNS
by uzbroić się po zęby.Gra zapamiętuje zawsze około dwudziestu ostatnich naciśniętych przycisków/klawiszy i porównuje je z listą cheatów. W razie dopasowania następuje aktywacja kodu. Najprościej byłoby porównywać ciągi bezpośrednio, ale przez to lista dostępnych cheatów byłaby bardzo prosta do odczytania z pamięci urządzenia. Pierwszy lepszy haker mógłby odkryć i udostępnić wszystkie kody w dniu premiery gry. Z tego powodu, zamiast zapisywać kody otwartym tekstem, Obbe zdecydował się wykorzystać skróty.
Skrót to liczba obliczona na podstawie tekstu, np. z wartości ASCII przypisanej do każdego znaku. W prostym algorytmie wartości te można by do siebie dodawać. W ten sposób skrót dla ciągu
ILOVESCOTLAND
wyniesie 983, a dla GUNSGUNSGUNS
- 951. Następnie tak samo obliczamy skrót dla ostatnich dwudziestu znaków i porównujemy wynik z listą. To oczywiście tylko przykład. W rzeczywistości algorytm jest bardziej skomplikowany.To rozwiązanie spełniło swoje zadanie. Dostępne kody nie zostały szybko odkryte, a ludzie trafili na nie dopiero z czasem, próbując wprowadzać losowe ciągi. Wtedy okazało się jednak również, że podejście zastosowane przez Obbe nie jest idealne. W sieci zaczęły pojawiać się działające kody, które nijak nie przypominały tych faktycznie ustalonych przez twórców. Przykładowo
HDLMAAXOPK
daje taki sam efekt jak ILOVESCOTLAND
.Problem wynikał z tego, że skróty obliczane przez algorytm powtarzały się dla różnych ciągów. Wracając do naszego przykładu, nie ma przecież znaczenia w jakiej kolejności dodamy do siebie wartości ASCII. Tak samo, różne zestawy liczb po zsumowaniu mogą dać ten sam wynik. To była przyczyna całego zamieszania.
Prognoza pogody
sdr napisał 28 stycznia 2024 o 21:50, komentarze zablokowane
Efekty pogodowe w serii Grand Theft Auto, jako jeden z budulców wiarygodnego otwartego świata, zawsze robiły wrażenie. Czy jednak pogoda dobierana przez grę w danym momencie była całkiem losowa?
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.
Pogoda w GTA nigdy nie była losowa. Co to, to nie. Jakkolwiek przypadkowo by to nie wyglądało, za wszystkim prawie zawsze krył się schemat. Systemem zjawisk pogodowych kierował prosty, acz dość sprytny algorytm oparty na tablicy predefiniowanych ustawień.
Co godzinę czasu gry z tablicy wybierany był kolejny typ pogody. Tablica taka zawierała około 40 wpisów, więc jeśli "teraz" na przykład pada deszcz to możemy mieć pewność, że za 40 godzin czasu gry znowu będzie padało.
Okres zmiany typu pogody również trwał jedną godzinę. Czyli przykładowo jeśli o godzinie 14:00 było słonecznie, a o godzinie 15:00 miało już być pochmurnie, to wtedy:
Dzięki temu zmiana odbywała się płynnie, bez zwracania uwagi gracza. Oczywiście w tablicy często zapisywano taką samą pogodę na okres kilku godzin, abyśmy nie mieli wrażenia, że zmienia się ona cały czas.
Możliwa jest również zmiana typu pogody za pomocą skryptów. Pozwala to programistom wymusić konkretny rodzaj pogody na potrzeby jakiejś misji albo sceny przerywnikowej.
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.
Pogoda w GTA nigdy nie była losowa. Co to, to nie. Jakkolwiek przypadkowo by to nie wyglądało, za wszystkim prawie zawsze krył się schemat. Systemem zjawisk pogodowych kierował prosty, acz dość sprytny algorytm oparty na tablicy predefiniowanych ustawień.
Co godzinę czasu gry z tablicy wybierany był kolejny typ pogody. Tablica taka zawierała około 40 wpisów, więc jeśli "teraz" na przykład pada deszcz to możemy mieć pewność, że za 40 godzin czasu gry znowu będzie padało.
Okres zmiany typu pogody również trwał jedną godzinę. Czyli przykładowo jeśli o godzinie 14:00 było słonecznie, a o godzinie 15:00 miało już być pochmurnie, to wtedy:
- o 14:15 pogoda była w 75% słoneczna, a w 25% pochmurna,
- o 14:30 pogoda była w 50% słoneczna i w 50% pochmurna,
- o 14:45 pogoda była w 25% słoneczna, a w 75% pochmurna.
Dzięki temu zmiana odbywała się płynnie, bez zwracania uwagi gracza. Oczywiście w tablicy często zapisywano taką samą pogodę na okres kilku godzin, abyśmy nie mieli wrażenia, że zmienia się ona cały czas.
Możliwa jest również zmiana typu pogody za pomocą skryptów. Pozwala to programistom wymusić konkretny rodzaj pogody na potrzeby jakiejś misji albo sceny przerywnikowej.
Atak klonów
sdr napisał 13 stycznia 2024 o 23:13, komentarze zablokowane
Jeśli gracie w GTA wystarczająco długo, z pewnością nie jest wam obca sytuacja, w której nagle widzicie w pobliżu siebie kilka jednakowych modeli pojazdów. To nie przypadek.
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.
Z tymi klonami wszystko rozbija się o pamięć operacyjną urządzenia, na którym działa gra. Takie na przykład PlayStation 2 pozwalało zmieścić w niej jedynie około siedmiu modeli. Wydawać by się mogło, że to wcale nie tak mało. Zdarzają się jednak w grze sytuacje wymagające zajęcia kilku miejsc na konkretne modele.
Wyobraźcie sobie na przykład kilkugwiazdkowy pościg za graczem. Do akcji wkraczają służby w kilku różnych rodzajach pojazdów: policyjne radiowozy i helikoptery, vany SWAT, samochody FBI, wojskowe ciężarówki. Niech jeszcze zdarzy się, że ucierpi jakiś przechodzień i zostanie do niego wezwana karetka. Ani się obejrzymy i w pamięci konsoli zostaje tylko jedno, czy dwa wolne miejsca, które można przydzielić pojazdom cywilnym.
Nawet jednak kiedy policja nie interesuje się graczem, mogą zdarzyć się sytuacje wymuszające wyświetlenie na ekranie wielu jednakowych modeli pojazdów. Może tak być na przykład, gdy skrypt misji wymaga użycia konkretnych pojazdów albo kiedy gracz sam zbierze na małej przestrzeni kilka różnych modeli pojazdów.
Twórcy oczywiście stosowali różne sprytne zabiegi, aby radzić sobie z tym problemem. Jednym z nich było usuwanie z pamięci modeli pojazdów przechowywanych w garażach. Gra robi to tuż po zamknięciu bramy. Już chyba nigdy nie spojrzycie na garaż w GTA tak jak kiedyś.
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.
Z tymi klonami wszystko rozbija się o pamięć operacyjną urządzenia, na którym działa gra. Takie na przykład PlayStation 2 pozwalało zmieścić w niej jedynie około siedmiu modeli. Wydawać by się mogło, że to wcale nie tak mało. Zdarzają się jednak w grze sytuacje wymagające zajęcia kilku miejsc na konkretne modele.
Wyobraźcie sobie na przykład kilkugwiazdkowy pościg za graczem. Do akcji wkraczają służby w kilku różnych rodzajach pojazdów: policyjne radiowozy i helikoptery, vany SWAT, samochody FBI, wojskowe ciężarówki. Niech jeszcze zdarzy się, że ucierpi jakiś przechodzień i zostanie do niego wezwana karetka. Ani się obejrzymy i w pamięci konsoli zostaje tylko jedno, czy dwa wolne miejsca, które można przydzielić pojazdom cywilnym.
Nawet jednak kiedy policja nie interesuje się graczem, mogą zdarzyć się sytuacje wymuszające wyświetlenie na ekranie wielu jednakowych modeli pojazdów. Może tak być na przykład, gdy skrypt misji wymaga użycia konkretnych pojazdów albo kiedy gracz sam zbierze na małej przestrzeni kilka różnych modeli pojazdów.
Twórcy oczywiście stosowali różne sprytne zabiegi, aby radzić sobie z tym problemem. Jednym z nich było usuwanie z pamięci modeli pojazdów przechowywanych w garażach. Gra robi to tuż po zamknięciu bramy. Już chyba nigdy nie spojrzycie na garaż w GTA tak jak kiedyś.