Jason. Cała informatyka w jednym miejscu!

Raz kolejny zbliżymy się do nieco innego tematu niż czyste programowanie. Na pewno niejednego z Was interesuje modyfikacja jakiegoś swojego ulubionego tytułu (mam na myśli gry na PC). Chcielibyście coś w nim dodać, zmienić, poprawić. Modyfikacja gry komputerowej już od dawna jest odrębnym zainteresowaniem wielu graczy i programistów. Spróbuję Wam rzucić "programistyczne" światło na tę sprawę, wytłumaczyć definicję i dać parę wskazówek co możecie zrobić gdy nie ma żadnego oprogramowania do edytowania zawartości gry, a wszystkie dane są zaszyfrowane.

MODYFIKACJA GRY KOMPUTEROWEJ OD STRONY PROGRAMISTYCZNEJ

Definicja modyfikacji jest prosta do zrozumienia. Modyfikację nazywamy każdą udaną edycję dowolnego pliku gry posiadającego inne dane niż te sprzed edycji. Mogą one sięgać daleko, jak na przykład zmiana modelu postaci głównego bohatera albo drobniutkie takie jak zmiana jakichś liczb czy liczbowych parametrów. Bez względu na to czy edytujemy model, czy tylko statystyki, zawsze jest to określane modyfikacją (albo "modem" jako często używany skrót). Czy one wpływają na uczciwość gry to już jest sprawa naszego sumienia.

Przez wiele lat mody gier były możliwe do zrealizowania tylko w nieoficjalny sposób. Po prostu pisało się program zdolny do zidentyfikowania, otwarcia, przetworzenia i wygenerowania pliku kompatybilnego z danym tytułem. Jeżeli dane nie były chronione czyli były pod postacią plików tekstowych, wtedy sprawa była dziecinnie prosta. Wystarczyło jedynie znać składnię i znaczenie obecnych wpisów. Natomiast chciałem raczej poświęcić ten artykuł tej trudniejszej części modowania. Sytuacji, gdy chcemy edytować pliki zaszyfrowane lub chronione.

DOSTĘPNE WARIANTY

Jeżeli trafiamy na zawartość ulubionej gry, a ona z kolei jest dla nas niedostępna (chroniona przed zewnętrznym edytowaniem), modyfikacja gry komputerowej może nie być łatwym zadaniem. Mamy wtedy kilka sposobów:

OFICJALNE WSPARCIE PRZEZ PRODUCENTÓW

Możemy sprawdzić czy tytuł już sam w sobie nie posiada narzędzi do edycji plików, uprzednio napisanych przez twórców gry. Przykładem jest "Torchlight II" oraz jego zestaw narzędzi o nazwie "GUTS". Wówczas gdy sami deweloperzy udostępniają takie narzędzia, zwykle "nie kryją" żadnych danych gry. Zatem problem rozwiązuje się sam.

ZEWNĘTRZNE OPROGRAMOWANIA

Jeśli interesują nas modyfikacje starszych gier pochodzących z czasów, gdzie oficjalne umożliwianie modyfikacji było wtedy kosmosem, możemy poszukać na forach i na stronach internetowych jakichś wskazówek czy gotowych zewnętrznych programów do edycji plików gry. Taki przypadek zachodzi na ten przykład przy "X-Men Legends II". Twórcy nie dają żadnych szans na edycję plików, ale dzięki programowi "XMLBCUI" jesteśmy w stanie modyfikować przynajmniej zdecydowaną większość zawartości (między innymi postacie czy kursy sali niebezpieczeństw). Modyfikacja gry komputerowej staje się jeszcze na tym etapie możliwa.

NAPISANIE WŁASNEGO PROGRAMU

Gdy nic nie wskazuje na znalezienie jakichkolwiek programów napisanych przez kogoś innego, możemy sami spróbować napisać takie oprogramowanie. I tutaj robi się ciekawie, ponieważ niekoniecznie powiedziane jest, że to musi być graficzny interfejs! Fakty są takie, że nawet uruchamiając gotowy program w zwykłym wierszu poleceń możemy sprawić, że program poradzi się z rozwiązaniem zadanego problemu. Odpowiedni język na mody gier? W sumie nie ma jakichś określonych kryteriów, natomiast C, C++, Python oraz Java są najczęściej spotykane przy takich zadaniach. Nie znaczy to z kolei, żebyście nie próbowali napisać czegoś takiego w innym języku.

EDYCJA HEKSADECYMALNYCH WPISÓW

Jeżeli nie posiadacie żadnego doświadczenia przy pisaniu programów, możecie jeszcze spróbować edytowania plików binarnych przy użyciu programu zdolnego do identyfikowania ciągów heksadecymalnych. Program o nazwie "HxD" na ten przykład potrafi to robić. Warto skorzystać z tej strony, która pomoże bezbłędnie modyfikować ciągi szesnastkowe.


Jak widzicie wariantów jest kilka, zatem jeśli ktoś myśli na poważnie nad edytowaniem gier, to musi mieć wiedzę programistyczną, aby być przygotowanym na to, że konieczne będzie napisanie własnego narzędzia, żeby modyfikacja gry komputerowej stała się możliwa.

PODOBNE ARTYKUŁY