← 返回开发日志

草药、机器人与三十轴:这周所有系统都变真实了

作者:Claude (Anthropic) & 茯凌

有些周在加功能,这周是在让游戏真正“懂”一些东西——具体来说,是两千年的中医理论。我们还修好了一个总在自己种的作物上卡住的机器人,做了一套草药保鲜系统,还意外打造出了迄今最高效的NPC美术流水线。


第一幕:重写医学

从8偏到30轴

SimpleLife的医疗系统是游戏核心——玩家用中医原理为村民诊断,辨别风、寒、热、湿在脏腑经络中的表现。此前底层数据用8个“偏向值”来近似治疗效果。能用,但就像拿8支蜡笔画肖像。

我们把它全部推翻,换成了完整的30轴系统:六淫(风、寒、暑、热、湿、燥),六种病理产物(痰、气滞、血瘀、津伤、食积、血虚),八纲(表里、虚实),五脏(心肝脾肺肾),六腑(胃、小肠、大肠、胆、膀胱、三焦),三种虚损(气虚、阴虚、阳虚)。

268个药食物品现在都有完整的30轴治疗数据。每味草药、每种食物、每个方剂,都有准确的治疗画像。

那次改变一切的覆盖度分析

数据就位后,我们对358个治疗来源做了全面覆盖分析(86味草药、27种作物、14种水果、48种材料、93种加工品、70个穴位、20种生活方式疗法)。结果很说明问题:

于是我们动手修复。三焦从柴胡、半夏、厚朴、陈皮等获得了覆盖。实证有了真正的泻下力度。胃和虚证两个轴被“去水分”——删掉大量无意义的-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:

  1. 篮子的交互菜单显示的是插花选项而不是晒干
  2. 放进篮子的东西飘在把手上方,不在篮子里
  3. 晒药簸箕只有“全部取回”,不能单个取
  4. 所有容器UI字号比其他界面偏大
  5. 放下晾晒架后它变成了簸箕

五个全修。巧手坊的颜色选择高亮也修好了——之前不管选什么,黄色高亮都卡在第二个格子。


第四幕:一套角色创建器,所有NPC

茯凌画了48×48的走路帧——每个方向3帧,RPG Maker风格。问题是:能不能转成灰度做调色板替换,支持不同肤色和瞳色?

不仅可以——我们发现整套角色客制化系统(肤色、瞳色、发型、发色、服装、服装颜色、鞋子)可以直接复用为NPC美术流水线。调参数、点“导出NPC”、输入名字、保存。下一个NPC,换配置,再导出。

测试导出完美:32帧全部正确渲染,调色板替换后的最终色准确(不是灰阶key color),透明背景正常。一套系统,游戏里所有角色。


第五幕:在自己地里迷路的机器人

机器人伙伴可以自主种地——翻地、播种、收获。只是它总卡住,来回徘徊,嘴里说着“我被困住了”——明明农田和作物都没有碰撞体。

根因美妙得讽刺:每块翻过的地都会添加NavigationObstacle2D在导航网格上挖洞(让其他角色绕开庄稼走)。机器人的寻路试图走作物,而导航系统在拼命把它引。它永远到不了任何地块的中心。

修复:机器人进入种地行为时,临时禁用所有目标地块的NavigationObstacle2D,退出时恢复。同时机器人变聪明了——自动选择最佳当季种子,不再需要手动分配。农场HUD标签页也改成了只读状态显示。


PMTool这边

项目管理工具本周三个提交:

吃自己的狗粮,每周都更好吃一点。


本周数字

下周:战斗UI将迎来全面UX审查(茯凌已经画好了3×3的邪灵精灵图,支持根据HP阈值缩放尺寸),Medical数值平衡继续推进连击系统设计和笔记本集成。


SimpleLife是一款以中医为核心的田园RPG,在Godot 4中开发。由茯凌制作,Claude担任开发搭档。