
Infocom が 1988 年にリリースした MS-DOS ゲーム BattleTech: The Crescent Hawk's Inception のリバースエンジニアリング解析、および Godot 4 + C# による再構築です。
├── docs/ # RE ドキュメントと調査結果
│ ├── CONTEXT.md # マスターコンテキスト(1050+ 行)
│ ├── TECHNICAL_ANALYSIS.md # 包括的な技術解析(3211 行)
│ ├── MEMORY_MAP.md # 完全なメモリマップ(603 行)
│ ├── ADDRESS_REFERENCE.md # アドレスリファレンス(1035 行)
│ ├── BLD_BYTECODE.md # BLD バイトコード仕様(342 行)
│ ├── WORLD_MAP_FINDINGS.md # ワールドマップ解析(321 行)
│ ├── REBUILD_PLAN.md # Godot 再構築計画
│ ├── REBUILD_ROADMAP.md # 再構築ロードマップ
│ └── STORY_TEXT.txt # 抽出済みストーリー全文
│
├── tools/ # Python 解析ツール
│ ├── bld/ # BLD スクリプトツール(デコーダ、コンバータ、ビューア)
│ ├── assets/ # アセット抽出・レンダリングツール
│ └── analysis/ # RE 解析ツール
│
├── reko/ # Reko 逆コンパイラの出力
│ ├── UNBTECH.exe.c # 完全な C 逆コンパイル結果(2MB)
│ ├── UNBTECH.exe.h # 構造体定義を含むヘッダ
│ ├── UNBTECH_all.asm # 統合逆アセンブル結果(60K 行)
│ └── segments/ # セグメント別の .c/.asm/.dis ファイル
│
├── asm/ # アセンブリ解析
│ └── discoveries.asm # 手動解析ノート
│
├── json/ # BLD → JSON 変換結果(26 ファイル)
│
├── spice86/ # Spice86 エミュレーション出力
│
├── BattleTechCHI/ # Godot 4 + C# 再構築
│
├── original/ # オリジナルゲームアセット(ローカル専用、アップロードなし)
│ ├── bld/ cmp/ icn/ mtp/ anm/ saves/ exe/
│
├── extracted_assets/ # ゲームアセットから生成した PPM/PNG
└── Assets/ # 変換済みスプライト/タイルシート
再構築は Phase 6(ANM 統合 + 戦闘 ANM)にあります。BattleTechCHI/Scripts/ 内に 45+ スクリプト、約 8,000 行の C# があります。
Spice86 エミュレータに、実行時ゲーム状態のイントロスペクション用の BattleTech 専用 MCP ツールを 19 個搭載:
# MCP サーバーをポート 8081 で起動
dotnet exec bin/Debug/net10.0/UNBATTLETECH.dll \
--Exe "/path/to/BTECH.EXE" \
--CDrive "/path/to/game/" \
--HeadlessMode Minimal --McpHttpPort 8081 --NoGui
# ゲーム状態の読み取り
curl -s -X POST http://localhost:8081/mcp/ \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"bt_get_state","arguments":{}}}'
# BLD → JSON 変換と逆変換
python3 tools/bld/bld_json_converter.py to-json original/bld/
# ストーリー全文の抽出
python3 tools/bld/extract_story.py
# オペコード解析付きで全 BLD ファイルをデコード
python3 tools/bld/decode_bld.py
# マップ用 ASCII ターミナルビューア
python3 tools/bld/ascii_viewer.py
# CMP アセットを PPM にレンダリング
python3 tools/assets/extract_assets.py
# C# 再構築のビルド
cd BattleTechCHI && dotnet build
# エミュレータのビルド
dotnet build UNBATTLETECH.csproj
このリポジトリにはオリジナルのゲームアセット(BLD、CMP、EXE など)は一切含まれません。含まれるのはリバースエンジニアリング解析、ドキュメント、およびクリーンルーム再構築用のオリジナルソースコードのみです。オリジナルゲームアセットはローカル開発専用として original/ に残されています(gitignore 対象)。