Osegi
ソフトウェア·2 分で読めます

Xinの復活:消えたロシアのMUDをWayback Machineから再現

Xinは画像なしの文字だけのロシア製ブラウザゲームで、サーバー停止とともに消えた。有志が古いアーカイブとフォーラムから式を一つずつ再現している。

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

2000年代半ばのロシアのネットに、Xin(ロシア語で「Ксин」)というゲームがあった。画像は一枚もなく、HTMLのフォームと能力値の表だけで遊ぶブラウザMUD(文字ベースのオンラインゲーム)だ。数年後にサーバーは止まり、ソースコードも失われた。いま、そのXinの復活プロジェクトが進んでいる。「雰囲気を借りた新作」ではなく、同じ式、同じモンスター、同じアイテムを目指す再現だという。

データはどこから集めるのか

情報源は三つあり、しばしば食い違う。一つ目はWayback Machineだ。旧Xinにはデータベースのダンプもなく、残っているのは保存されたHTMLだけ。CDX APIで保存済みURLの一覧は取れるが、ゲーム世界のページは見られない。

二つ目は旧フォーラムの断片で、プレイヤーが戦闘ログからダメージを自分で計算していた。ここから使える数値は拾えるが、一つの数値につき独立した裏付けが二つ必要だという。三つ目は意外にも、残っていたxin.cssだ。

確定したことと、まだ不明なこと

確定したのは、HP=持久力×5、戦闘で死ぬと経験値の2.5%を失うこと、そして両者のラウンドが交互ではなく同時に処理されることだ。順番が違うとバランスが根本から変わる。一方、魔法の杖の「チャージ量」の除数は未確定だ。ある古いページに1/2/4/8という段階の記述があったが、約千件のフォーラム投稿では一度も話題になっていない。

モンスターも二つの資料が食い違う。同じ敵が片方では養蜂場の近く、もう片方では要塞にいて、経験値も違う。チームは食い違いと採用した資料をメモに残している。現在、詳細に検証済みなのは8ゾーンの約40体で、残りは仮の数値のままだ。

本番環境を壊した話

武器と魔法のダメージ式を作り直し、11ゾーンのモンスターを同時に再調整したところ、テストは通ったのに、公開後1時間でプレイヤーの戦闘が破綻した。紙の上では合っていた式と数値の間に隙間があったのだ。その日のうちに全面ロールバックした。現在は本番DBのコピーで数千回の模擬戦闘を回してから公開する。

技術面はPython 3.11、FastAPI、PostgreSQL、画面はJinja2でJSフレームワークなし。ゲームはxin.org.ruで遊べるが、一部は暫定で、地図につながっていないゾーンもある。

注目のアプリ

SUMO:数字パズル

正しいマスを選んで足し算、目標の数に。覚えるのは簡単、極めるのは難しい。無料、全年齢向け。

Dialo:話して学ぶ語学アプリ

AIの会話パートナーと話すだけ。一文ごとに添削され、あなたの言語で解説が返ってきます。9言語、A1からC2まで。

タグ:xinmudwayback machinegame preservationretro gamesfastapi

同じ日のニュース

すべて見る →

関連カテゴリ: ソフトウェア

すべて見る →