カスタムゲームモード
概要
shapez 2 のカスタム
シナリオファイルは通常の JSON ファイルで、ゲームはゲームフォルダの custom-scenarios フォルダからこれらを読み込みます。シナリオパラメータプリセット(シナリオの難易度/パラメータプリセットとしてよく使われる)は、ゲームフォルダの custom-scenario-parameter-presets フォルダに置く JSON ファイルです。ゲームに組み込まれたシナリオファイルとパラメータプリセットファイルは、ゲームデータをエクスポートすると exported data フォルダへエクスポートされ、カスタムコンテンツのテンプレートとして使えます。ゲーム内データをエクスポートするには、ゲーム内コンソール(F1)を開き、debug.export-game-data を実行します。これによりゲームフォルダ内に basedata-
scenario-parameter-presets の JSON ファイルはプリセット用の主要オブジェクト形式に従います。各プリセットには次が含まれます:
- Version string: フォーマットバージョン(文字列、現在は "1")。
- UniqueId string: ゲームが難易度プリセットを識別するために使用する ID。
- Title string: 難易度プリセットのタイトル。
- Parameters object: 難易度プリセットの実際のデータ。既知のパラメータキーには ResearchShapeCostMultiplier(Goal Multiplier をパーセンテージで指定)、ChunkLimitMultiplier(Platform Limit の乗数をパーセンテージで指定)、BlueprintCostMultiplier(Copy/Paste Cost の乗数をパーセンテージで指定)などがあります。
シナリオの JSON は、ゲームのデータモデルと整合するコストおよび報酬オブジェクト形式を使用します。コストオブジェクトには $type string(コストの種類、現在は ResearchPointsCost)と Amount number(デフォルト 0)として必要なリサーチポイント数を指定します。報酬オブジェクトには $type string(可能な種類には BuildingReward、IslandGroupReward、MechanicReward、WikiEntryReward、BlueprintCurrencyReward、ChunkLimitReward、ResearchPointsReward、または ContentBundleReward が含まれる)と、報酬の種類に応じた追加フィールド(BuildingDefinitionGroupId、GroupId、MechanicId、EntryId、ContentBundleId、Amount など)があります。
現状、ゲームは通常のインポート機構を通じてカスタム難易度プリセットを JSON ファイルとして直接読み込むことはサポートしていません。ただし、ゲーム内の難易度プリセットやその他のシナリオファイルは、debug.export-game-data によって作成される basedata-
- カスタムシナリオの JSON ファイルはゲームフォルダの custom-scenarios フォルダに置いてください。
- カスタムシナリオパラメータプリセットの JSON ファイルはゲームフォルダの custom-scenario-parameter-presets フォルダに置いてください。
- ゲーム内コンソール(F1)で debug.export-game-data を使用して、ゲームの現在のシナリオおよびプリセット JSON ファイルを含む basedata-
フォルダを生成し、テンプレートとして使用してください。 - JSON ファイルはテキストエディタまたは JSON 対応のエディタで編集してください。互換性を保つために、ゲームで使用されている main object、Costs、Rewards の形式に従ってください。
- カスタム難易度プリセットはゲームの通常のインポート機構で単独の JSON プリセットとして読み込めないことを忘れないでください。ゲーム内プリセットがどのように構成されているかはエクスポートされた difficulty-presets を参照してください。