首页 / 问鼎娱乐虚拟世界
问鼎娱乐虚拟世界

问鼎娱乐虚拟世界:AI生成世界与持续运行技术

从"能不能生成一个场景",到"能不能生成一个记得住自己的世界"。

World Model Persistent World World State Consistency
核心概念

在问鼎娱乐虚拟世界的语境里,AI虚拟世界指的不是一段可以互动的视频,而是一套能够持续运行、持续记住自己曾经发生过什么的空间系统。它的生成方式,通常依赖一个World Model——一种被训练用来预测下一帧画面、下一段地形、下一个物体应该如何存在的模型——根据玩家的移动和交互,实时推算出眼前应该出现什么,这就是所谓的实时世界生成:不是提前把整张地图画好摆在硬盘里,而是边走边算、边算边显,画面随着玩家的脚步逐帧展开。但只会往前生成是不够的,一个只会生成、不会记忆的世界,本质上和一段单向播放的动画没有太大区别,这也是AI世界最容易被忽略的短板:模型每次推算新画面时,如果没有额外的机制提醒它"这扇门刚才被打开过""那把椅子刚才被撞倒了",它就会把这些细节当成从未发生过的空白重新生成一遍,这正是我们常说的AI世界会忘记东西。要避免这种遗忘,世界就需要一层独立于画面生成之外的State——也就是World State,用来记录每一个物体、每一扇门、每一盏灯此刻真实的状态,再把这些状态回传给生成过程作为依据。能够把这套状态持续保留下来、跨越玩家的登出与再次进入依然成立的世界,就是Persistent World,持续世界。这也是AI世界与普通游戏最根本的区别:普通游戏的每一处场景往往是美术师手工摆放、程序员手工写好物理规则的确定性产物,而AI世界的场景是被模型实时推算出来的概率性产物,画面好看与否只是及格线,记不记得住才是能不能被称为"世界"的分水岭。

原创长文

问鼎娱乐虚拟世界三篇核心专题

问鼎娱乐虚拟世界已经能够不断生成地图以后,为什么"无限大"仍然不是评价一个AI世界最有价值的指标?

Meaningful StateDensityPersistence

"无限大"这个词在AI虚拟世界的宣传语境里出现的频率越来越高,几乎成了衡量一个世界是否先进的默认标签。但作为长期和World Model打交道的世界系统设计者,我更愿意先泼一盆冷水:让生成过程不停止,恰恰是这一代技术里最容易实现的部分之一,远没有听上去那么值得夸耀。

原因不难理解。只要World Model具备根据边界坐标预测下一块地形的能力,你几乎可以让它无限地往外推:草地接着草地,山脉接着山脉,只要没有人为设置终止条件,它就会一直算下去。从工程角度看,扩张地图边界几乎不需要额外的设计投入,模型的推算范围本身也没有物理限制——这意味着"地图有多大"这件事,正在迅速从一个技术难题变成一个几乎不需要努力就能达成的默认值。

真正难的问题从来不在边界能不能再往外挪一公里,而在于玩家走进一片新生成的区域后,第一反应问的是"这里有什么值得记住的东西",而不是"这里有多大"。一片占地一万平方米却空无一物的荒原,和一间占地五十平方米、但摆着一张压着字条的桌子、一扇可以被推开的柜门、一个会因为玩家靠近而转身回应的NPC的房间相比,后者携带的信息密度——也就是Density——远远高于前者,尽管面积相差两百倍。

密度的另一面是持久性。设想一棵倒下的树:如果它只是渲染出来的一堆Mesh,没有被写入World State,那么玩家绕到树后面、离开视野、五分钟后再走回来,这棵树完全可能已经"重新站起来"了,因为World Model在重新生成这一帧画面时,没有任何依据知道它此刻应该继续保持倒下的姿态,只能按照自己认为的"默认样子"重新画一遍。

同样的问题也出现在NPC和任务系统上。一个刚刚被玩家击退的强盗、一个刚刚被接下的委托,如果没有被记录进一层持续存在的State Layer,那么下一次这片区域被重新生成时,强盗有可能若无其事地站在原地,任务的进度条也可能凭空回到起点。玩家看到的不是一个记得住事情的世界,而是一个每次见面都在重新自我介绍的陌生人。

从这个角度看,"无限大"其实是把成本转嫁给了别处:地图边界的扩张几乎是免费的,但让每一块被生成出来的空间都携带值得记住的东西,才是真正消耗设计精力、计算资源和存储成本的部分。这也是问鼎娱乐虚拟世界团队在权衡Persistent World设计优先级时反复强调的一点:不是往外铺得更远,而是往里填得更实。

