「消えた伝説のX11宇宙戦「XShipWars」を発掘!20年前のコードをClaude Codeで現代に蘇らせる【序章】」で宣言した復活プロジェクトですが、早くも第一段階をクリアしたのであります!
現在のところ「macOS上のLinuxコンテナ + XQuartz」という環境での動作確認のみをした段階ではありますが、ひとまず動く状態まで持っていけたため、GitHubでリポジトリを公開しました。
👉 GitHubリポジトリ:
4ヶ月の作業がわずか3日に?数字で見る成果
今回の対象は、約23万行におよぶC++のオリジナルソースコードです。結果として、以下の規模の修正で起動に成功しました。
コミット数: 65回
コード修正量: 約1,900ステップ
所要日数: 約3日
もし自力ですべてのエラーを追って修正していたら、おそらく3〜4ヶ月はかかっていたはずです。それが実質数日で動いてしまったことには、Claude Codeの圧倒的な推進力を実感せざるを得ません。
スムーズに移植を成功させた「事前準備」の工夫
今回トラブルなく短期間で起動まで漕ぎ着けられた最大の要因は、いきなりコード修正を始めず、まずClaude Code自身に作業環境と方針を整備させたことではないかと思います。具体的には以下のファイルを定義してから移植に臨みました。
CLAUDE.md:全体のゴール定義と移植の基本方針build-linuxskill:Linux環境でのビルド手順と、コンパイルエラー発生時の対応ルールrun-headlessskill:X11のないコンテナ環境下で安全に動作確認を行う方法PORTINGS_NOTES.md:ビルドや検証の過程で見つかった、非自明な挙動や修正記録の蓄積
この「AIに文脈とツール(Skill)を渡してから走らせる」というアプローチが非常にうまく機能しました。
残された課題と今後のロードマップ
基本的な動作は確認できたものの、完全復活にはまだ乗り越えるべき壁があります。
サウンドシステム: 採用されている「YIFF Sound System」が現在メンテナンス終了
入力デバイス: ジョイスティック制御の「libjsw」も現代環境ではそのまま利用不可
これらは代替ライブラリへの置き換え(現代的なオーディオ/入力APIへのリファクタリングなど)が必要となるため難易度が高く、次のフェーズの課題として切り出しました。これらの実装が進み、音やコントローラーが動くようになったら改めてお知らせしたいと思います。
往年のX11ゲームに興味がある方、あるいは「大規模レガシーコードをClaude Codeでどう料理したのか」に関心がある方は、ぜひリポジトリを覗いて実際に動かしてみてください!
フィードバックやIssueもお待ちしています。

コメント
コメントを投稿