Unciv项目地图相关JSON文件详解
Unciv Open-source Android/Desktop remake of Civ V 项目地址: https://gitcode.com/gh_mirrors/un/Unciv
概述
在Unciv项目中,地图系统由多个JSON配置文件共同构成,这些文件定义了游戏中的地形、资源、建筑等核心元素。本文将深入解析这些JSON文件的结构与功能,帮助开发者更好地理解和使用这些配置文件。
地形配置文件(Terrains.json)
地形配置文件定义了游戏中的基础地形、地形特征和自然奇观。该文件是构建游戏世界的基础。
核心结构
每个地形条目包含以下关键属性:
- name:地形名称,必填项
- type:地形类型枚举值(Land/Water/TerrainFeature/NaturalWonder)
- occursOn:仅适用于地形特征和自然奇观,指定可放置的基础地形
- turnsInto:仅适用于自然奇观,放置后转换的基础地形
- weight:仅适用于自然奇观,地图生成时的相对权重
特殊属性说明
- 基础地形要求:每个规则集必须至少包含一个陆地和一个水域地形
- 特殊地形名称:
Grassland
作为默认回退地形River
作为硬编码的特殊地形特征
- RGB颜色值:用于默认图块集的显示颜色
实用技巧
- 使用
overrideStats
可以控制地形特征的产出是否覆盖基础地形的产出 unbuildable
和impassable
属性可以创建特殊限制区域- 通过
defenceBonus
可以为地形添加防御加成
地块改良配置文件(TileImprovements.json)
该文件定义了单位可以在地图上建造的各种改良设施。
核心结构
每个改良条目包含以下关键属性:
- name:改良名称,必填项
- terrainsCanBeBuiltOn:可建造的地形列表
- techRequired:建造所需科技
- replaces:替代的改良设施
- uniqueTo:专属文明
特殊改良类型
- Road/Railroad:道路系统
- **Remove ***:移除指令
- City center:城市中心特殊改良
实用技巧
- 设置
turnsToBuild
为-1可创建不可建造的改良 - 使用
Does not need removal of [tileFilter]
特性可以绕过地形特征移除要求 - 通过
shortcutKey
可以为改良设施添加快捷键
资源配置文件(TileResources.json)
该文件定义了地图上可能出现的各种资源。
资源类型
- Bonus:基础资源
- Premium:高级资源
- Strategic:战略资源
核心结构
每个资源条目包含以下关键属性:
- name:资源名称
- resourceType:资源类型
- terrainsCanBeFoundOn:出现地形
- revealedBy:发现所需科技
- improvedBy:开发所需改良
实用技巧
- 使用
improvementStats
可以定义资源开发后的额外产出 - 通过
revealedBy
控制资源的可见性 - 资源图标和图块图形需要分别配置
遗迹配置文件(Ruins.json)
该可选文件定义了古代遗迹可能提供的奖励。
奖励结构
每个奖励条目包含:
- name:奖励名称
- notification:触发通知
- weight:出现权重
- uniques:触发效果
特殊控制
- excludedDifficulties:排除的游戏难度
- 使用"Only available after [amount] turns"等特性可以限制奖励出现时机
通知参数
某些奖励通知支持动态参数填充,如:
- 单位名称
- 城市名称
- 具体数值
图块集配置文件
每个图块集有独立的配置文件,定义视觉效果和布局规则。
关键特性
- 支持自定义图块图形
- 包含分层渲染系统
- 支持规则变体
总结
Unciv的地图系统通过这组JSON文件实现了高度可配置性。理解这些文件的结构和相互关系,是进行游戏模组开发的基础。开发者可以根据需要调整地形属性、资源分布和改良设施,创造出独特的游戏体验。
Unciv Open-source Android/Desktop remake of Civ V 项目地址: https://gitcode.com/gh_mirrors/un/Unciv
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考