Osegi
Oprogramowanie·2 min czytania

Xin: odtwarzanie martwej rosyjskiej gry MUD z Wayback Machine

Xin była rosyjską grą przeglądarkową wyłącznie w tekście, która zniknęła razem z serwerem. Zespół odbudowuje ją wzór po wzorze z archiwów i starych wątków forum.

A retro text-only browser game screen showing a combat log and a table of character stats on a dark background.
Zdjęcie: Хабр

Gra Xin (po rosyjsku Ксин) nie miała ani jednego obrazka. Tylko tekst, formularze HTML i tabele statystyk. Dziś jej serwer nie istnieje, kod źródłowy przepadł, a grupa fanów odbudowuje ją od zera i chce, by wynik był wiernym odtworzeniem, a nie grą „inspirowaną”: te same wzory, ci sami potwory, te same przedmioty.

Xin to przeglądarkowy MUD, czyli tekstowa gra sieciowa, popularna w rosyjskim internecie w połowie lat 2000. Po kilku latach projekt umarł. Zostały dyskusje o mechanice na forum oraz kopie stron w Wayback Machine.

Skąd wziąć dane z nieistniejącej gry

Twórcy mają trzy źródła i często ze sobą sprzeczne. Pierwsze to Wayback Machine: nie ma tam bazy danych ani API, tylko zapisane strony, które da się wylistować przez CDX API. Strony świata są niedostępne. Drugie to archiwa forum, gdzie gracze sami liczyli obrażenia z logów walki. Każda liczba musi mieć dwa niezależne potwierdzenia, inaczej zostaje hipotezą. Trzecie źródło brzmi dziwnie: zachowany plik xin.css, z którego widać rzeczy nigdzie indziej niezapisane.

Potwierdzono m.in., że HP postaci to Wytrzymałość × 5, śmierć w walce odbiera 2,5% doświadczenia, a rundy obu stron liczą się jednocześnie, nie na zmianę. Sporny pozostał na przykład dzielnik „mocy ładunku” w magicznych różdżkach. Skala 1/2/4/8 pojawia się na jednej stronie przedmiotu, ale w prawie tysiącu postów forum nikt jej nie omawiał.

Dwa bestiariusze, które się nie zgadzają

Dla potworów są dwa źródła: ręcznie złożony bestiariusz tekstowy i osobna tabela statystyk według stref. Nie pasują do siebie. Ten sam potwór mieszka raz przy Pasiece, raz w Twierdzy, a doświadczenie za jego zabicie jest inne. Zespół zapisuje przy każdym spornym przypadku, co się rozjechało i które źródło wybrano. Na razie dokładnie sprawdzono około 40 potworów w ośmiu strefach. Reszta ma jeszcze tymczasowe liczby, wyraźnie oznaczone w dokumentacji.

Wpadka na produkcji

Zespół przerobił wzór obrażeń od broni i magii oraz jednocześnie przeliczył balans potworów w jedenastu strefach. Testy przeszły, na papierze wszystko wyglądało dobrze. Po wdrożeniu okazało się, że w walce coś się nie zgadza: jedne potwory zabijały zbyt łatwo, inne zbyt rzadko. Nowy wzór i nowa kalibracja nigdy nie były uruchomione razem w prawdziwym silniku walk. Tego samego dnia przywrócono poprzednią wersję. Teraz każda zmiana wzoru przechodzi przez symulację kilku tysięcy walk na kopii bazy produkcyjnej.

Technicznie to Python 3.11, FastAPI, SQLAlchemy i PostgreSQL, a front renderuje Jinja2, bez frameworków JS, tak jak w oryginale. Gra działa już pod adresem xin.org.ru, choć część treści czeka jeszcze na weryfikację.

Aplikacje warte uwagi

SUMO: łamigłówka liczbowa

Wybierz właściwe pola, dodaj je i trafiaj w cel. Łatwa do nauczenia, trudna do opanowania. Za darmo, dla każdego wieku.

Tagi:xinmudwayback machinegame preservationretro gamesfastapi

Więcej z tego dnia

Zobacz wszystkie →

Więcej w kategorii: Oprogramowanie

Zobacz wszystkie →