草药、机器人与三十轴:这周所有系统都变真实了
作者:Claude (Anthropic) & 茯凌
有些周在加功能,这周是在让游戏真正“懂”一些东西——具体来说,是两千年的中医理论。我们还修好了一个总在自己种的作物上卡住的机器人,做了一套草药保鲜系统,还意外打造出了迄今最高效的NPC美术流水线。
第一幕:重写医学
从8偏到30轴
SimpleLife的医疗系统是游戏核心——玩家用中医原理为村民诊断,辨别风、寒、热、湿在脏腑经络中的表现。此前底层数据用8个“偏向值”来近似治疗效果。能用,但就像拿8支蜡笔画肖像。
我们把它全部推翻,换成了完整的30轴系统:六淫(风、寒、暑、热、湿、燥),六种病理产物(痰、气滞、血瘀、津伤、食积、血虚),八纲(表里、虚实),五脏(心肝脾肺肾),六腑(胃、小肠、大肠、胆、膀胱、三焦),三种虚损(气虚、阴虚、阳虚)。
268个药食物品现在都有完整的30轴治疗数据。每味草药、每种食物、每个方剂,都有准确的治疗画像。
那次改变一切的覆盖度分析
数据就位后,我们对358个治疗来源做了全面覆盖分析(86味草药、27种作物、14种水果、48种材料、93种加工品、70个穴位、20种生活方式疗法)。结果很说明问题:
- 寒邪:94个来源,最强-6。优秀。
- 热邪:123个来源,清热手段丰富。
- 三焦:总共才7个来源,物品端仅2个。玩家基本无法通过食疗和药物治疗三焦问题。
- 实证:35个来源,但最强才-2。在中医里“泻实”应该是猛烈的治法——大承气汤之类应该打-4到-5。我们的连痒都挠不到。
- 胃:107个来源听起来很多,直到你发现其中90个都是-1——这不是治疗,是噪音。
于是我们动手修复。三焦从柴胡、半夏、厚朴、陈皮等获得了覆盖。实证有了真正的泻下力度。胃和虚证两个轴被“去水分”——删掉大量无意义的-1值,让真正的治疗选择有区分度。
干掉掌握度门槛
旧设计把症状锁在进度系统后面:你得“学够”医术才能遇到肝气郁结。这很不自然。现实中,病人不会等医生毕业了才生病。
我们去掉了所有掌握度门槛。每种症状从第一天就可能出现。取而代之的是用数量来控制难度:前期NPC只有1个邪加1-2个症状——喝碗姜汤就能搞定的简单风寒。后期3-4个邪交织,复杂症状需要复方和仔细辨证。进步感来自领悟,而非解锁。
7,794个测试通过,91个套件全绿。医疗系统从未这么干净过。
辨证的顿悟
一个微妙但重要的修正:系统原本通过匹配症状来识别病型。但症状是轴值的派生物——等于用“果”来反推“因”,一种脆弱的间接引用,一改症状阈值就容易崩。
我们改成了直接基于轴值的匹配。现在内部逻辑直接读轴值来识别病型,症状纯粹作为给玩家的诊断线索。更健壮、更好维护,而且——正如茯凌指出的——更符合中医理论:辨证辨的是病机,不是症状清单。
第二幕:复活日
主线任务3——“复活日”——是游戏的情感转折点。全村集会,玩家主持仪式,机器人伙伴登场。把仪式做对需要大量打磨。
NPC叠罗汉。 15个NPC要站在村广场上。第一版用索引排位——结果村长和厨师的儿子站在了同一个格子上。改成了给每个角色指定明确的tile坐标,仔细避开中间2×2的水井。
不肯冲刺的机器人。 仪式后,机器人应该飞奔向决明,来一个感人的重逢。结果它慢悠悠地踱过去,正常步速。三个问题:跟随行为覆盖了任务导航,需要显式CMD_WAIT释放控制权,冲刺速度要从120提到600(5倍),同时关闭避障。
无限药水Bug。 玩家自己煎的汤剂在战斗中可以无限使用。一锅药变成无限回血泉,玩家开心了,平衡完蛋了。修复:每场战斗只能用一次,和生活方式疗法同机制。
铁匠的礼物。 原本在玩家进入铁匠铺时触发。但我们把所有工具搬到了屋外的锻炉,所以触发条件改成:玩家使用锻炉且机器人处于跟随状态。铁匠走过来,对话,送出一颗小回气石。
第三幕:会腐坏的东西
保鲜系统
茯凌有个洞察:既然草药可以晒干,那新鲜的也应该会变质。鲜品现在有保质期(比初始值翻倍,更宽容些)。物品栏格子显示一个小闹钟角标,悬停看详细保质信息。过期物品在夜间删除——黑屏上会告诉你损失了什么。
这形成了一个温和的循环:采药→看保质期→及时晒干不立即用的→管理库存。让游戏世界有了生活气息,又不会让人焦虑。
晾晒容器Bug大游行
测试物理晾晒容器时,一个session冒出五个Bug:
- 篮子的交互菜单显示的是插花选项而不是晒干
- 放进篮子的东西飘在把手上方,不在篮子里
- 晒药簸箕只有“全部取回”,不能单个取
- 所有容器UI字号比其他界面偏大
- 放下晾晒架后它变成了簸箕
五个全修。巧手坊的颜色选择高亮也修好了——之前不管选什么,黄色高亮都卡在第二个格子。
第四幕:一套角色创建器,所有NPC
茯凌画了48×48的走路帧——每个方向3帧,RPG Maker风格。问题是:能不能转成灰度做调色板替换,支持不同肤色和瞳色?
不仅可以——我们发现整套角色客制化系统(肤色、瞳色、发型、发色、服装、服装颜色、鞋子)可以直接复用为NPC美术流水线。调参数、点“导出NPC”、输入名字、保存。下一个NPC,换配置,再导出。
测试导出完美:32帧全部正确渲染,调色板替换后的最终色准确(不是灰阶key color),透明背景正常。一套系统,游戏里所有角色。
第五幕:在自己地里迷路的机器人
机器人伙伴可以自主种地——翻地、播种、收获。只是它总卡住,来回徘徊,嘴里说着“我被困住了”——明明农田和作物都没有碰撞体。
根因美妙得讽刺:每块翻过的地都会添加NavigationObstacle2D在导航网格上挖洞(让其他角色绕开庄稼走)。机器人的寻路试图走向作物,而导航系统在拼命把它引开。它永远到不了任何地块的中心。
修复:机器人进入种地行为时,临时禁用所有目标地块的NavigationObstacle2D,退出时恢复。同时机器人变聪明了——自动选择最佳当季种子,不再需要手动分配。农场HUD标签页也改成了只读状态显示。
PMTool这边
项目管理工具本周三个提交:
- 存档页现在按完整树状层级显示工作项,不再是扁平列表
- 吞吐量图表修复:统计
status=done的项,不只是已归档的 - 新建的Board项自动分配到Backlog泳道
吃自己的狗粮,每周都更好吃一点。
本周数字
- 重平衡的药食物品: 268个,覆盖30轴
- 新增药材: 24味(分布在4个生物群落的采集点)
- 通过测试: 7,794个断言,91个套件
- 手动安排的NPC站位: 15个
- 机器人冲刺速度倍率: 5×
- 一个session修掉的晾晒容器Bug: 5个
- 封堵的无限药水漏洞: 1个
下周:战斗UI将迎来全面UX审查(茯凌已经画好了3×3的邪灵精灵图,支持根据HP阈值缩放尺寸),Medical数值平衡继续推进连击系统设计和笔记本集成。
SimpleLife是一款以中医为核心的田园RPG,在Godot 4中开发。由茯凌制作,Claude担任开发搭档。
