おすすめMOD・導入方法|modsインストール&開発ガイド
Mods は、単純な利便性向上ユーティリティから新しい機械、ゲームプレイ要素、翻訳、カスタムシナリオまで、shapez 2 を改変または拡張するユーザー作成パッケージです。ゲームはネイティブの mod サポートと定義されたフォルダ構成を備えており、mods のインストール、開発、共有が容易になっています。
Mods と永続データの配置場所
- ゲームは永続データ(mods、カスタムシナリオ、プリセット、エクスポートされた基地データを含む)を Game Data Folder(別名 Game Data またはセーブ/ゲームフォルダ)内に保存します。
- パス:
- Windows: %USERPROFILE%\AppData\LocalLow\tobspr Games\shapez 2\
- MacOS: ~/Library/Application Support/tobspr Games/shapez 2/
- Linux: ~/.config/unity3d/tobspr Games\shapez 2/
- ゲームからフォルダを開く方法:
- メインメニュー → Play → Show Folder、その後親フォルダへ移動。
- ゲーム内 → Blueprint Library → Open Folder、その後親フォルダへ移動。
- Debug Console コマンド: logs.open-folder または savegames.open-folder(注: MacOS は一部ログに プレイヤー.log を使用します)。
Mods フォルダの構成とインストール
- Game Data Folder 内の mods フォルダは、ローカルでゲームにロードする mods を配置する場所です。
- 各 mod は mods フォルダ内のサブフォルダとして配置します。ゲームは各サブフォルダを個別の mod として読み込みます。
- Steam Workshop の mod はサポートされており、Workshop にサブスクライブすると自動的にダウンロードされます。
Mod リソースとツール
- 公式およびコミュニティのリソース:
- 開発者が提供する公式の modding ドキュメントとアート/アセットガイドライン。
- サンプル mod と Shapez Shifter(modding API)リポジトリが GitHub にあります。
- 公式ドキュメントを補完する非公式のコミュニティドキュメントも存在します。
- 役立つサードパーティツールのドキュメント: MonoMod RuntimeDetour と HarmonyX(ランタイムでの detouring とパッチ適用用)。
- ゲームは Unity(ドキュメントに特定の Unity バージョンが記載)と modding API(ShapezShifter)を使用して統合を簡素化しており、外部の mod ローダーは不要です。
- 詳細な開発やデバッグのためにアセンブリとクラス参照が利用可能です。
ゲームデータを mod 用に作成・エクスポートする方法
- ゲームは内部データ(エンティティ、シナリオ、プリセットなどの基本コンテンツ)を再利用や参照のためにエクスポートできます:
- ゲーム内で Debug Console(F1)を開き、debug.export-game-data を実行します。
- これにより Game Data Folder 内に basedata-
という名前のフォルダが作成されます。そこにあるファイルをカスタム JSON コンテンツのテンプレートとして使用してください。
カスタムシナリオ、プリセット、難易度
- カスタムシナリオ:
- シナリオの JSON ファイルを Game Data Folder 内の custom-scenarios フォルダに置くと、ゲームがそれらを読み込みます。
- エクスポートしたゲーム内シナリオファイルは、エクスポートされた basedata フォルダの scenarios フォルダに表示されます。
- カスタムシナリオプリセット:
- カスタムシナリオプリセットの JSON ファイルは Game Data Folder 内の custom-scenario-parameter-presets に配置します。
- ゲーム内のシナリオプリセットは、エクスポートされた basedata フォルダ内の scenario-parameter-presets に存在します。
- シナリオを選択する際、内部リスト内でそのシナリオを指す最初の Scenario Preset がデフォルトとして選ばれます。
- カスタム難易度プリセット:
- 現在、ゲームはカスタム難易度プリセットを JSON ファイルとして直接読み込むことをサポートしていません。エクスポートされた basedata フォルダの difficulty-presets フォルダでゲーム内の難易度プリセットを調べることはできます。
カスタム翻訳
- カスタム翻訳を読み込むには、translations-en-US.json と同じ形式の translations-override.json ファイルを作成し、ゲームが期待する場所に配置します。
- ゲームを --custom-translations コマンドライン引数付きで起動すると、オーバーライドファイルが読み込まれます。
- ファイル内の LanguageTitle は無視され、言語設定には「Custom」と表示されます。欠落したキーは英語にフォールバックします。
開発ワークフローとデバッグ
- 一般的なワークフロー:
- 既存の JSON をテンプレートとして使用するためにベースゲームデータをエクスポートします。
- ドキュメントとアートガイドラインに従って、アセット、コード、JSON 定義を含む mod サブフォルダを作成します。
- コードの挙動を変更する必要がある場合は、modding API(ShapezShifter)やランタイムパッチライブラリを使用します。
- mod フォルダを mods ディレクトリに置いてゲームを起動し、ローカルでテストします。
- Debug Console はコマンド実行やトラブルシューティングのためにゲーム内で利用可能です。
- デバッグとランタイムパッチのドキュメントやコミュニティ例(サンプル mod)を参照することを推奨します。
Mod の公開と共有
- Steam Workshop:
- Mods は Steam ワークショップに公開して自動配布が可能です。
- コミュニティ共有:
- Blueprint やコンテンツの共有は Community Vortex サイトや公式 Discord(#🛠blueprints)でも行われています。
- 公開する際は、アセットの競合や破損を避けるためにゲームの mod 公開およびアセットガイドラインに従ってください。
トピックと高度な注意点
- ドキュメントで扱われている関連 modding トピック:
- Modding Overview、Development Environment、Mod Loading、Debugging、Mod Publishing、Command Line Arguments、Game Files、カスタムゲームモード、Debug Console。
- 提供されているサンプル mod と API 参照を利用して、パターンやベストプラクティスを学んでください。
- JSON(シナリオ、プリセット、翻訳など)でコンテンツを変更・追加する際は、ゲームが認識するように上で説明した期待フォルダにファイル名と配置を合わせることを確認してください。
始めるための簡易チェックリスト
- ベースデータをエクスポート: Debug Console を開く → debug.export-game-data を実行。
- Game Data Folder/mods/ 内に mod フォルダを作成し、コンテンツを追加。
- カスタムシナリオやプリセットの場合は、それぞれ custom-scenarios または custom-scenario-parameter-presets に JSON を配置。
- 翻訳の場合は translations-override.json を作成し、--custom-translations 付きでゲームを起動。
- mod を共有/受け取るには Steam ワークショップにサブスクライブ/公開。
- コード例や API 使用法については公式 modding ドキュメント、サンプル mod、ShapezShifter を参照。