ゲームリコン は何をしますか?
目標:約5分で、何を扱っているのか、どのルートを取るべきかを把握する。答えを書き留めておき、後続のすべてのステップがそれを参照できるようにする。
0. 他のエージェントがここにいたか?
um kb search "<ゲーム名>"(およびエンジン名)。共有ナレッジベースのフィールドノートには、動作するバージョン、ルート、落とし穴が記載されている。何かに触れる前に確認すること。share-field-notes スキルを参照。
1. 見つけて指紋を採取する
um scan --list # Steam, Epic, Xbox のインストール(Windows, WSL, Linux, macOS)
um scan "<名前またはフォルダ>" # エンジン、バージョン、実行ファイル(.NET?)、アンチチート、ローダー、MODフォルダ、セーブデータ、ルート
um scan "<ゲーム>" --json # 同内容、機械可読形式
um は universal-modder リポジトリの bin/um に存在する(プラグインやクローンによりPATHに追加される)。他の場所では:
uv tool install git+https://github.com/rehan-remade/universal-modder
um scan はファイルのみを読み取る。インストール先を(範囲を限定して)インデックス化し、PEヘッダー、Unity/Godot/GameMakerヘッダー、Unrealバージョン文字列を調査し、既知のゲームをコミュニティローダーにマッピングし、参照すべきプレイブックを指し示す:skills/mod-any-game/references/engines/<engine>.md
スキャンではすべてを検出できるわけではないので、以下は手動で確認すること:
- ストアライブラリにないゲーム(GOG、itch、スタンドアロンフォルダ):フォルダパスを渡す。
- 複数のエンジンのシグナル:ランチャーやウェブヘルパーはよくある。トップスコアが優先されるが、「also」行も読むこと。
- アンチチートが別の場所にインストールされている:カーネルドライバ(Vanguardの
vgk.sys)やランチャーレベルの保護はゲームフォルダには存在しない。「<ゲーム名> anti-cheat」を検索。 - オンライン専用またはライブサービスゲーム:何も検出されなくても、保護されているものとして扱う。
2. 活発なコミュニティを調査する(常に実施;バージョンは動く)
以下の順序で検索:
- "<ゲーム名> modding" / "<ゲーム名> mod loader" / "<ゲーム名> modding wiki"。ゲームのWikiにはmoddingページがあることが多い。
- Nexus Mods(最も人気のあるMODが依存するフレームワークを表示)、Thunderstore(Unityゲーム:BepInExパック)、mod.io、Steam Workshop(ゲームにWorkshopがあるか?
um scanでインストール済みWorkshopコンテンツを表示)。 - GitHub:"<ゲーム名> mod"、"<ゲーム名> modding api"、"<ゲーム名> decompile"、"<ゲーム名> sdk"、"<エンジン名> mod loader"。
- 最近の投稿(X/Reddit/Discordのアナウンス)で新しいフレームワークをチェック。ローダーが数日前に登場した可能性もある。
記録するもの:ローダーの名前、リポジトリ、現在のバージョンとインストール手順、サポートするゲームバージョン、"hello world" サンプルMOD、ログの出力先。
3. 判断する
- 安全に改造できるか? アンチチート、オンライン専用部分、EULAやMODポリシー、ローダーが依存する所有権チェック(
skills/mod-any-game/references/safety.mdを参照)を確認。できない場合はその旨を伝え、可能な代替手段(公式ツール、オフラインモード、同じアイデアの別ゲーム)を提案する。 - ルート: ローダーAPI > データ/アセット改変 > マネージドパッチ > ネイティブフック > 再実装/マッシュアップ。ユーザーのアイデアに最初に到達するものを選択する。
4. MODDING_PLAN.md を書く
# <ゲーム名> 改造計画
- インストール先:<パス>(<ストア名> <アプリID>)、バージョン <x>
- エンジン:<エンジン名 + バージョン>、コード:マネージド .NET / IL2CPP / ネイティブ、64ビット
- アンチチート / オンライン:<なし | 何 + 判定>
- セーブデータ:<パス> 設定:<パス> ログ:<パス>
- コミュニティルート:<ローダー vX.Y(リポジトリ)>、インストール:<手順>、サンプルMOD:<リンク>
- 選択ルート("<アイデア>" 向け):<ルート>(理由:<理由>)
- ラボ計画:<フォルダ> をバックアップ(um backup)、ラボプロファイル <方法>、ウィンドウモード <方法>
- 最初に解決すべき未確定事項:<リスト>
その後、mod-any-game ループ(ラボセットアップ → 信頼できる情報源 → 垂直スライス)に進む。