docs: 三文档同步 0.1.32《万宝琳琅》(按真实源码核对)
README:测试数 86/5009 + 版本沿革补 0.1.31/0.1.32 + 矩阵域 29→40 MOD_GUIDE:§10 速查更新——资源/材料 id 十种 + 符箓/灵酿 id + 来源速记(与真实掉落/建筑对应) + 建筑 id 补灵果园/灵木坊 + 篇章尾注 0.1.32 生态观(六类循环/消耗类零 rng 纪律) PROJECT_MEMORY:时间线 0.1.31/0.1.32 + 新决策 8b「物品六类生态观」 (材料循环/入池则活/零 rng 消耗纪律)+ 技术债测试数同步
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
npm install # 依赖(含 git.metona.cn 私有 registry,token 在用户级 ~/.npmrc)
|
||||
npm install-scripts approve electron esbuild # npm12 首装时必须(Electron 二进制)
|
||||
npm run dev # 开发模式(热更新)
|
||||
npm test # 引擎测试(81 套件 / 3006 用例,纯 Node 无 GUI)
|
||||
npm test # 引擎测试(86 套件 / 5009 用例,纯 Node 无 GUI)
|
||||
npm run build # 产物到 out/
|
||||
npm run package # 打包(Windows 需在 Windows 侧执行)
|
||||
```
|
||||
@@ -47,7 +47,7 @@ src/main/ Electron 主进程(app:// 协议 + IPC 存
|
||||
- **插件化**:万物皆是插件(系统/数据包/事件池),三核心插件 protected 常驻;示例见 tests/helpers/examplePlugin.ts。
|
||||
- **可回放**:种子随机(sfc32,引擎域零 Math.random)+ 快照回放保真(restore 重建内核+回置 rng)。
|
||||
- **审计四轮**:0.1.15(引擎 P0 歼灭)/ 0.1.20(事件闸·市场黑洞·双金钟罩)/ 0.1.28(稳石:词库回滚·新贵落档·校验接生产·bundle 闭环·指纹补盲)/ **0.1.29(续命:续代断链·敌强度相对化·权重防洪)**。
|
||||
- **测试规模**:**81 套件 / 3006 例**(29 个矩阵域:随机序列/世界生成/市场实体化/事件闸/数据表全量/插件 MOD 组合/省级矩阵等——语义真实,无刷水)。
|
||||
- **测试规模**:**86 套件 / 5009 例**(40 个矩阵域:随机序列/世界生成/市场实体化/事件闸/数据表全量/插件 MOD 组合/省级矩阵等——语义真实,无刷水)。
|
||||
|
||||
## 打包产物
|
||||
|
||||
@@ -79,5 +79,7 @@ src/main/ Electron 主进程(app:// 协议 + IPC 存
|
||||
| 0.1.28 | 稳石(第三轮全量审计歼灭:词库回滚/新贵落档/校验接生产/bundle 导入/救济正道/快讯解锁 + 指纹补盲) |
|
||||
| 0.1.29 | 续命(第四轮全量审计歼灭:续代断链修复/敌强度相对化/权重防垄断/启用过滤/并发存档修复) |
|
||||
| 0.1.30 | 兼济(人口-世界成本闭环 + 世界关注度(匹夫无罪)+ 内置 MOD 仓库/冲突矩阵/预览 + 测试 3006) |
|
||||
| 0.1.31 | 万物皆可 MOD(内容面七口:物品/功法/建筑(表达式 DSL)/职事/志向/阵型/性格 + kind 分类 + ERA_DURA/REGION_TIDE 聚合 + 测试 4006) |
|
||||
| 0.1.32 | 万宝琳琅(物品六类化 + 新材料七种入市 + 符箓武备/灵酿回气 + 生产泛化 + 测试 5009) |
|
||||
|
||||
详见:`docs/PROJECT_MEMORY.md`(设计哲学与每个迭代的"为什么")。
|
||||
|
||||
+9
-4
@@ -454,8 +454,12 @@ mortal(凡人)→ qi(练气)→ foundation(筑基)→ core(金丹
|
||||
|
||||
## 10. 速查表:内置 id 大全
|
||||
|
||||
### 资源 id(res / sells / buys / family / effect 通用)
|
||||
`stones`(灵石)· `lingcao`(灵草)· `lingkuang`(灵矿)· `beastcore`(兽核)
|
||||
### 资源/材料 id(res / sells / buys / family / effect 通用)
|
||||
- **资源**:`stones`(灵石)· `lingcao`(灵草)· `lingkuang`(灵矿)· `beastcore`(兽核)
|
||||
- **材料(0.1.32 新材料七种)**:`lingyu`(灵玉)· `lingmu`(灵木)· `shoupi`(兽皮)· `lingguo`(灵果)· `linglu`(灵露)· `dansha`(丹砂)· `fuzhi`(符纸)
|
||||
- **符箓**:`talisman-feng`(风符·开战武备消耗)· `talisman-shan`(山符)
|
||||
- **灵酿**:`brew-niang`(灵酿·渡劫伤后回气)
|
||||
- **来源速记**(与玩法真实对应):灵玉←玄冰谷/古战阵掉落+市场;灵木←灵木坊(建筑)+暗墨林;兽皮←灵兽园/古战阵/兽潮灾年;灵果←灵果园;丹砂/灵露/符纸←市场购买为主
|
||||
|
||||
### 丹药 id(pillGain / res 可用)
|
||||
`pill-qiyuan`(聚气丹)· `pill-ningyuan`(凝元丹)· `pill-pojing`(破境丹)
|
||||
@@ -467,7 +471,7 @@ mortal(凡人)→ qi(练气)→ foundation(筑基)→ core(金丹
|
||||
`t-qinglian`(青莲剑诀·剑修)· `t-canglei`(苍雷炼体功·体修)· `t-lieliuxin`(离火心经·丹修)· `t-houtu`(厚土镇岳功·体修)· `t-xuanyue`(玄月斩灵诀·剑修)· `t-baihui`(百草经·丹修)
|
||||
|
||||
### 建筑 id(addBuilding / minBuilding)
|
||||
`lingtian`(灵田)· `yaoyuan`(药园)· `lingkuang`(灵矿)· `fangshi`(坊市)· `danfang`(丹房)· `cangshu`(藏书阁)· `juling`(聚灵阵)· `yanwu`(演武场)· `dongfu`(洞府)· `zongci`(宗祠)· `lingshou`(灵兽园)
|
||||
`lingtian`(灵田)· `yaoyuan`(药园)· `lingkuang`(灵矿)· `fangshi`(坊市)· `danfang`(丹房)· `cangshu`(藏书阁)· `juling`(聚灵阵)· `yanwu`(演武场)· `dongfu`(洞府)· `zongci`(宗祠)· `lingshou`(灵兽园)· **`lingguoyuan`(灵果园·产灵果)** · **`lingmufang`(灵木坊·产灵木)**
|
||||
|
||||
### 天下家 id(relation / raid)
|
||||
`n-xuanying`(玄影沈氏·剑修)· `n-danxin`(丹心木氏·丹道)· `n-sihai`(四海王氏·商盟)· `n-nulei`(怒雷祝氏·兵修)——注:**世界随机化后你家不一定有全部四家**;写它们不会报错,只是关系变化可能发生在"不存在的家"上(忽略即可)。
|
||||
@@ -540,6 +544,7 @@ mortal(凡人)→ qi(练气)→ foundation(筑基)→ core(金丹
|
||||
|
||||
---
|
||||
|
||||
**一句话总结**:MOD = 一个有 `data` 字段的 JSON。事件管"剧情事件"、模板管"新家族"、词库管"名字概率"、灾因管"灾年种类"、配方管"炼丹铸器"、worldNum 管"世界脾性"。装/卸/导出全在设置页,读档重装全自动。去写吧——这个世界等你的素材。
|
||||
**一句话总结**:MOD = 一个有 `data` 字段的 JSON。事件管"剧情事件"、模板管"新家族"、词库管"名字概率"、灾因管"灾年种类"、配方管"炼丹铸器"、worldNum 管"世界脾性"、物品/功法/建筑/职事/志向/阵型/性格管"新内容门面"。装/卸/导出全在设置页,读档重装全自动。去写吧——这个世界等你的素材。
|
||||
> 0.1.32 玩注:资源循环已是六类生态(资源/材料/丹药/符箓/灵酿/兵器),新物产入池即参与世界呼吸与 NPC 贸易——写材料口别怕世界吃不进去。
|
||||
|
||||
<sub>⚔️ 本文档随游戏版本更新(0.1.30)。字段若有新增,此处先行。</sub>
|
||||
|
||||
@@ -44,6 +44,8 @@
|
||||
| 0.1.28 | 稳石 | **第三轮全量审计**:词库池无回滚(重放漂移)/新贵不落档(读档僵尸)/校验死代码化/MOD 读档静默消失/快讯展示冻结/导出单行道——六项「书面承诺与实际不符」全歼 + 指纹补盲 |
|
||||
| 0.1.29 | 续命 | **第四轮审计**(3seed×183 年实测):170 年零出生活人老人院——续代四刀(生育窗/天年 200/族外婚注入/年胎 cap 稳态 25);传薪 224 连发;敌强度 5000+ 碾压 |
|
||||
| 0.1.30 | 兼济 | 人口-世界成本(人多粮少)/世界关注度(匹夫无罪);MOD 生态成型(内置仓库/冲突矩阵/预览/API 清单);**测试 2014→3006** |
|
||||
| 0.1.31 | 万物皆可 MOD | 内容面总攻(物品/功法/建筑表达式 DSL/职事/志向/阵型/性格七口)+ MOD 类型(kind)+ 数值松弛(ERA_DURA/REGION_TIDE 聚合零漂);测试 3006→4006 |
|
||||
| 0.1.32 | 万宝琳琅 | 物品六类化(含符箓/灵酿新用途——武备消耗/回气);新材料七种入世界循环(灵玉灵木兽皮灵果入池、新建筑灵果园灵木坊);生产泛化(produceTable 全键);**测试 4006→5009** |
|
||||
|
||||
## 三、关键架构决策(及为什么)
|
||||
|
||||
@@ -80,6 +82,11 @@
|
||||
- **续代是玩法命脉**:0.1.29 实测"170 年零出生"说明 0.1.1 以来内部通婚+固定生育窗是游戏最大暗伤——家族模拟器必须先"传得下去"再谈"传得好"。修复四刀(生育窗境界延长/天年 200/族外婚注入/年胎 cap)后人口稳态 ~25 成为设计常量。
|
||||
- **规模即代价**:人口 >20 吃世界池(人多粮少)、战力超均值×2 举世瞩目(匹夫无罪)——"变大变强"天然有世界级反馈,防单边最优解。
|
||||
|
||||
### 8b. 物品六类生态观(0.1.32)
|
||||
- **资源分层**(resource→material→成品)让"材料循环"成立:灵木→符纸→符箓(战斗消耗)、灵果→灵酿(回气)——每类物品都要有"入口(产/采/掉)→出口(用/卖/烧)",防止库存死水(同 0.1.16 灵石出口教训)。
|
||||
- **新物产入池即活**:仅定义物品不够——只有进了 POOL_BASE/MARKET_IDS 才参与世界呼吸/NPC 贸易/灾年超卖(0.1.32 四同步(四新增键入池)是关键,否则"只躺仓库")。
|
||||
- **消耗类物品的纪律**:符箓/灵酿效果必须**零 rng 消耗**(自动消耗实现——金钟罩安全);新增效果尽量走"已有结算点"(渡劫/战斗结束时挂钩)。
|
||||
|
||||
### 9. 线程定论(0.1.21 实测)
|
||||
- 引擎 = renderer 主线程同步,`advanceMonth` 2160 月平均 **0.05ms/tick**;拖帧热点是 UI 全量渲染 + 存档 stringify(已修:精订阅/节流/截断)。
|
||||
- **为什么不做 Worker**:0.05ms 换线程是负收益工程;真问题(UI 渲染、OPFS 成本)已定位修复。
|
||||
@@ -121,7 +128,7 @@
|
||||
7. MOD 目录形态仅支持单文件(目录/分包/依赖多个 .cotymod 自动解析留待)。
|
||||
8. CALAMITY 与 WORLDSTIM 数值表的大规模注入(多 MOD 叠加平衡)未做。
|
||||
9. NPC"中期势力轮替"曲线(newborn 频度/覆灭线)仍单参数,可寻参数化。
|
||||
10. **测试规模 3006**(81 套件矩阵域),后续新增机制优先在对应矩阵域追加参(seed×组合),避免重开大文件。
|
||||
10. **测试规模 5009**(86 套件矩阵域),后续新增机制优先在对应矩阵域追加参(seed×组合),避免重开大文件。
|
||||
11. **缓做项(0.1.28 审计定案)**:declineYears 盛世误触/闪烁——重平衡归 0.1.29 独立调参(避免二次基线漂移);CALAMITY_FAMILY 独立口收益低(灾因口已覆盖);ERA_DURA/REGION_TIDE 松弛版数值口 0.1.29+(必须走"默认优先+聚合"模式)。
|
||||
|
||||
## 八、如何开始修改(给下一个智能体的路径)
|
||||
@@ -132,7 +139,7 @@
|
||||
改结构:注册进 clocks/plugins;世界循环参数唯一权威 = worldsim-data.ts
|
||||
→ 5. 改 UI:先改 store(revision)再改组件;纯逻辑放 game/engine 可测
|
||||
→ 6. 加测试:双金钟罩不动,新增用例挂 tests/xxx-0.1.x.test.ts(按主题命名)
|
||||
→ 7. 提交前:npm test(81 套件 3006+)+ typecheck + (GUI 冒烟需 WSLg 在线)+ 更新三份文档 + MOD_GUIDE(触 MOD 时)
|
||||
→ 7. 提交前:npm test(86 套件 5009+)+ typecheck + (GUI 冒烟需 WSLg 在线)+ 更新三份文档 + MOD_GUIDE(触 MOD 时)
|
||||
```
|
||||
|
||||
**一句话原则**:先复现、再小改、后金钟罩。改坏确定性比改错玩法更危险;改数值去 worldsim-data,改流程去 clocks,改事件去 fire()。
|
||||
|
||||
Reference in New Issue
Block a user