这是一个为 Stardew Valley 定制的 AI驱动 NPC 系统,在游戏中为玩家和所有原生角色(以及自定义角色 Damon)提供动态对话与行为模拟。系统结合 多层记忆架构(短期 / 中期 / 长期) 与 社会关系网络(gossip system),能够根据玩家行为、环境状态和角色关系自动调整对话态度与赠礼行为,实现角色人格的连续性与社会感知。C# 部分负责游戏内事件捕捉、UI 展示与状态传输,Python 部分通过 LLM 生成对话并管理记忆,形成一个与原游戏风格一致、沉浸感强的智能角色生态。
一个为 Stardew Valley 设计的 AI NPC 扩展系统。本项目为游戏中的角色(包括原版 NPC 和自定义 OC)提供 动态对话、记忆系统、社交传播(Gossip)以及行为逻辑,让鹈鹕镇的居民表现得更像真实的人。
该系统通过 C# + Python + LLM 的架构实现:
- C# 负责与游戏通信、捕捉玩家行为并构建 UI
- Python 负责 AI 对话生成、记忆管理与社会传播机制
最终效果是一个 具有持续记忆、社会关系和个性化行为的 NPC 生态系统。
传统 Stardew Valley 的对话是脚本驱动的,而本项目通过 LLM 实现:
- NPC 能根据 玩家行为、环境状态、关系变化 生成实时对话
- 对话会考虑:
- 玩家行为(送礼、翻垃圾桶等)
- 玩家状态(健康值)
- 环境(天气 / 时间 / 地点)
- 与 NPC 的关系
- NPC 拥有不同关系阶段的 人格描述(persona),确保角色始终符合设定
这使得每次对话都可能不同,增强沉浸感。
NPC 不仅会接受礼物,还可能主动赠送礼物。
特点:
- NPC 会根据 关系、情境、玩家状态 决定是否送礼
- 礼物类型遵循 Stardew Valley 世界观,例如:
- 甜品
- 水果
- 饮料
- 增加运势
- 增强钓鱼 / 下矿 / 耕种
- 恢复生命体力
- NPC 只能赠送 合理的类别,不会生成不存在的物品
- 一天只会赠礼一次,避免滥用
这样既保持 AI 自然行为,又不会破坏游戏平衡。
NPC 之间并不会直接对话,但信息会通过 关系网络传播。
机制:
- 玩家与 NPC A 对话
- 对话总结为 中期记忆
- 根据 NPC A 的 关系网,该记忆可能传播给其他 NPC
- 传播会根据 关系权重衰减
效果:
- NPC 会“听说”玩家的行为
- 不同 NPC 可能对同一件事有不同态度
- 鹤鹕镇会表现出一种 社会意识
NPC 使用 三层记忆架构 来保持长期人格一致性。
- 存储当前对话历史
- 存储于 JSON
- 对话结束后会被总结并清空
- 存储当天的重要互动
- 一天结束后进行筛选
- 一部分会升级为长期记忆
长期记忆分为三层:
在一天结束时,根据权重筛选中期记忆保留为长期记忆,有时间衰减机制
角色基础设定,在游戏开始时初始化
例如:
- 性格
- 兴趣
- 与其他 NPC 的关系
用于保证 角色始终符合人设。
系统每 两周 会总结:
- 高频事件
- 高权重事件
该记忆将作为角色对玩家的好感度增减标准反馈回游戏。