一个只追求"无限大"的世界,很容易演变成装饰性的空旷:地形起伏得当,光影足够漂亮,天气系统一应俱全,但玩家走上十分钟也遇不到一件可以被记住的物品或事件。这种世界给人的感觉更像是走进一座关了灯、也没有工作人员的巨大展厅,好看,但和你没什么关系,也不会因为你来过而有任何不同。

所以评价一个AI世界,更值得追问的问题应该换一个角度:这片刚生成出来的区域里,有多少个物体拥有独立的Object State?有多少NPC的行为会因为玩家上一次的选择而发生变化?有多少细节能在玩家离开、绕路、再返回之后依然保持原样?地图边界往外挪了一公里,和地图内部多出一百个可交互、可持久化的物体,这两件事对"世界感"的贡献完全不在同一个量级上,前者是数字游戏,后者才是真正的工程难题。

问鼎娱乐虚拟世界在推进实时生成能力的同时,始终把State的密度当作衡量地图质量的核心维度,而不是可有可无的附属项。因为一个玩家愿意反复回来的世界,靠的从来不是走不到尽头的地平线,而是他清楚地知道,只要愿意往前走、愿意回头看,这个世界大概率还记得他上一次做过什么、留下过什么、改变过什么。

问鼎娱乐虚拟世界保存玩家房屋以后,为什么真正要保存的不只是Mesh,而是门、灯、家具和物品分别处于什么状态?

Object StatePhysicsCollision

玩家第一次装修完自己的房屋、退出游戏、几天后再次回来,最基本的期待其实只有一条:一切都还是离开时的样子。这句话听起来像是常识,但落到AI世界的实现层面,它其实是一个相当挑剔的工程要求,也是问鼎娱乐虚拟世界团队在做Persistent World时投入最多细节打磨的一块。

早期很多人对"保存房屋"的理解,停留在保存一份场景的Mesh快照:把墙壁、地板、家具的几何形状和贴图记录下来,下次加载时原样摆回去。这套思路在传统Game Engine里勉强够用,因为传统游戏的场景状态本身是有限的、离散的,程序员可以提前枚举出每一个可能发生变化的变量,写死在存档结构里。

但依赖World Model做实时生成的系统情况完全不同:房屋内部的每一次呈现,都是模型根据当前状态重新推算出来的画面。如果保存下来的只是最初摆放家具时的几何数据,模型在下一次渲染这间房子时,唯一能参考的就是"这间房子长什么样",而不知道"这间房子现在是什么状态",两者之间的差距,正是玩家会不会觉得"这不对劲"的分界线。

先看最简单的例子,一扇门。它至少携带三种可能相互独立的状态:开着还是关着、锁着还是没锁、门轴有没有因为被撞而卡住变形。这几种状态互不包含,缺任何一个都会让玩家产生"这不是我离开时的那间房子"的违和感,哪怕墙壁和地板一模一样。

灯的情况更微妙:开关状态、亮度、色温,甚至玩家有没有换过灯罩的颜色,这些如果没有写进State Layer,World Model在重新生成这盏灯所在的角落时,很可能会按照它认为"最常见"的样子去渲染,于是玩家看到的是一盏被悄悄重置过的灯,明明没有人动过它,它却好像被人动过了。

家具的问题则更接近Physics和Collision的范畴:一张被玩家挪动过位置的桌子,它的坐标本身就是一种需要被保存的状态,如果没有持久化,下一次加载时它极有可能回到出厂摆放的原始坐标;而这张桌子占据的空间又直接影响NavMesh的导航路径计算,一旦坐标对不上,轻则出现穿模,重则NPC的寻路逻辑在这里直接失败。

物品层面的状态则包括归属、耐久度、使用次数:一把被玩家反复使用、留下磨损痕迹的椅子,和一把从没被碰过的全新椅子,如果只保存Mesh,两者在数据层面毫无区别,玩家亲手留下的使用痕迹也就无从谈起,长期居住的痕迹感也会随之消失。

储物类家具还牵出一层更麻烦的嵌套状态:一个衣柜本身有开关状态,衣柜里摆放的物品又各自有自己的坐标和归属,这两层状态必须被绑定在一起保存。如果只记录了衣柜本身开着还是关着,却漏掉了柜子里物品的排列顺序,玩家打开柜门看到的可能是一堆物品胡乱堆叠,甚至凭空少了几件,这种因为漏保存了一层嵌套关系而出的问题,往往比一扇门忘了关更隐蔽,也更难在测试阶段被单独发现。

把这些颗粒度的状态全部记录下来,意味着一间房屋的存档不再是一份场景快照,而是一张由无数个独立Object State拼成的清单:每一件家具、每一扇门、每一盏灯都要单独占一条记录,各自独立读写。这直接抬高了存储结构和数据同步的复杂度,也是为什么"保存房屋"这件事听起来简单,做起来却是个不折不扣的体力活。

