Gry  / Artykuł

Jedyną szansą na odświeżone Diablo I był cud. Taki cud się wydarzył - kod źródłowy gry trafił na GitHub

Gra Diablo w 1996 zmieniła świat gier wideo na zawsze. Ekscytacja odwiedzania losowych lochów znana miłośnikom gier roguelike została raz na zawsze połączona z krwawą grafiką, izometrycznym widokiem i nostalgiczną muzyką. Od tamtej pory nic nie było takie samo.

Wielu graczy do dziś wraca z nostalgią do tego tytułu. Jednak nie wszyscy mają taką możliwość. Tak naprawdę... bardzo trudno dziś zdobyć egzemplarz gry. Nie można jej kupić w (najpopularniejszej dzisiaj) formie cyfrowej, a edycje pudełkowe sprzedawane są z drugiej ręki i osiągają dość duże ceny na serwisach aukcyjnych.

Gracze chcą odświeżonej wersji Diablo I.

Niestety, nie dostają jej. Blizzard nie wydaje nowych wersji, ani nie udostępnia kodu źródłowego, jak to było na przykład w przypadku id, która to firma udostępniła kod źródłowy Dooma. Zaowocowało to ogromną liczbą dobrej jakości portów tej gry na różne platformy, korzystających z nowoczesnych kart graficznych i usprawniających sterowanie. Firmy udostępniające taki kod nie tracą na tym - aby legalnie zagrać i tak trzeba mieć rozprowadzane z płatną wersją zasoby (poziomy, dźwięki czy skrypty).

Jedyną szansą na fanowskie odświeżenie Diablo, jest cud. I taki cud się wydarzył.

W 1998 roku Blizzard przekazał kod źródłowy gry firmie Climax Studios, aby ta stworzyła wersję gry na Playstation. Firma ta okazała się nieco nieporządna - nie tylko pozostawiła plik nagłówkowy w oficjalnej wersji gry, ale i pozwoliła na wyciek wersji beta, która również posiadała pliki debugujące, które nie powinny znaleźć się w finalnej wersji.

Dodatkowym źródłem informacji była sama pectowa wersja gry, która ukazała się na płycie CD. Ukryta w pliku diabdat.mpq wersja debugowa zawierała między innymi narzędzia, które ułatwiły analizę kodu gry.

Programista ukrywający się pod pseudonimem GalaXyHaXz dokonał na tej podstawie tzw. inżynierii odwrotnej (reverse engineering), dzięki czemu uzyskał kod źródłowy Diablo. Opierało się to częściowo na szczęściu, częściowo na ciężkiej pracy i zgadywaniu, ale się udało. GalaXyHaXz umieścił na GitHub kompilujący się i działający (jeśli posiadamy pliki z danymi gry) port gry o nazwie Devilution.

Co dalej z odnowionym Diablo?

Powstanie pierwszej wersji Devilution kosztowało GalaXyHaXz aż cztery miesiące pracy. Po umieszczeniu kodu źródłowego (napisanego głównie w C++) na GitHub, może liczyć na wsparcie społeczności, co powinno przyspieszyć prace. Co mogą zyskać fani gry?

  • Łatwiejsze i szybsze modyfikowanie gry (wsparcie dla tzw. modów bez konieczności zmiany kodu gry).
  • Dokumentację wszystkich funkcji i treści usuniętych w ostatniej chwili z gry. Diablo miało problematyczny proces powstawania i w ostatnim pospiesznym etapie zrezygnowano z części zadań i poziomów. Podobnie stało się z planowaną lepszą grą sieciową.
  • Devilution ma pozostać dokumentacją kodu źródłowego. Powstanie port pozwalający na kompilację na inne platformy niż Windows oraz dający dostęp do nowych kart graficznych - będzie to jednak oddzielny projekt oparty o kod Devilution. W planach jest m.in wsparcie dla OpenGL, nowocześniejszy interfejs użytkownika oraz wersja na Linuksa.

Przykład modyfikacji gry wykonanej dzięki pracy GalaxyHaxz: pasek życia potwora i nowy widok itemów

Czy to w ogóle legalne?

Czy GalaXyHaXz może odtworzyć kod źródłowy gry, którą posiada? To dość szara strefa - według amerykańskiego prawa może to zrobić w celu własnych badań i dokumentacji technicznej. Czy jednak można opierać na tym osobny projekt, jak planuje? Zapewne nie. I kto wie, czy Blizzard nie odezwie się do niego w tej sprawie.

przeczytaj następny tekst


przeczytaj następny tekst


przeczytaj następny tekst


przeczytaj następny tekst


przeczytaj następny tekst