首页› 技术与工程› TECH-01
TECH-01

架构总纲

Godot 4.8 dev6 客户端、内容编译器、运行时数据、命令事件与平台层的全新边界

册型T3 技术册系列技术与工程版本v4.1档期P0上游依赖新架构总原则被谁依赖TECH-02~09 · BIZ-01~03 · STORY-03本册变更v4.1:按 Godot 4.8 dev6 新方案重建

1. 目标与决策边界#

新总原则

本作以 Godot 4.8 dev6 为客户端与工具宿主,运行时数据和玩法计算按照“定义数据、运行时状态、命令、事件、查询”五类对象组织。首版承载系统使用 1m 整数网格、批处理结构检查和查询窗口,不为每个楼格创建 Node。旧的固定层数、固定实体数、固定帧预算、纯 GDScript 仿真、预设仿真域数量和任何未经压测证明的硬数字均不再是设计前提。

真实规模以内容包和运行时压测为准。当前资料库约有 493 部资料片和 555 份内容文档,这决定了系统必须按内容包、依赖图和分块加载设计,而不能把所有资料片写成核心代码分支。

目标新口径验收方式
引擎Godot 4.8 dev6;GDScript 负责 UI 与编排,C++ GDExtension 负责经过基准确认的热点空工程可加载扩展并运行无头测试
数据源数据与运行时数据分离;Markdown 仅作策划资料,不直接进游戏循环内容编译器可重复生成同一内容哈希
性能先建立基准,再按硬件、内容规模、P95 和峰值内存订预算;不把未经压测的固定规模或毫秒数写成性能承诺每次性能报告记录硬件、内容规模、P50/P95/P99
平台所有 Steam、成就、Cloud、Workshop 调用经 PlatformService无 Steam 替身和 Steam 实现通过同一接口测试
画面范围本册只规定数据访问和刷新边界,不规定贴图、风格或美术流程表现层只能消费查询结果

2. 五层运行时结构#

Content Source
    -> Content Compiler
    -> Compiled Content Pack
    -> Runtime Data Store
    -> Simulation / Command / Event
    -> Godot Query + UI
    -> Platform Services
层职责禁止事项
内容源JSON/CSV/PO/Markdown 制作资料不直接被运行时逐文件扫描
编译层Schema、引用、依赖、数值、本地化、许可证校验不偷偷修正错误数据
运行时数据层连续数组、稀疏索引、定义缓存、分块状态不让 UI 持有可变权威引用
仿真层按命令推进状态,按时间片批量结算不创建 Node,不调用 UI
Godot/平台层输入、查询、显示、Steam 和 Workshop 适配不直接写仿真数组

3. 模块边界与通信#

所有写操作都变成 Command,在固定提交边界执行;所有状态变化发出事实 Event;界面通过 Query 读取不可变快照。高频连续值使用批量快照,低频变化使用事件通知,避免每个实体独立信号。

UI -> CommandQueue -> Simulation
Simulation -> EventLog + SnapshotBuilder
UI <- QueryService <- ReadOnlySnapshot
Simulation <-> PlatformService  (仅通过成就/云/工坊适配器)
跨模块规则

模块之间不持有对方可变实体引用。跨域读取使用查询接口;跨域写入使用命令;长链路结果使用带 revision 的结果包。过期结果不能覆盖新状态。

4. 规模化原则#

资料片、建筑、房间、设备、材料、配方、产业、事件、任务和成就都使用稳定字符串 ID,编译后映射为整数 ID。定义对象只加载一次;玩家世界中的实体只保存 DefinitionId 和必要状态。大世界按 Chunk 管理,远处区域使用聚合状态,只有活跃区域进入细粒度结算。

机制作用
稳定 ID + 代数句柄删除实体后旧引用自动失效,ID 不复用
Chunk 分块按区域装载、保存、结算,避免全世界扫描
Dirty 标记只有发生变化的生产、物流、能源和市场重新计算
快照交换工作线程只读快照,主线程在边界合并结果
内容包未激活资料片不进入常驻仿真

5. 实施顺序与门禁#

阶段交付物进入下一阶段的条件
P0 数据基线Godot 4.8 dev6 工程、GDExtension、Schema、编译器骨架可编译、可无头运行、能报告错误
P1 运行时核心Entity Store、Command、Event、Chunk、时间推进确定性测试通过
P2 性能和存档批量结算、后台保存、迁移和压力套件达到当前基准报告的目标
P3 平台和内容Steam、成就、Workshop、资料片加载本地替身与 Steam 测试均通过
P4 内容生产批量导入全部资料片和功能卡片无重复、无断链、无缺失本地化 key

6. 明确不采用的旧路线#

已废止

废止未经压测验证的固定实体、层数、设备数量和毫秒承诺;废止纯脚本承担全部热点仿真;废止按预先冻结的仿真模块数量组织工程;废止把 Godot 节点数量当作数据模型;废止把 Steam API 直接散落在玩法代码;废止任意脚本权限 MOD 作为首发要求。所有性能数字必须由基准测试产生并附带硬件、内容规模和分位数证据。

7. 风险与复核#

风险控制方式
内容规模导致启动慢只读 manifest,按激活资料片加载,建立索引和缓存
线程结果覆盖新状态world_revision + input_hash 校验
存档被新内容破坏分块校验、备份、迁移和只读恢复
MOD 破坏成就或存档首发只开放数据型 MOD,存档记录版本和哈希
性能数字成为新僵化口径每个版本重新记录硬件、数据量和分位数
↑↓ 选择 ↵ 打开 esc 关闭 本地索引 · 无需联网