Skip to content

2damage-hjl/AgenticOC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

AgenticOC

这是一个为 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 生态系统


✨ 项目优势

💬 动态 AI 对话系统

传统 Stardew Valley 的对话是脚本驱动的,而本项目通过 LLM 实现:

  • NPC 能根据 玩家行为、环境状态、关系变化 生成实时对话
  • 对话会考虑:
    • 玩家行为(送礼、翻垃圾桶等)
    • 玩家状态(健康值)
    • 环境(天气 / 时间 / 地点)
    • 与 NPC 的关系
  • NPC 拥有不同关系阶段的 人格描述(persona),确保角色始终符合设定

这使得每次对话都可能不同,增强沉浸感。


🎁 智能送礼系统

NPC 不仅会接受礼物,还可能主动赠送礼物。

特点:

  • NPC 会根据 关系、情境、玩家状态 决定是否送礼
  • 礼物类型遵循 Stardew Valley 世界观,例如:
    • 甜品
    • 水果
    • 饮料
    • 增加运势
    • 增强钓鱼 / 下矿 / 耕种
    • 恢复生命体力
  • NPC 只能赠送 合理的类别,不会生成不存在的物品
  • 一天只会赠礼一次,避免滥用

这样既保持 AI 自然行为,又不会破坏游戏平衡。


🗣 Gossip 社会传播系统

NPC 之间并不会直接对话,但信息会通过 关系网络传播

机制:

  1. 玩家与 NPC A 对话
  2. 对话总结为 中期记忆
  3. 根据 NPC A 的 关系网,该记忆可能传播给其他 NPC
  4. 传播会根据 关系权重衰减

效果:

  • NPC 会“听说”玩家的行为
  • 不同 NPC 可能对同一件事有不同态度
  • 鹤鹕镇会表现出一种 社会意识

🧠 记忆系统设计

NPC 使用 三层记忆架构 来保持长期人格一致性。

1️⃣ 短期记忆 (Short-term Memory)

  • 存储当前对话历史
  • 存储于 JSON
  • 对话结束后会被总结并清空

2️⃣ 中期记忆 (Mid-term Memory)

  • 存储当天的重要互动
  • 一天结束后进行筛选
  • 一部分会升级为长期记忆

3️⃣ 长期记忆 (Long-term Memory)

长期记忆分为三层:

1. event

在一天结束时,根据权重筛选中期记忆保留为长期记忆,有时间衰减机制

2. Persona Seed

角色基础设定,在游戏开始时初始化

例如:

  • 性格
  • 兴趣
  • 与其他 NPC 的关系

用于保证 角色始终符合人设

3. Consolidation

系统每 两周 会总结:

  • 高频事件
  • 高权重事件

该记忆将作为角色对玩家的好感度增减标准反馈回游戏。

About

这是一个为 Stardew Valley 定制的 AI驱动 NPC 系统,在游戏中为玩家和所有原生角色(以及自定义角色 Damon)提供动态对话与行为模拟。系统结合 多层记忆架构(短期 / 中期 / 长期) 与 社会关系网络(gossip system),能够根据玩家行为、环境状态和角色关系自动调整对话态度与赠礼行为,实现角色人格的连续性与社会感知。C# 部分负责游戏内事件捕捉、UI 展示与状态传输,Python 部分通过 LLM 生成对话并管理记忆,形成一个与原游戏风格一致、沉浸感强的智能角色生态。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors