车子驶出沈家所在的老式家属院,窗外的路灯一盏接一盏往后退,车厢里安静得能听见空调出风口的轻响。沈星苒靠在副驾上,手里还捏着刚才沈毅硬塞给她的一小袋橘子,指尖在袋子边缘无意识地摩挲。
许琛开车不快,一只手搭在方向盘上,另一只手撑着车窗,眼神落在前方的红绿灯上。
“钱伯伯今天那番话。”沈星苒开口,声音在密闭的车厢里显得格外清晰,“你想清楚要怎么接了?”
“大概有个方向。”许琛应了一声,没多说。
沈星苒转过头看他,路灯的光斜斜切过她的侧脸,把她眼底那点认真照得很清楚。“许琛,我觉得他今天要看的,不只是一个游戏项目那么简单。”
许琛这时正好遇上一个红灯,车缓缓停下来,他侧过头看她,没接话,等她往下说。
“你想想。”沈星苒手指轻轻点了点膝盖上的橘子袋,像是在理思路,“区域性算力调度中心这种项目,科技部要审的东西太多了,产业带动性、持续需求量、技术创新度,这些都不是一个爆款游戏能撑起来的。他们要的是一套能长期运转、能不断产生新算力需求的底层逻辑,游戏只是这套逻辑露在外头的一小截。”
许琛的手指在方向盘上轻轻敲了两下,这是他这些天想事情时候的习惯动作,顾有文见过好几回,只是沈星苒还是头一次注意到。
“你说得对。”他说得很慢,像是把心里那点还没完全成型的东西一点点摆出来给她看,“游戏本身只是个壳子,真正值钱的东西藏在壳子底下。”
红灯还有二十多秒,许琛索性把车停稳了,转过身,眼睛正对着她。
“我要做的核心,是一套预测模型。”他说,“互动影游的每一次用户选择,本质上都是在给系统喂数据——这个人在什么样的心理状态下,会做出什么样的决策,面对道德困境,面对利益取舍,面对情感抉择,不同性格、不同背景的用户,选择路径完全不一样。这些数据积累到一定规模,就能反推出一套用户行为的预测模型。”
沈星苒的呼吸轻轻顿了一下,袋子里的橘子随着她坐直的动作发出细小的摩擦声。
“预测模型能干什么?”她追问,眼睛里那点亮意藏不住了。
“往小了说,能优化内容,能精准定价,能提前判断一个剧本、一个角色能不能火。”许琛的声音沉下去一些,“往大了说,任何需要预测人类行为决策的领域,金融风控、消费预测、社会治理的舆情研判,这套模型都能套。游戏只是最容易积累数据、成本最低的那个入口。”
沈星苒没说话,盯着他看了两秒,忽然笑了一下,那笑意从眼角先漾开,带着点她自己都没察觉的兴奋。
“难怪钱伯伯会说,你的项目能覆盖内容产业对算力的所有需求形态。”她低声说,像是自己想通了一件事,“爆发式的渲染需求,持续式的模型训练需求,这两样凑一块儿,确实是完整的产业闭环。”
“你反应挺快。”许琛看着她,眼底那点认真淡下去一点,多了点别的东西。
“我可是年级第一。”沈星苒别过脸,嘴角却没压住地往上翘了翘,耳根悄悄红了一点,在昏黄的路灯光下不算太明显,却也没能完全藏住。
后头有车轻轻按了一声喇叭,提醒绿灯已经亮了。许琛收回视线,重新握好方向盘,车缓缓往前开。车厢里安静了几秒,只有轮胎压过路面接缝的轻微颠簸。
沈星苒的头发被空调风吹得有点乱,一缕碎发贴在耳侧,她伸手想拨开,却因为怀里还抱着那袋橘子,腾不出手来,动作僵在半空。
许琛正好瞥见,趁着车速不快,伸出一只手,替她把那缕碎发别到耳后。指腹擦过她耳廓的时候动作很轻,像是怕碰坏什么精细的东西。
沈星苒整个人僵住,连呼吸都放轻了,眼睛却没躲,就那么直直看着他。车厢里的空调声突然变得很清楚,她能听见自己心口那阵不规律的闷跳。
许琛的手落回方向盘上,眼睛盯着前方的路,语气却平淡得像什么都没发生。“碎发挡着眼睛,看不清路牌。”
“……嗯。”沈星苒低下头,把橘子袋子往怀里又收紧了一点,没再说话,车厢里剩下的十几分钟,两人都没再开口,只是那点没说破的暧昧,顺着空调风,在狭窄的车厢里飘了一路。
——
第二天清晨,许琛没有绕路,直接把车开到梦工厂,推门进控制室的时候,顾有文正对着主屏幕上那张密密麻麻的分支架构图,两只手插进头发里薅得凌乱,眼底一片青黑,桌上摆着三个咖啡杯,全是空的。
“许总。”顾有文听见脚步声,回头看了一眼,声音沙哑,像是熬了通宵,“来得正好,我正犯愁呢。”
许琛在他身边站定,视线扫过屏幕上那张网络似的图,分支线密密麻麻交织在一起,每一个节点都标着不同的编号。“什么情况?”
“隐藏结局那套逻辑加进来之后,分支数量直接翻了三倍不止。”顾有文指着屏幕上一处密集打结的区域,“苏姐那边的重录方案我们估算过了,按传统的穷举法,把所有分支的画面全都实拍加渲染出来,别说中科院那点临时借来的算力,就是给我们一整个专属集群,也跑不完。”
“时间不够?”
“不是时间不够,是根本不可能。”顾有文往后靠在椅背上,揉了揉眼睛,“光是C人格那条线里,隐藏结局涉及的三个前置选择组合,交叉起来能拆出十七种边缘剧情,每一种都得单独拍、单独渲染,苏姐一个人,身体撑不住,时间也撑不住。”
许琛没说话,双手环胸站在操作台边,眼睛盯着屏幕上那张网,脑子里飞快地过了一遍这些天推演出的思路。
“调出烛龙引擎底层那个AI实时演算模块。”他忽然开口。
顾有文愣了一下,转头看他:“那个……许总,那个模块还没公开过,一直压在底层没动,行业里现在的AI生成技术,逻辑断层的问题特别严重,恐怖谷效应也躲不开,稍微处理不好,人物动作和表情一僵一顿,观众一眼就能看出来是假的,容易直接翻车。”
“我知道风险。”许琛的语气很平,没有半点犹豫的意思,“把苏晚亭现有的全部影像和动捕数据,包括之前没用上的废弃素材,全都投喂进去,让系统自主学习,实时生成那些没录制过的分支画面。”
顾有文张了张嘴,还想再说点什么,可看着许琛的眼神,那种不容商量的沉静,到嘴边的话又咽了回去。他知道这位老板一旦拿定主意,再多的顾虑摆出来也没用,只能咬着牙点头。
“行。”他转过身,手指飞快地在键盘上敲起来,“数据量太大,导入过程可能要一段时间,您坐会儿。”
控制室的服务器机柜靠墙一排,平时只有低沉的嗡鸣,这会儿随着数据开始导入,风扇转速肉眼可见地往上蹿,声音一点点变得刺耳,像是有什么东西在里头憋着劲儿使劲跑。
许琛没坐,就那么站在操作台边,双手环胸,呼吸很平稳,眼睛盯着屏幕上不断跳动的进度条。顾有文坐在椅子上,手指在鼠标和键盘间来回切换,时不时打开一个监控窗口,盯着数据流的走向,眉头拧得死紧。
“数据量太大了。”顾有文低声嘀咕了一句,像是在自言自语,“苏姐这几周的动捕素材加起来,光是原始文件就有小两百个G,还得算上表情捕捉的细节数据……”
“撑得住吗?”许琛问。
“撑不住也得撑。”顾有文苦笑了一下,手指没停,“许总,我跟您说实话,这个模块我们内部测试过几次,最好的一次结果也就是‘勉强能看’,离‘能用’还差着一截,这次直接拿真实项目试,万一炸了……”
“炸了就重来。”许琛打断他,语气里没有火气,只是一种笃定,“但我信你这套底层算法,烛龙引擎不是白造的。”
顾有文抬头看了他一眼,没再说什么,重新低下头盯着屏幕,手指在键盘上敲得更快了。
控制室里的空气有种说不出的紧绷,风扇的轰鸣声压过了所有对话,连墙角那台老式打印机偶尔发出的“咔哒”声都被盖了下去。许琛靠在操作台边,目光落在主屏幕右下角那个不断滚动的进度百分比上,从百分之三十一路涨到百分之七十,数字每往上跳一格,顾有文的呼吸就跟着紧一分。
“数据导入完成。”顾有文的声音有点发紧,“开始演算了。”
屏幕上原本密密麻麻的分支线突然全部暗下去,只剩中间一个光点在闪烁,像是系统在自己的底层跑一套谁都看不见的逻辑,把苏晚亭这些天在动捕棚里留下的每一个表情、每一次呼吸、每一个下意识的小动作,全都拆解、重组、再演算出新的可能。
许琛没催,顾有文也没再多说话,两人就那么盯着那个闪烁的光点,谁都没开口。
时间一分一秒地过去,控制室的风扇声一直没停过,机柜的散热口不断往外吐着热气,把这间本就不大的屋子烘得有点闷。顾有文中途起身开了一次窗,让外头的凉风灌进来一点,回来的时候,那个光点还在闪。
“十五分钟了。”顾有文看了眼表,声音压得很低,像是怕打扰到什么,“正常情况下,这种级别的演算,五分钟就该出结果了。”
“再等等。”许琛没动,眼睛还盯着屏幕。
又过了几分钟,主屏幕突然“唰”地一下亮起来,原本暗下去的分支线重新铺展开,中间那个光点炸开,变成一片密密麻麻的画面缩略图,一格一格地铺满整个屏幕。
“出来了!”顾有文猛地坐直身子,手指颤了一下,点开了其中最靠中间的一个缩略图。
画面放大,是C人格那条线里的一段边缘剧情,苏晚亭饰演的角色站在一间狭窄的房间里,背对镜头,肩膀微微一沉,像是被什么情绪压住了呼吸,她转过身的时候,眼角还带着一点没干透的水光,衣角随着转身的动作轻轻扬起,又自然地垂落下去,没有半点凝滞的痕迹。
顾有文的手停在鼠标上,没动。
这段戏,苏晚亭根本没演过。
“许总……”他的声音有点发抖,“这段是隐藏结局第七个节点前的过渡剧情,苏姐压根没录过这一段,这是系统自己生成的。”
许琛走近两步,凑到屏幕前,眼睛一寸寸扫过那个画面。
那个AI生成的苏晚亭,眼神流转的方式,跟她本人在动捕棚里那种细微的习惯几乎分毫不差——她每次情绪压抑到极点的时候,总习惯先看向左下方,停顿半秒,再抬眼直视对方,这是她自己都没意识到的下意识小动作,可屏幕上这段完全没录制过的画面,精准地复刻了这个细节。
“再看下一段。”许琛的声音有点绷紧。
顾有文赶紧点开另一个缩略图,是A人格在被逼到墙角时的一段反应戏,角色的手指从伸直到蜷缩,力度的变化、指节的角度,连带着呼吸急促时肩膀的起伏幅度,全都严丝合缝,没有哪怕一帧出现动作断裂或者表情僵硬的问题。
顾有文一个接一个地点开画面,C人格独占身体后的第一次照镜子,B人格在共存结局里那种既解脱又痛苦的复杂神情,还有几段之前从没设计过、系统自己根据心理逻辑衍生出来的过渡剧情——每一段都流畅得像是苏晚亭亲自演的,甚至有几处细节的处理,比她本人在动捕棚里实拍的还要精准。
控制室里安静下来,风扇声还在响,可两个人都没再说话。
顾有文的手指悬在鼠标上,半天没动,他盯着屏幕,喉咙动了动,像是想说什么,又觉得任何语言都配不上眼前这一幕。
“这不可能。”他终于开口,声音干得发涩,“许总,这套算法……这已经不是‘能用’了,这是真正意义上的实时生成,一千个玩家能跑出一千种完全不同的、逻辑自洽的结局,这在整个行业里,压根没人做到过。”
许琛没有立刻回答,他盯着屏幕上那些不断刷新的画面缩略图,紧绷了一整个上午的下颌线,这会儿终于松了一点。
“技术壁垒。”他低声重复了一遍这四个字,像是在确认什么,“这次是真的立起来了。”
顾有文这会儿才后知后觉地反应过来,自己刚才手心里全是汗,他在裤子上蹭了蹭,又看了眼屏幕,忍不住又点开了一段C人格独占身体后的画面,反反复复看了三遍,越看越觉得后背发凉——不是因为画面里的内容,而是因为这套技术展现出的可能性,已经超出了他原本对“AI生成”这四个字的所有认知。
许琛伸手,在操作台边缘敲了两下。
“把这个模块的日志全部封存。”他说,语气恢复了平常那种不带情绪的沉稳,“今天演算的所有原始数据、生成记录,单独拷贝一份,加密存放,谁都不能碰,包括顾有文你自己团队的其他人,权限我一会儿重新分配。”
“明白。”顾有文没多问,立刻转身操作起来,手指在键盘上敲得飞快,几个窗口一层层弹出又关闭,最后屏幕上跳出一行加密确认的提示。
许琛站在原地,眼睛还落在那张重新暗下去的分支架构图上,脑子里却已经飘远了。
这套算法今天展现出的东西,远远不止是补全一部互动影游的分支画面这么简单。它能精准复刻一个人的微表情习惯,能根据有限的数据自主演算出符合逻辑的连贯反应,这意味着,只要投喂足够的数据,它能模拟出的,绝不止是苏晚亭这一个演员的表演逻辑。
沈星苒昨晚在车上说的那句话,这会儿又在他脑子里过了一遍——预测模型,能反推出用户行为的决策逻辑。
而眼前这套系统,展现出的能力,恰好是反过来的另一半:它能根据有限的行为数据,反推出一个人在未知情境下,会做出的、逻辑自洽的完整反应。
这两套逻辑要是能拼到一起……
许琛的呼吸顿了一下,眼底那点算计的意味淡下去,又很快沉了回去,像是把这个念头暂时压在心里最深的地方,没打算现在就摊开说。
“许总?”顾有文封存完日志,回头看他,发现他站在那儿半天没动,忍不住出声唤了一句。
“没事。”许琛回过神,眼神重新落回屏幕上,语气恢复了平时那种利落,“这个模块的成果,今天之内不许对外提一个字,包括苏晚亭那边,只告诉她隐藏结局的过渡剧情已经解决了,不需要她额外补录。”