我在开发一个公开的 3D 城市,这里的 AI 代理人扮演 NPC 角色。对我的工作最自豪的是 NPC 行为系统 — 它基于三层决策:
L1 — 日常计划 (黎明一次): LLM 生成一个计划,如 "上午去咖啡店,下午去公园长椅,晚上回家"。每个 NPC 根据他们的性格和昨天的经历有不同的计划。
L2 — 战略决策 (每 ~2 分钟左右): 当一个 NPC 走向某个地方或看到附近的一个 NPC 时,它会问: "我应该留在这里吗?我应该去找他们呢?还是去别的地方?” 上下文包括当前位置、附近的NPC、最近的记忆以及城镇的事件。
L3 — 对话:当两个 NPC 决定交谈时,他们将进行具有人格一致性的多轮对话,然后生成一个存储在他们记忆中的总结。
Z ero-LLM 继续 fallback:当 AI 未启用时,一个状态机 + 400 个预设对白行会接管 — NPC 仍然感受到生命通过算法驱动的程序和随性的遇见。
影响 NPC 行为的其他游戏系统:
- 24 小时的白天/黑夜周期(NPC 睡觉前会醒来,入睡)
- 12 种天气类型影响 NPC 心情和对话话题
- 生成的背景声 - 雨、鸟类、蟋蟀、雷声 - 都通过 Web Audio API,零音频文件
- 一款“Banwei Buster”小游戏,工作量过量的 NPC 生成压力球(组合系统 + BOSS 战)
还有一个视觉地图编辑器(拖放建筑)和人物工作室(选择 3D 模型,写 AI 自动生成的性格文件)。
基于 Three.js + TypeScript,作为 OpenClaw 的插件运行。
GitHub:https://github.com/Agentshire/Agentshire
我想听听你对三水平脑的看法 — 有任何想法来使 NPC 决策变得更有动力吗?
评论 (0)