04 / 互动系统与游戏技术

Kotodama — LLM NPC、互动叙事与 3D 世界

把NPC记忆、世界状态、结构化剧本和多人续写队列连接为可运行的互动世界。

时间
2025 — 至今
状态
持续开发
角色
系统设计与全栈实现

问题

LLM生成对话后,互动世界还需要记忆、关系、位置、活动、世界事件和客户端执行保持一致。Kotodama为NPC维护长期可追踪状态,并将状态持续注入后续对话与行为。

我构建的系统

  • 设计短期记忆、长期记忆和 belief 记忆,并将角色关系、情绪、位置与活动状态注入后续对话和行为。
  • 设计 WorldScript JSON协议,分离LLM生成、服务端世界状态与客户端执行。
  • 实现NPC日程、世界事件、离线互动、惊喜抑制、确定性seed及成本与频率控制。
  • 在SceneKit中实现程序化3D世界、A*路径、NPC行为、昼夜、天气、粒子和Shader。
  • 建设多人故事续写的提案—投票—结算队列,通过SSE发布快照与heartbeat,并处理失败恢复和限额。

架构取舍

LLM不直接修改客户端场景。它输出受约束的结构化意图,由服务端验证并推进世界状态,再由客户端解释执行。这让模型能力可以演进,同时保持游戏状态、成本和失败边界可控。

系统覆盖

NPC记忆与状态、互动叙事、世界模拟、3D执行和多人实时系统。