科技详解
科技系统要同时解决三件事:科技本身显示什么、它在谁的科技树里处于什么位置、研究完成后产生什么结果。因此一项新科技通常至少涉及technologies_tables、technology_nodes_tables、technology_node_sets_tables和technology_effects_junction_tables。
完整数据链
technology_node_sets_tables
└─ technology_nodes_tables
├─ technology_key ───→ technologies_tables
├─ technology_node_links_tables
├─ technology_ui_tabs_to_technology_nodes_junctions_tables
└─ technology_ui_groups_to_technology_nodes_junctions_tables
technologies_tables
├─ technology_effects_junction_tables
├─ technology_required_technology_junctions_tables
├─ technology_required_building_levels_junctions_tables
├─ technology_nodes_to_ancillaries_junctions_tables
└─ 其他脚本、特性、所有权或派系系统连接
有些原版派系使用传统树形节点,有些使用标签页、分组、特殊资源或脚本解锁。本文的普通节点案例不是唯一做法;复制前必须先确认目标派系实际采用哪套界面结构。
需要哪些表单
| 表单 | 负责什么 |
|---|---|
technologies_tables |
科技 Key、名称、说明、图标和基础分类。 |
technology_nodes_tables |
把科技放进某棵科技树,定义阵营、层级、位置、研究点和资源成本。 |
technology_node_sets_tables |
定义一整套科技树适用于哪个派系、文化、战役。 |
technology_node_links_tables |
绘制并组织父子节点连线。 |
technology_effects_junction_tables |
研究完成后授予 Effect。 |
technology_required_technology_junctions_tables |
给科技增加额外科技前置。 |
technology_required_building_levels_junctions_tables |
要求先拥有某建筑等级。 |
technology_ui_tabs_tables及节点连接表 |
使用标签页时给节点分类和排序。 |
technology_ui_groups_tables及节点连接表 |
使用界面分组框时定义颜色、范围和背景。 |
technology_nodes_to_ancillaries_junctions_tables |
让节点与物品奖励发生关系。只在模板实际使用时添加。 |
technologies_tables
橙色框从左到右标出科技 Key、建筑等级或分类入口、位置排序字段和图标区域。科技树里的真正坐标主要由technology_nodes_tables决定。
| 字段 | 含义 |
|---|---|
key |
科技唯一 Key。 |
onscreen_name |
玩家看到的科技名称。 |
short_description |
短说明。 |
long_description |
详细说明。 |
icon_name |
科技图标。 |
building_level |
与建筑等级相关的旧式或特殊入口;普通科技不要凭字段名乱填。 |
position_index |
某些界面中的排序索引,不等于节点坐标。 |
unique_index |
内部唯一索引。复制记录时不能与原版冲突。 |
mp_available_early、mp_available_late |
多人模式可用阶段。战役科技通常沿用模板。 |
is_civil、is_engineering、is_military |
科技分类标记。目标派系可能并不使用全部分类。 |
is_hidden |
是否在通常界面中隐藏。隐藏科技仍可能被脚本或起始数据授予。 |
in_encyclopedia |
是否进入百科。 |
科技节点与科技树
technology_node_sets_tables
| 字段 | 含义 |
|---|---|
key |
科技树集合 Key。 |
faction_key |
只供某个派系使用时填写。 |
culture、subculture |
按文化或子文化适用。 |
campaign_key |
只在指定战役使用。 |
localised_name、tooltip_string |
科技树名称和提示。 |
colour_r/g/b |
科技树界面颜色。 |
game_expansion_key |
内容或战役包范围。 |
派系级、子文化级和文化级记录可能同时存在。不要因为一个派系模板填写了faction_key,就认为所有科技树都必须按派系单独复制。
technology_nodes_tables
| 字段 | 含义 |
|---|---|
key |
节点唯一 Key。它与科技 Key 可以不同。 |
technology_node_set |
节点属于哪棵科技树。 |
technology_key |
节点研究的实际科技。 |
faction_key、campaign_key、subculture |
进一步限定节点范围。 |
tier |
节点所在层级或列。 |
indent |
同层中的缩进或行位。 |
pixel_offset_x/y |
对节点位置进行像素微调。 |
research_points_required |
研究所需点数。通常决定回合进度。 |
cost_per_round |
每回合的特殊成本入口。 |
food_cost、resource_cost |
特殊资源成本。只在目标系统读取时有效。 |
points_on_creation |
不在此表;不要把角色技能节点字段套到科技节点。 |
required_parents |
需要满足的父节点数量。 |
optional_ui_group |
可选界面分组。 |
technology_node_links_tables
parent_key和child_key建立连线;连接位置与偏移字段控制线从节点哪一侧出发。visible_in_ui只控制线是否可见,不一定取消实际前置。因此,界面连线与研究条件要分开检查。
研究效果
technology_effects_junction_tables字段:
| 字段 | 含义 |
|---|---|
technology |
哪项科技提供效果。 |
effect |
引用 Effect。 |
value |
传给 Bonus Value 的数值。 |
effect_scope |
影响派系、军队、角色、地区或其他对象。 |
一项科技可以包含多条 Effect。同样,科技也可以主要用于解锁建筑、物品或脚本系统,而不是直接修改数值。
前置科技和建筑
technology_required_technology_junctions_tables:technology需要required_technology。technology_required_building_levels_junctions_tables:technology需要required_building_level。technology_node_links_tables:负责树形父子关系和连线。required_parents:决定需要满足多少个父节点。
这些机制可以同时存在。复制分支科技时,不能只复制看得见的线。
technology_unit_upgrades_tables在当前 Assembly Kit 原始数据中没有正式记录。不要因为表名看起来合适就把它当作当前兵种升级入口;兵种升级系统应查unit_upgrade_*和unit_to_unit_group_junctions_tables。
标签页与界面分组
较复杂科技树还会使用:
technology_ui_tabs_tables:标签页名称、说明、排序和层级偏移。technology_ui_tabs_to_technology_nodes_junctions_tables:把节点放入标签页。technology_ui_groups_tables:分组的颜色、名称、说明和背景图。technology_ui_groups_to_technology_nodes_junctions_tables:用四角节点定义分组覆盖范围。technology_ui_group_links_tables:组之间的关系。
目标派系没有使用标签页或分组时,不要为了“完整”强行新增。
怎样查找适合的模板
- 在游戏中找一项布局、成本和效果都接近的科技。
- 用简体中文名称在本地化或 RPFM 全局搜索中定位
technologies.key。 - 搜索该 Key,找到
technology_nodes_tables.technology_key。 - 记录节点集合、层级、缩进、父子连线、标签页和界面分组。
- 搜索科技 Key 的全部效果、前置、物品和脚本引用。
- 只复制实际出现的分支。
经济科技、军事科技和派系机制科技只是示例分类,不是互相排斥的固定模板。同一科技可以同时修改建筑、招募、角色和单位。
新建科技的推荐顺序
- 创建唯一的
technologies.key和unique_index。 - 填写游戏名称、说明和图标。
- 在目标
technology_node_set中创建节点。 - 设置研究点、层级、缩进和必要资源成本。
- 连接父子节点,并配置
required_parents。 - 根据目标界面添加标签页或分组关系。
- 添加 Effect 和额外前置。
- 检查所有 Key 引用,运行 RPFM 诊断。
- 在新战役中检查显示、研究过程、解锁和完成后的效果。
常见错误
- 科技记录存在但树里看不到:缺少节点、节点集合不适用、被隐藏或标签页关系错误。
- 节点能看见但不能研究:检查父节点、
required_parents、建筑和资源前置。 - 连线可见但可以绕过前置:界面连线不等于完整逻辑条件。
- 研究完成没有效果:检查
technology_effects_junction_tables、Effect 的 Bonus Value 和 Scope。 - 图标或中文说明缺失:检查本地化和图标路径,不要只填 Key。
- 只对部分派系出现:检查 Node Set、节点本身和战役范围的派系、文化、子文化字段。
游戏内验收
- 新科技出现在正确派系、标签页和位置。
- 节点与连线没有重叠或断线。
- 前置、研究回合、资源成本和锁定提示正确。
- 完成后每条效果作用于正确对象。
- 读取存档后研究状态和效果仍存在。
- AI 不会因无效节点或循环前置停止研究。
RPFM 诊断不能证明科技树的视觉布局和研究运行时逻辑。至少用新开战役完成一次研究,再测试保存与读取。

