Skip to main content

Jak naprawiano gry zanim pojawił się Internet

Patch przez pocztę? Czemu nie.

Stan gier po wydaniu w dzisiejszych czasach bywa przedmiotem żartów. Zdarza, się, że w dniu premiery czeka na nas tzw. day one patch, czyli łatka, która ma poprawić grę, zanim ją jeszcze po raz pierwszy uruchomimy. Złośliwi mówią, że łatwość naprawiania gry po premierze, powoduje, że twórcy i wydawcy podchodzą do sprawy na zasadzie: wydajemy, a potem się połata. Czy tak rzeczywiście jest, nie mnie oceniać, jednak nie zawsze Internet był tak powszechnie dostępny, jak teraz.

W nie tak dawnych przecież czasach, gry zajmowały na tyle dużo miejsca, że kupowało się je na fizycznych nośnikach i często grało się na komputerach i konsolach pozbawionych stałego dostępu do Internetu. Czy to oznacza, że twórcy gier musieli od razu wypuścić produkt idealny i bez błędów? Nie do końca. Oto kilka historii z błędami gier w roli główniej.

Aktualizacja przez... pocztę

Interesującym przypadkiem były sytuacje, gdy łatki do gier dostarczano... pocztą. Gry wydawane na dyskietkach, a później na CD-ROM-ach posiadały często w pudełku kartę rejestracyjną. Jeśli wypełniliśmy tę kartę i wysłaliśmy do wydawcy, trafialiśmy na listę użytkowników danej gry.

Zdarzało się, że po wykryciu co bardziej problematycznych problemów wydawca lub dystrybutor wysyłał graczom nośnik z nową wersji gry - wykorzystywano wtedy dane z formularza rejestracyjnego. A co z tymi, którzy nie przekazali danych adresowych? Po prostu nie dostawali aktualizacji. Tak jak dziś miłośnicy „grania offline”.

GameSpot - dziś jeden z najpopularniejszych serwisów o grach na świecie. Kiedyś posiadał arcyważną sekcję z patchami do gier

Przenieśmy się w czasie do połowy lat 90., gdy Internet zdobywał coraz większą popularność i zaczął służyć również jako medium do dystrybucji plików. Wielu wydawców umieszczało nowe wersje gier, poprawki czy łatki do pobrania - każdy musiał je znaleźć sam. Początkowo używano protokołu FTP, by w następnych latach zacząć korzystać ze stron www. Gracz, który miał szczęśliwie dostęp do Internetu, zaczynał zwykle zabawę od wejścia w sekcję plików do pobrania ulubionej strony i zobaczenia, czy czasami nie ma tam aktualizacji dla jego gier.

Chociaż do dziś niektórzy deweloperzy umieszczają na swoich stronach np. dema gier czy patche, to pałeczkę w większości przejęły systemy dystrybucji typu Steam czy Epic Store, które automatycznie aktualizują gry w tle. Podobnie jest w przypadku konsol.

Inną sprawą jest to, że dawniej często kupowanie pierwszego wydania gry wiązało się z ryzykiem otrzymania starszej, zabugowanej wersji tytułu. W przypadku reedycji, typu Kolekcja Klasyki lub Game of the Year Edition, producent zwykle postarał się na uzupełnienie plików gry o najnowsze dostępne poprawki.

Płyta w CD Action

Czasami posiadacze różnych gier mieli nieco inne doświadczenie w trakcie zabawy lub nie mogli grać ze sobą w sieci. Tak było w przypadku pierwszego Dooma, który dostępny był na licencji „shareware”. Po zamówieniu gry klient otrzymywał najnowszą dostępną wersję. Gracze rozpoznawali od razu, czy ktoś ma grę w wersji 1.0, 1.666, czy 1.9. Różnice dotyczyły nie tylko poprawek błędów, ale i zmian w poziomach czy parametrach samej rozgrywki.

Pewnym rozwinięciem tej metody dystrybucji poprawek była opcja dodania do pudełka z grą dodatkowej płytki lub... dyskietki, która zawierała łatkę do błędów które znaleziono tuż przed premierą, gdy było już za późno na umieszczenie jej na wytłoczonej płycie z grą.

Sekcja z łatkami do gier - dla wielu osób były to najważniejsze pliki na płytce

Dla osób nieposiadających dostępu do globalnej sieci, prawdziwym zbawieniem były natomiast czasopisma o grach lub komputerach. Zwykle dodawano do nich płytę CD-ROM (a później DVD-ROM), która zawierała wersje demo gier, dodatkowe poziomy, grafiki i filmy (trailery) z gier w wysokiej jakości, czasami strony internetowe w wersji offline (!), ale przede wszystkim - poprawki do gier.

