Gry, których twórcy zgubili kod źródłowy. Jak płyty pozwalały ocalić klasyki?
Patrząc po ostatnich działaniach Sony i Microsoftu, rynek zmierza w stronę pełnej dystrybucji cyfrowej, a wraz z nim powoli znika przekonanie, że grę można po prostu postawić na półce i zachować dla kolejnego pokolenia. Widzę tu jednak jeszcze jeden problem. Nawet milion pudełek nie gwarantuje, że za kilkanaście lat ktokolwiek będzie potrafił stworzyć remaster znajdującego się na nich tytułu. Pogadajmy zatem o tym, jak fizyczne wydania gier pozwoliły ocalić znajdujące się na nich tytuły.
Płyta, kartridż albo plik pobrany ze sklepu zawierają bowiem gotowy, skompilowany program. Nie ma tam czytelnego kodu źródłowego, komentarzy programistów, dokumentacji, narzędzi deweloperskich, pierwotnych modeli, nieskompresowanych tekstur ani instrukcji pozwalających ponownie zbudować grę. Jordan Mechner porównał kiedyś wydaną produkcję do nagrania utworu, a kod źródłowy do zapisu nutowego. Nagrania można słuchać, ale próba przygotowania nowej aranżacji bez partytury oznacza mozolne odtwarzanie każdego dźwięku ze słuchu.
Video Game History Foundation definiuje „źródło” znacznie szerzej niż sam kod. To również grafiki, dokumentacja techniczna, korespondencja, pliki projektowe, skrypty, kolejne wersje produkcyjne oraz wiedza o tym, przy użyciu jakiego kompilatora i bibliotek powstała dana gra. Bez tych elementów zwykłe przeniesienie tytułu na nową platformę może zmienić się w kosztowne śledztwo. Czasami brakuje jednej biblioteki. Innym razem praktycznie wszystkiego. Powody utraty danych bywają banalne. Studio zmienia siedzibę, firma zostaje zamknięta, wydawca przejmuje prawa, ale nie przejmuje kompletnych archiwów. Taśmy są nadpisywane, dyski trafiają do magazynu, a po kilkunastu latach nikt już nie pamięta, jakim programem je odczytać. Według VGHF archiwa wielu gier zniknęły właśnie podczas przeprowadzek, likwidacji firm, awarii i zmian właścicieli. W latach 80. i 90. kod traktowano przede wszystkim jak tajemnicę przedsiębiorstwa, a nie materiał, który za trzy dekady będzie miał wartość historyczną.
Przypadki, które szczególnie zabolały środowisko graczy
Bolesną lekcję dało Konami przy okazji Silent Hill HD Collection. Zespół odpowiedzialny za kolekcję otrzymał wszystko, co wydawca posiadał w swoich archiwach, ale nie były to finalne wersje kodu Silent Hill 2 i Silent Hill 3. Producent Tomm Hulett tłumaczył, że deweloperzy musieli walczyć nie tylko ze zwykłymi problemami wynikającymi z portowania, lecz również z błędami, które oryginalny Team Silent zdążył usunąć jeszcze przed premierą. W praktyce remaster budowano więc na niedokończonym fundamencie, a rezultat zapamiętano między innymi z problemów z mgłą, oprawą, dźwiękiem i wydajnością.
Jeszcze inaczej wyglądała praca nad Kingdom Hearts HD 1.5 Remix. Tetsuya Nomura przyznał, że oryginalne dane pierwszego Kingdom Hearts zostały utracone. Twórcy musieli analizować dostępne egzemplarze gry, wydobywać z nich materiały i odtwarzać grafikę na potrzeby wersji HD. Płyta z PlayStation 2 stała się w tym przypadku nie projektem, lecz artefaktem - jedynym punktem odniesienia pokazującym, jak finalny produkt powinien wyglądać. Jeszcze bardziej wymowny jest przypadek Icewind Dale II. Beamdog przygotował odświeżone wydania Baldur’s Gate, Planescape: Torment oraz pierwszego Icewind Dale, lecz przy drugiej części natrafił na ścianę. Firma przeszukała dane przekazane Wizards of the Coast przez Atari i skontaktowała się z Obsidianem, gdzie pracowało wielu dawnych członków Black Isle Studios. Nie znaleziono nawet niedokończonej wersji kodu. Trent Oster z Beamdogu uznał, że pełne odtwarzanie gry na podstawie skompilowanych plików byłoby po prostu zbyt drogie.
Społeczność nie zrezygnowała, ale mogła działać jedynie w granicach pozostawionych przez oryginalny program. Grupa Red Chimera stworzyła własne Icewind Dale II Enhanced Edition, dodając poprawki, obsługę szerokiego ekranu, nowe przedmioty, zaklęcia i usprawnienia rozgrywki. To imponujący projekt, ale nadal modyfikacja starej gry, a nie przeniesienie jej na współczesny silnik. Bez kodu źródłowego można wyremontować mieszkanie. Trudniej przesunąć ściany, skoro nie posiada się planów budynku. Spektakularnym przykładem cyfrowej archeologii pozostaje Blade Runner studia Westwood z 1997 roku. Jego kod źródłowy miał zaginąć podczas przeprowadzki firmy, a gra przez lata nie doczekała się normalnego cyfrowego wydania. Czterech głównych twórców obsługi tytułu w ScummVM przez około osiem lat analizowało pliki i rozkładało program na części. Musieli ustalić relacje między obiektami, działanie skryptów oraz strukturę silnika, patrząc głównie na ciągi liczb i zachowanie gotowej gry.
ScummVM nie emuluje całego starego komputera. Jego twórcy odtwarzają działanie konkretnych silników, a następnie wykorzystują oryginalne dane - dialogi, animacje, lokacje i muzykę - z legalnej kopii gry. Najpierw badają instrukcje procesora i formaty plików, później zapisują ich współczesny odpowiednik, a na końcu wielokrotnie porównują efekt z oryginałem. W przypadku Blade Runnera oznaczało to oglądanie tych samych scen tysiące razy, ponieważ błąd w jednym elemencie silnika potrafił blokować dalszą część przygody. Czasami archeolodzy mają więcej szczęścia. Kod źródłowy Prince of Persia w wersji na Apple II uchodził za zaginiony przez 22 lata. Mechner zapisał go na dyskietkach 3,5 cala, włożył do pudełka i zgubił podczas przeprowadzki. W 2012 roku karton odnalazł jego ojciec. Do akcji wkroczyli archiwiści oraz kolekcjonerzy starego sprzętu, którzy za pomocą specjalistycznych czytników odzyskali dane z magnetycznych nośników. Kod został następnie opublikowany w serwisie GitHub. Kilka kolejnych lat w szafie mogło wystarczyć, aby zapis uległ degradacji i przepadł bezpowrotnie.
Koniec fizycznych wydań zabiera ostatnią warstwę ochrony
Fizyczny nośnik nie rozwiązuje więc problemu archiwizacji, ale stanowi dodatkową warstwę bezpieczeństwa. Można go kupić bezpośrednio, wykonać obraz danych, sprawdzić sumy kontrolne, przeanalizować pliki i uruchomić niezależnie od tego, czy sklep producenta jeszcze istnieje. Nawet gdy kod źródłowy przepada, wydana wersja pozostaje punktem odniesienia. Bez niej badacz nie ma już nawet skamieliny - zostają mu nagrania, zrzuty ekranu i wspomnienia graczy. Problem polega na tym, że współczesna płyta coraz częściej również nie zawiera kompletnej gry. Produkcje otrzymują premierowe aktualizacje, część danych pobierają z sieci, a niektóre funkcje są powiązane z zewnętrznymi serwerami. Frank Cifaldi z VGHF zwrócił uwagę, że archiwa od dawna nie mogą ograniczać się do układania pudełek na półkach. Trzeba przechowywać także kolejne aktualizacje, dane serwerowe, dokumentację, narzędzia i środowisko potrzebne do uruchomienia programu.
Skala zaniedbań jest ogromna. Badanie Video Game History Foundation przeprowadzone na reprezentatywnej próbie 1500 gier wydanych w Stanach Zjednoczonych w latach 1960-2009 wykazało, że 87% klasycznych tytułów nie było już dostępnych w legalnej, współczesnej sprzedaży. Archiwa mogą wykonywać kopie, lecz amerykańskie przepisy mocno ograniczają możliwość udostępniania ich zdalnie. W rezultacie gra potrafi być technicznie zachowana, ale nadal praktycznie niedostępna dla zwykłego odbiorcy. Prawidłowa archiwizacja powinna rozpoczynać się jeszcze w trakcie produkcji. Należałoby zachować kod, surowe materiały, dokumentację, narzędzia, zależności, wersje kompilatorów oraz środowisko pozwalające zbudować finalny program. Kopie powinny trafiać w kilka miejsc, a po zakończeniu komercyjnego życia gry - do wyspecjalizowanych instytucji. Branża filmowa od dawna rozumie, że negatyw i gotowa kopia kinowa to dwie różne rzeczy. Gry dopiero uczą się z tej samej lekcji.
Koniec fizycznych wydań nie jest zatem początkiem problemu. Jest momentem, w którym tracimy jeden z ostatnich sposobów, by gotowa wersja gry mogła przetrwać poza kontrolą właściciela platformy. Kod źródłowy może nadal zniknąć przez przeprowadzkę, restrukturyzację albo czyjś porządek na starym dysku. Różnica polega na tym, że przyszli archeolodzy nie dostaną już nawet płyty, od której dałoby się rozpocząć wykopaliska.
Przeczytaj również
Komentarze (3)
SORTUJ OD: Najnowszych / Najstarszych / Popularnych