Osegi
Софт·2 мин чтения

Игра Ксин возрождается: боёвка и бестиарий из Wayback Machine

Ксин был текстовым браузерным MUD без единой картинки и исчез вместе с сервером. Команда собирает его заново по архивам и старым веткам форума, формула за формулой.

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

В Ксине не было ни одной картинки: только текст, HTML-формы и таблицы характеристик. Сервер давно выключен, исходники потеряны, а энтузиасты собирают игру заново. Им нужна не «игра по мотивам», а точная реконструкция: те же формулы, те же монстры, те же предметы.

Ксин был браузерным MUD (текстовой многопользовательской игрой) середины нулевых в рунете. Через несколько лет проект умер. Остались форум с обсуждениями механик и кэш в Wayback Machine.

Откуда брать данные мёртвой игры

Источников три, и они часто противоречат друг другу. Первый, Wayback Machine: ни API, ни дампа базы, только сохранённые HTML-страницы, список которых можно вытащить через CDX API. Страницы мира недоступны. Второй, архивы форума, где игроки сами считали урон по логам боя. На каждое число нужно два независимых подтверждения, иначе это домысел. Третий звучит странно: уцелевший файл xin.css, из которого видно то, что нигде не задокументировано.

Чисто подтвердились, например, такие вещи: HP персонажа равно Выносливости × 5, смерть в бою снимает 2,5% опыта, раунды обеих сторон считаются одновременно, а не по очереди. Спорным остался делитель «силы заряда» у магических жезлов. Шкала 1/2/4/8 нашлась на одной архивной странице предмета, но почти за тысячу постов форума её ни разу не обсуждали.

Два бестиария, которые не сходятся

По монстрам есть два независимых источника: ручной текстовый бестиарий и отдельная таблица характеристик по зонам. Один и тот же монстр в одном живёт у Пасеки, в другом в Крепости, а опыт за него указан разный. Команда записывает по каждому спорному случаю, что расходится и какой источник выбран. Пока детально выверено около 40 монстров в восьми зонах. Остальные несут старые числа-заглушки, и в документации это помечено.

Как сломали прод

Команда переработала формулу урона от оружия и магии и заодно пересчитала баланс монстров в одиннадцати зонах. Тесты прошли, на бумаге всё сходилось. После выката в бою перестало сходиться: одни монстры непропорционально выносили персонажей, другие наоборот. Новую формулу и новую калибровку никогда не гоняли вместе через реальный боевой движок. В тот же день сделали полный откат. Теперь любое изменение формулы проходит через симуляцию нескольких тысяч боёв на копии продовой базы.

Стек: Python 3.11, FastAPI, SQLAlchemy, PostgreSQL, серверный рендеринг на Jinja2 без JS-фреймворков, как в оригинале. Играть можно уже сейчас на xin.org.ru, хотя часть контента ещё не выверена.

Приложения, на которые стоит взглянуть

SUMO: числовая головоломка

Выбирайте нужные клетки, складывайте, достигайте цели. Легко понять, сложно освоить. Бесплатно, для любого возраста.

Теги:xinmudwayback machinegame preservationretro gamesfastapi

Ещё за этот день

Показать все →

Ещё в рубрике: Софт

Показать все →