先看割裂:同一个玩家,被五个互不认识的店员接待
先设想一个示意场景。玩家在互动电影里选择放走一名被追捕的骑士,几天后打开陪伴角色,随口提起这件事,角色一脸茫然;再进入模拟小镇,骑士的家人对玩家的态度也和这件事毫无关系。三个玩法各自运转得都没有错,拼在一起却像同一个人被五个互不认识的店员接待,每到一个柜台都要重新自我介绍。
大发娱乐官网把互动电影、虚拟角色、虚拟偶像与宠物、模拟人生放在同一个AI娱乐体系下介绍,出发点就是消除这种割裂。这不是为了把栏目排得整齐,而是因为这几类内容在技术上要解决的核心问题高度重合:角色是谁、记得什么、世界此刻是什么样子、刚才发生了什么、彼此之间是什么关系。如果每个方向各建一套,玩家的经历就无法流通,团队也要把同一个难题重复解决五次,每一次还可能得出互相矛盾的答案。
所以我们更愿意从底层往上看,而不是从玩法往下分。玩法是入口,底层才是这个体系真正在做的事。
底层共享的三层:Character、Narrative、World
我们把共享部分拆成三层,每一层只回答一类问题,避免任何一层变成什么都管的大杂烩。
- Character层:角色档案与人格锚点(性格、说话方式、不会越过的底线)、长期记忆(事件、事实、关系)、当前情绪与短期目标。回答“这个人是谁、记得什么、现在想要什么”。
- Narrative层:剧情状态、Storylet触发条件、伏笔登记表、导演层的节奏控制。回答“故事走到哪一步、接下来允许发生什么”。
- World层:地点与时间、物品与资源、谁知道什么、规则与因果、事件日志。回答“世界此刻的事实是什么、什么事情在当前不可能发生”。
三层之间靠一条事件流相连。任何带后果的事情,比如救了人、送了礼物、丢了工作,都写成带时间、地点、参与者和影响范围的事件。Character层据此更新记忆与关系,Narrative层据此推进剧情,World层据此修改状态。玩法不同,只是各自读取这条事件流的侧重不同。
把事件当作公共货币有一个很实际的好处:玩家在互动电影里放走骑士,这条事件既可以被陪伴角色的记忆检索到,也可以被模拟小镇里骑士的家人读到。至于读不读、用什么口吻读,仍由各玩法的规则决定,并受玩家自己的设置约束,并不是所有信息无差别地共享。
五个方向的对照:同一套底层,不同的重心
| 方向 | 最关心的问题 | 主要读写的层 | 最容易出错的地方 |
|---|---|---|---|
| 互动电影与互动小说 | 故事与玩家选择的后果 | Narrative + World | 伏笔被遗忘、剧情被凭空改写 |
| 虚拟角色陪伴 | 人物与长期关系 | Character | 人设漂移、新旧记忆冲突 |
| 虚拟偶像与宠物 | 成长与自主性 | Character,少量World | 成长沦为换台词、性格被玩家同化 |
| 模拟人生 | 社会系统与事件传播 | World + 大量Character | 调用成本失控、行为前后不一致 |
| 游戏大模型 | 分工、接口与边界 | 三层的调度与仲裁 | 角色串味、状态不一致 |
这张表可以横着读,也可以竖着读。横着读,每个方向的重心确实不同:互动电影盯着“接下来允许发生什么”,陪伴角色盯着“第五百次对话还像不像同一个人”,宠物和偶像盯着“变化是不是来自长期经历而不是随机数”,模拟人生盯着“一件事怎样从一个人传到一群人”。竖着读,出错点几乎都能追溯到三层中某一层的状态没有被正确维护,这正是把它们放进同一体系的技术理由。
举例:一句玩家输入怎样穿过三层
举一个示意场景。玩家在某个互动剧情里输入:“今晚的宴会我不去了,回房间睡觉。”我们设想的处理顺序大致如下。
- 意图理解:这是“缺席宴会”,而不是“休息”这种无后果动作。
- World层查询:宴会在今晚发生,有哪些人物出席,谁会注意到玩家缺席。
- Character层检索:与宴会相关的角色对玩家的关系与期待,比如某位角色原本想在宴会上找玩家谈话。
- Narrative层判断:宴会上有一个关键节点,玩家不在场时由谁替代,还是让节点延后。
- 生成表达:把上面的结果写成第二天早晨的场景与对话。
- 写回:宴会事件、缺席事件、被影响的关系变化,都写入事件流。
换成陪伴角色,第3步的比重最大;换成模拟人生,第2步和大量角色的并行更新更重要。骨架相同,读写的轻重不同。对角色内部怎样一步步处理输入,可以进一步看大发娱乐官网的AI角色工作流,那篇把每一个环节的输入、输出和出错点逐项拆开。
共享底层的代价,以及我们不打算共享的东西
统一体系不是免费的,至少有三笔成本。
- 数据格式要统一。 事件、关系、记忆条目必须有共同的字段和含义,否则“共享”就只是口号。这会拖慢单个玩法的上手速度。
- 校验要统一。 一旦某个方向允许模型随意改写状态,错误就会沿着事件流扩散到其他方向。所以状态的写入必须经过规则校验,这一点我们在为什么不追求完全自由生成里专门谈过。
- 隐私与边界要分清。 共享的是结构,不是不加区分的全部内容。哪些经历可以跨玩法读取、是否用于陪伴角色的记忆,应当有明确的开关,用户始终能查看、编辑、删除记忆,也能调整角色的主动频率与关系强度。
有几样东西我们明确不共享。角色的人格锚点不随玩法漂移:陪伴里温和的角色,不会因为进入剧情模式就突然变得冷酷。不同玩家之间的状态严格隔离,一个玩家的经历不应出现在另一个玩家的角色记忆里。示意用的数字和场景,也不代表任何已经统计出来的结果。
与“一个大模型包办”的区别
有人会问,既然底层是共享的,是否交给一个足够强的大模型统一处理就行。我们的判断是不行,至少不应该这样设计。一个模型同时扮演所有角色、同时充当导演、同时裁判规则,会出现角色串味、规则被顺手改写、前后状态不一致这类问题。更合理的做法是按职责分工:人物由Character Agent负责,剧情节奏由Narrative Director负责,世界规则与事件结算由World侧负责,长期状态由记忆系统保存,再由一个仲裁环节处理冲突。这部分分工的细节,可以看Character Agent与Director的分工。
栏目为什么这样排,而不是按热点排
官网的栏目顺序也跟着底层走。互动剧情放在最前,因为它最直接地展示“玩家输入如何变成有后果的事件”;虚拟角色紧随其后,因为它把同一批事件沉淀成长期记忆与关系;偶像与宠物在此基础上加入成长曲线与自主性;模拟人生则把视角从单个人物拉到一整个社会;AI大模型栏目负责解释这些能力背后的分工与接口。
这样排有一个朴素的理由:读者沿着栏目走一遍,等于把状态从“一个选择”一路放大到“一个社会”,每往前一步只多引入一层新概念。如果按当下流行什么就先写什么来排,读者会在每个栏目里重新学习一遍同样的底层,而我们也就很难解释,为什么一件事能在几个玩法之间保持一致。
读这个体系的一个简单办法
如果只想用一句话理解官网的结构,可以这样问:这个玩法在读写哪几层?互动电影主要在Narrative与World上落笔,陪伴角色主要在Character上落笔,宠物与偶像在Character上加了一条随时间成长的曲线,模拟人生则把World上的事件传播和大量Character的并行放到了台前。
栏目会继续增加,玩法也会变化,但只要回到那五个问题,也就是这个人是谁、记得什么、世界现在什么样、刚发生了什么、彼此关系如何,就能判断一个新的玩法是否真的接在了这个体系里,而不是又长出一个孤岛。