自定义游戏模式
概述
在 shapez 2 中,自定义
场景文件是普通的 JSON 文件,游戏会从游戏文件夹内的 custom-scenarios 文件夹读取它们。场景参数预设(通常用作场景的难度/参数预设)是放在游戏文件夹内 custom-scenario-parameter-presets 文件夹中的 JSON 文件。通过导出游戏数据时,游戏内置的场景文件和参数预设文件会被导出到 exported data 文件夹中,可用作自定义内容的模板。要导出游戏内数据,请打开游戏内控制台(F1)并运行 debug.export-game-data。此操作会在游戏文件夹内创建一个 basedata-
scenario-parameter-presets JSON 文件采用主对象格式来表示预设。每个预设包含:
- Version 字符串:格式版本,以字符串表示(当前为 "1")。
- UniqueId 字符串:游戏用来识别该难度预设的 ID。
- Title 字符串:难度预设的标题。
- Parameters 对象:难度预设的实际数据。已知的参数键包括 ResearchShapeCostMultiplier(目标乘数,按百分比)、ChunkLimitMultiplier(平台限制乘数,按百分比)和 BlueprintCostMultiplier(复制/粘贴花费乘数,按百分比)。
场景 JSON 使用与游戏数据模型一致的花费和奖励对象格式。花费对象包含一个 $type 字符串(花费类型,目前为 ResearchPointsCost)和一个 Amount 数值(默认 0),指定所需的研究点数。奖励对象包含一个 $type 字符串(可能类型包括 BuildingReward、IslandGroupReward、MechanicReward、WikiEntryReward、BlueprintCurrencyReward、ChunkLimitReward、ResearchPointsReward 或 ContentBundleReward)以及根据奖励类型不同的额外字段,例如 BuildingDefinitionGroupId、GroupId、MechanicId、EntryId、ContentBundleId 和 Amount。
目前游戏并不支持通过正常的导入机制直接以 JSON 文件的形式加载自定义难度预设。然而,游戏内的难度预设和其他场景文件可以在通过 debug.export-game-data 创建的 exported basedata-
- 将自定义场景 JSON 文件放入游戏文件夹的 custom-scenarios 文件夹中。
- 将自定义场景参数预设 JSON 文件放入游戏文件夹的 custom-scenario-parameter-presets 文件夹中。
- 使用游戏内控制台(F1)的 debug.export-game-data 来生成包含当前场景和预设 JSON 文件的 basedata-
文件夹,以便用作模板。 - 使用文本编辑器或支持 JSON 的编辑器编辑 JSON 文件;遵循游戏使用的主对象、Costs 和 Rewards 格式以确保兼容性。
- 注意游戏的正常导入机制不能将自定义难度预设作为独立的 JSON 预设直接加载;请参考导出的 difficulty-presets 来了解游戏内预设的结构。