大家好,我是久违的新成员,我终于完成了几个月来一直在工作的项目。 我创建了一个对话系统,NPC们实际上会追踪您的声誉,并根据不同的派系调整他们的语调、可用对话选项和甚至任务提议。
核心思想是避免那些感觉在几次游戏后就死气沉沉的静态对话树。 相反,每个NPC都持有一个小的声誉表格,它会根据玩家行动更新,而对话管理器在运行时会询问它来选择合适的响应池。
我遇到的几个问题可能会对尝试类似的事情的人有所帮助。 将声誉数据清晰地序列化起来比预期的困难得多,尤其是在会话中途保存时。 我最终使用 ScriptableObjects 来定义每个派系的声誉阈值,这样在编辑器中调整值就变得非常快。 将系统从任务系统中解耦出来也花费了很多时间,但它绝对值得为测试而做。
目前系统处理大约每个派系四个声誉等级,我正在考虑添加一个滑动等级的连续声誉等级,而不是硬性阈值。
有人 else 也建造过类似的系统吗? 我很好奇人们是否更喜欢离散等级还是完全连续声誉等级。 我还在寻找序列化 Unity 中复杂 NPC 状态的更干净方法。 如果感兴趣,我很愿意分享更多细节或代码片段。
评论 (0)