问鼎娱乐虚拟世界在设计房屋系统的持久化逻辑时,把这套颗粒度当成基本假设而不是可选项:一间被记住的房子,记住的不是它长什么样,而是它此刻正处于什么状态。这也是判断一个AI世界的"持久化"是不是名副其实的最直接的办法——回去看看那扇门,离开时是开着的,回来时还是不是开着的,答案骗不了人。

问鼎娱乐虚拟世界使用World Model以后,为什么长时间Consistency会比前30秒的画质更值得测试?

ConsistencyWorld ModelNavMesh

几乎所有用World Model生成的演示视频,都会把最好的三十秒放在最前面:光影通透,材质细腻,镜头一转就是一片崭新的地形。这类片段确实能说明模型的画质上限,但它回答不了一个更关键的问题——这个世界能不能撑过第三十一秒之后的一百次交互,能不能在玩家反复进出之后依然是原来的样子。

短片段之所以容易好看,某种程度上是一种"低难度"成绩:镜头运动是连续的,场景切换是单向的,玩家几乎不会走回头路,模型只需要不断往前预测,不需要回答任何关于"这里之前是什么样"的问题,出错的空间本来就很小。真正的挑战,恰恰出现在镜头往回走的那一刻。

真正能暴露问题的测试场景反而朴素得多:让玩家在一个房间里挪动一把椅子,转身走到隔壁房间,做点别的事情,五分钟后再走回来。这五分钟里模型完全没有必要重新渲染那把椅子所在的空间,但它必须在被要求重新渲染时,把那把椅子摆在玩家离开前的位置、离开前的朝向,一厘米都不能含糊。

长时间运行后最容易出现、也最难被察觉的问题,是物体的"悄悄变形":一扇原本是木质的门,几十次帧生成之后颜色悄悄偏了色调;一件挂在墙上的画,位置在多次生成之间漂移了几十厘米。这些变化通常不会在单帧画面里显得突兀,只有把两次访问同一空间的画面并排对比,才能看出模型其实是在悄悄"重新解释"这个世界,而不是在"记住"它,这是一种比画面卡顿更隐蔽、也更危险的失真。

这类问题之所以难测,是因为它不出现在单个Frame的质量上,而出现在跨越大量Frame、跨越玩家离开又返回的时间跨度里:测试团队需要专门设计回访路径,记录下每一次生成前的World State快照,再和玩家实际看到的画面逐项比对,任何一项不吻合都要被记录为一次Consistency失败,而不能简单地归为一次画面小瑕疵敷衍过去。

一致性问题也不只是视觉层面的,它还会连累物理系统:如果一段走廊在两次生成之间宽度发生了几厘米的漂移,原本能顺畅通过的NavMesh路径可能突然触发Collision判定,NPC的寻路逻辑会因此卡死在一个此前从没出过问题的位置。这类故障排查起来格外棘手,因为团队往往会先怀疑Physics或者NavMesh本身的问题,最后才发现根源出在World Model对同一空间的两次生成结果并不一致。

这也是为什么问鼎娱乐虚拟世界在评估World Model迭代版本时,把"离开再返回"设计成一项常规回归测试,而不是偶尔才做的体验反馈:每一次模型更新之后,都要让测试角色反复在若干标记房间之间往返,记录下每件物品、每扇门、每盏灯在多次生成中的状态漂移量,漂移量本身就是比帧率、比材质精度更能说明问题的核心指标。

对玩家来说,这种一致性带来的感受其实很朴素:他们很少会主动夸一个世界"记性好",但一旦某天回到自己熟悉的房间,发现桌子挪了位置、灯光变了颜色,这种违和感会立刻打破沉浸感,而且很难靠更高的画质补救回来——因为问题根本不在画面好不好看,而在这个世界还认不认得自己,认不认得玩家曾经在这里做过什么。

所以对问鼎娱乐虚拟世界而言,评价一次World Model迭代是否真正进步,前三十秒的演示画面只是入场券,真正决定这套技术能不能被称为"世界"、而不是"一段很长的动画"的,是它能不能在几十次、几百次的往返穿梭之后,依然记得每一个角落此刻应该是什么样子。

问鼎娱乐虚拟世界Frame画面与Persistent World状态区别示意图
Frame vs Persistent World
问鼎娱乐虚拟世界State多层结构示意图
World State 分层结构
问鼎娱乐虚拟世界房屋门窗物体状态持久化流程图
Object Persistence 案例

相关方向

问鼎娱乐AI 深入讨论World Model与实时生成技术;问鼎娱乐App 介绍如何在产品中保存和管理World State;问鼎娱乐元宇宙 讨论多人共享同一份持续世界状态的技术路径。

↑