Kupując magazyn - jak choćby polski CD Action - można więc było „spatchować” zakupioną wcześniej grę zainstalowaną na komputerze bez konieczności połączenia z Internetem. Tego typu rozwiązanie było zresztą niegdyś bardzo popularne.

Trudne życie na konsolach

W o wiele gorszej sytuacji byli natomiast posiadacze konsol. Gry na te platformy, czy to na kartridżach czy też na płytach, nie mogły być w łatwy sposób poprawione. Chociaż łatwe ściąganie na konsoli jakichkolwiek treści czy gier przez internet to dopiero czasy PSP, PS3 oraz Xbox 360, to nie oznacza, że gier konsolowych nie naprawiano.

Przede wszystkim stosowano jedną z metod opisanych powyżej - każda nowa edycja, typu „Classics”, miała najnowszą możliwą wersję. Korzystano również z różnicy czasu wydania gier pomiędzy różnymi rynkami: Finał Fantasy 10 w wersji japońskiej miał więcej błędów niż wydana później, europejska wersja gry. Niektóre gry wydawno ze znacznym opóźnieniem względem innych krajów - pozwalało to naprawiać błędy i wydawać udoskonalone wersje na kolejnych rynkach. Dobrym przykładem są m.in. lokalizacje gier w Polsce. Późniejsza premiera polskich wersji językowych pozwalała wydać grę w pudełku ze wszystkimi aktualizacjami.

Oryginalny Xbox, dzięki rozbudowanym funkcjom sieciowym, pozwalał na pobieranie aktualizacji gier. Na konkurencyjnym PS2 nie było to takie proste

Mimo to już „wczesne” generacji współczesnych konsol korzystały z dostępu do Internetu. Gry na pierwszego Xboxa posiadały możliwość łączenia się z usługą Xbox Live, a i konsola PlayStation 2 z czasem otrzymała również możliwość grania w sieci (dostępny do zakupienia osobno zestaw z kartą sieciową i dyskiem twardym wykorzystywało np. MMO Final Fantasy 11). W podstawowe funkcje sieciowe wyposażony był również leciwy Dreamcast.

Czy jednak funkcje sieciowe służyły do dystrybucji poprawek? Bardzo rzadko. Możliwość przekazywania plików była wtedy mocno ograniczona powolnym połączeniem sieciowym i niewielkim (Xbox) lub nieistniejącym (PS2) domyślnie dyskiem lokalnym. Jednak to właśnie na PlayStation 2 miała miejsce historia pomysłowego i nietypowego załatania błędu w grze sieciowej.

Podstępna aktualizacja

Pomysłowością wykazało się studio Insomniac Games. Gra Ratchet & Clank 3: Up Your Arsenal posiadała funkcje on-line dostępne dla tych, którzy mieli adapter sieciowy (bądź wersję Slim konsoli, od początku wyposażoną w gniazdko ethernet). Niestety, wersja rozesłana do sklepów zawierała krytyczny błąd, uniemożliwiający grę w sieci.

Deweloperzy musieli więc znaleźć sposób na... złamanie kodu własnej gry. Sprawy nie ułatwiał fakt, że PS2 nie posiadało dysku twardego do pobrania łatki, a dodatkowo sam moduł sieciowy gry był, jak już wspomniałem, wadliwy. Twórcy zaczęli przeglądać pliki gry, by znaleźć lukę (tzw. exploit), potencjalnie umożliwiającą w jakiś sposób naprawienie problemu.

Metoda naprawienia Ratchet & Clank 3 jest zdumiewająca

Zauważyli, że gra pobierała z Internetu licencję użytkownika (EULA), lecz nie sprawdzała jej długości. Był to pierwszy krok - można było spróbować wywołać błąd przepełnienia bufora (ang. buffer overflow). W dużym uproszczeniu, błąd ten polega na nadpisaniu pamięci, przez zbyt długie dane. Ekipa kierowana przez Jonathana Garretta nadpisała w ten sposób adres funkcji, powodując, że wywoła ona polecenie ściągnięcia aktualizacji gry.

Pozostał jeszcze jeden problem. Większość konsol nie posiadała twardego dysku, a na płycie nie można było nic zapisać. Programiści Insomniac Games wykorzystali w tym celu jedyne zapisywane medium w PS2 - kartę pamięci, która służyła do zapisywania stanów gry. Szalony pomysł zadziałał i wielu graczy być może nawet się nie zorientowało, że uruchamiając grę, twórcy „podstępem” zainstalowali im aktualizację.

Dziś nawet nie myślimy o aktualizacjach, które wykonują się „gdy nie patrzymy”. Po prostu włączamy konsolę bądź komputer i oczekujemy, że gramy w najnowszą wersję. Nie zawsze tak było, a przez wiele lat kwestia aktualizacji gier była dużym problemem, zarówno dla graczy, jak i deweloperów.

Zobacz także