六月十五日。凌晨。
奇迹游戏工作室三楼的作战室里,所有日光灯管被关掉了,只剩下正面那块三米宽的LED大屏和两侧六台辅助显示器的光,把整个房间浸成一种深蓝偏冷的色调。
温韵诗站在大屏正前方两米的位置,双手交叉抱在胸前,脊背挺得笔直。她今天穿了一件黑色高领针织衫,头发用一根深色发圈扎成低马尾,全部拢到左肩前侧,露出右耳上方一小截剃短的鬓角。那是她大学时期留下的习惯——每逢重大项目节点,她习惯把右耳完全露出来,说是这样能听得更清楚。
大屏被切成了三个区域。
左侧三分之一是实时销量看板,深色底板上排列着白色数字,“PC端”“主机端”“国区”“北美区”“欧洲区”“亚太区”六行数据通道此刻全部归零,等待午夜十二点的闸口开启。每一行数字的右侧有一根细细的进度条,像心电图的基线,平直地躺在那儿,没有任何波动。
中间三分之一是服务器负载仪表盘。十六个圆形表盘呈四乘四阵列排布,指针全部压在绿色安全区的底部。每个表盘下方标注着不同区域节点的名称——“国区-华东”“国区-华南”“北美-西海岸”“欧洲-法兰克福”——温韵诗让技术组提前四十八小时做了一轮满载压力测试,所有节点的承载上限被拉到了理论峰值的两倍。她不信任“应该没问题”这种说法。
右侧三分之一是全球社交媒体舆情热词云图,实时抓取各平台上与“古墓”“国产3A”“奇迹游戏”相关的关键词。此刻云图上漂浮着几十个大小不一的词块——“期待”“今晚”“零点”“马总直播”“倒计时”——颜色从浅蓝到深蓝,代表不同的讨论热度。
温韵诗的目光从左到右缓缓扫过一遍,然后停在中间的服务器仪表盘上。
“技术组。”她开口,声音不大,但在安静的作战室里传得很远。
角落里一排工位后面探出三颗脑袋,键盘声停了一拍。
“CDN节点全部上线了?”
“上了,温姐。十六个节点全部就位,备用节点三个待命。”
“支付通道呢?”
“国区走微信和支付宝双通道,接口已经做了负载均衡。海外走Steam和主机商店各自的支付体系,我们这边管不了。”
温韵诗的眉毛压了一下。“管不了的事先放着,管得了的再查一遍。”
“温姐,查了三遍了……”
“查第四遍。”
几颗脑袋缩回去了,键盘声重新响起来。
作战室里一共二十七个人,分布在三排工位上。策划组、技术组、运营组、客服组各占一排,中间的过道上散落着几箱没拆封的矿泉水和一大袋子面包。有人在啃三明治,有人在喝第三杯咖啡,有人抱着膝盖缩在转椅里闭目养神——但没有人离开。
今晚没有人会离开。
温韵诗再次确认了一遍大屏上的时钟。
23:41:22。
还有十八分三十八秒。
她的目光从时钟上移开,落到作战室最后一排的角落。
许琛坐在那里。
他搬了一把折叠椅塞在最后面的墙角,身体半陷在椅子里,双腿交叠搁在前面空着的工位桌面上,手里端着一个纸杯,杯子里是凉透了的速溶咖啡。他穿着一件黑色圆领卫衣,帽子没扣,头发有点乱,左边太阳穴的位置有一小绺翘起来的碎发,在屏幕的蓝光下泛着微弱的轮廓。
他没有看大屏。
他在看手机。
手机屏幕上是天讯官方直播平台的后台推流面板。画面分成了两半——左边是俯拍机位的预览窗口,拍到的是一张桌面,桌上放着手柄、键盘、两罐红牛和一包还没撕开的辣条,辣条是那种小卖部里一块钱一包的麻辣味;右边是正面机位的预览窗口,画面里坐着一个中年男人。
马文龙。
他今天的打扮和任何一个凌晨还蹲在网吧里的大龄玩家没有区别。一件灰色T恤,洗过太多次了,领口松垮垮地耷拉着,右肩的位置有一小块起了球的毛团,在棚灯下毛茸茸的。下半身是一条深蓝色运动裤,裤脚卷了一截上去,露出一双灰白色的棉袜和一双踩得变形的室内拖鞋。
他的耳麦歪戴着——左耳那边的罩子卡在正确的位置,右耳那边滑到了太阳穴上方,像一只长歪了的角。他自己没意识到,正分神去调桌面上那根不听话的耳麦线,线缠在红牛罐子底下,他扯了两下没扯动,索性不管了。
许琛盯着手机里那个画面看了几秒,嘴角往上挑了一下,又压回去。
他退出直播后台,打开微信。
温韵诗的对话框里最后一条消息是她十分钟前发的:“直播间预热倒计时已投放,所有平台同步推送完毕。”
许琛没有回复那条消息。他往上翻了一屏,找到昨晚温韵诗发给他的那张马文龙研究摄像头的照片,又看了一眼。
照片里的马文龙眉头拧成一团,歪着脑袋打量两百块钱的USB摄像头的样子,比他在任何商业杂志封面上的形象都要真实一百倍。
许琛锁了屏,把手机扣在桌面上,端起纸杯喝了一口凉咖啡。
咖啡已经完全冷了,入口发苦发涩,速溶粉的颗粒没有完全溶化,在舌面上磨了一下。他皱了皱鼻子,把杯子丢进桌脚旁的垃圾桶里。
“许总。”
温韵诗的声音从前面传过来,没有回头。
“嗯。”
“直播间开始预热了。”
许琛重新拿起手机,切到直播平台的前台页面。
天讯官方直播间的封面是一张极简的黑底海报——画面正中央是女主角林溯的侧脸剪影,背景是一座被云雾笼罩的荒岛,右下角写着“6.15 00:00全球首发”,字体很小,小到得眯着眼才看得清。
但封面下方的在线人数已经开始跳了。
许琛点进去的时候,显示的数字是一百四十七万。他盯着那个数字看了三秒,数字变成了一百五十二万。再过两秒,一百五十八万。
弹幕已经疯了。
屏幕上密密麻麻的文字从右往左飞速滚过,速度快到根本看不清单条内容,只能捕捉到偶尔闪过的几个关键词——“来了来了”“蹲一晚上了”“马总呢”“加载画面好看”“二百九十八我已经付了”。
许琛把弹幕关掉,画面一下子干净了。
直播间里还没有正式内容,只有一个静态的待机画面——游戏的logo在黑色背景上缓缓旋转,底部有一行小字:开播倒计时 00:14:27。
他又切回后台推流面板,看了一眼马文龙。
马文龙在喝水。不是红牛,是一瓶普通的矿泉水,拧开盖子灌了一大口,喉结上下滚了两下。他放下水瓶的时候手腕碰到了耳麦线,线又缠紧了一圈,他低头看了一眼,嘴里嘟囔了句什么,听不清。
旁边有人递过来一张纸——是提词条。马文龙接过去扫了一眼,眉头皱起来,把纸翻了个面,发现背面是空白的,又翻回正面,看了两行字,然后把那张纸随手往桌面上一摊,用红牛罐子压住了一角。
他不打算用提词条。
23:49:11。
作战室的门被推开了,一个运营组的年轻人从外面跑进来,手里抱着一台笔记本电脑,屏幕朝外,上面是一个社交媒体的实时趋势页面。
“温姐!三个话题已经上热搜了!'古墓发售'排第六,'马文龙直播'排第九,'国产3A'排第十二!距离开播还有十分钟!”
温韵诗看了一眼他的屏幕,点了下头。“关注排名变化,每五分钟报一次。”
“好!”年轻人抱着笔记本小跑回自己的工位。
许琛把手机放下,站起来。
折叠椅被他起身的动作带得晃了两下,金属腿在地板上刮出一声轻响。几个靠近后排的员工偏过头看了他一眼,又迅速把目光转回各自的屏幕。
许琛走到温韵诗身旁,在她左后方半步的位置站定。
他比她高出大半个头,站在这个角度能越过她的肩膀看到大屏上所有的数据。
温韵诗察觉到他的存在,没有回头,只是把抱在胸前的双手放下来,右手无意识地捏了捏左手的手腕。
“紧张?”许琛的声音压得很低,只有她能听见。
“不紧张。”温韵诗回答。
“你在捏手腕。”
温韵诗的手指停住了。她把两只手都垂到身侧,手指伸直。
“习惯动作。”
许琛没有拆穿她。
他的目光越过她,落在大屏左侧的销量看板上。六行数字依旧是零。零点旁边的进度条依旧是一条平直的死线。
还有八分钟,这些数字就会开始跳动。
跳到多少——三十万?五十万?一百万?
许琛没有预测。他不喜欢在结果出来之前给自己设定一个数字。数字是死的,预期是活的,一旦设定了预期,结果就只有两种——达到和没达到。他宁可什么都不想,等数字自己跳出来。
但他的心跳比平时快了一点。
不多。快了一点。
23:55:00。
直播间在线人数突破三百二十万。
弹幕已经不是“飞速滚动”可以形容的了。文字像暴雨打在竖起的玻璃窗上,密集到连背景画面都被盖住了。许琛瞟了一眼自己手机上的直播画面,看不到任何有效信息,全是色块和字符的混流。
他打开弹幕密度筛选,把显示量拉到最低。
筛选后的弹幕一秒钟只显示两三条,终于能看清内容了。
“马总真的亲自打?这排面是不是太大了”
“就他那操作水平能过第一关吗”
“建议马总开最低难度别丢人”
“二九八已入,今晚不睡了”
“国产3A我等了二十年”
许琛盯着最后一条弹幕看了两秒。
二十年。
他想到了马文龙在游戏博览会上穿着大裤衩和人字拖排队的样子,想到了那个中年男人被《使徒对决》的AI打得屁滚尿流时嘴里骂骂咧咧的方言,想到了他蹲在奇迹游戏工作室的白板前一笔一划地画碰撞模型时后颈上渗出的汗珠。
23:59:30。
温韵诗的肩膀微微抬起,又落下去,胸腔里的空气被缓慢地挤出来。如果不是站在她身后半步的位置,许琛不会注意到。
作战室里的声音全部消失了。
键盘声停了。嚼东西的声音停了。低语和交谈声停了。二十七个人的目光全部汇聚在大屏左上角的时钟上。
23:59:51。
52。
53。
许琛的手机屏幕上,天讯官方直播间的待机画面消失了。
一片黑屏。
然后——
马文龙出现在镜头里。
正面机位。灯光从他面前的桌面上反射上来,在他鼻梁和颧骨上勾出两道不太均匀的高光。他的耳麦还是歪的,右边的罩子依然卡在太阳穴上,灰色T恤领口那个毛球在灯光下一览无遗。
他对着镜头。
三百二十多万人对着他。
他开口了。
“我跟你们说——”
嗓音偏哑,带着一股子连续醒了太久的干涩味。
“这游戏我测试的时候死了六十三次。”
弹幕刷了一层“哈哈哈哈”。
马文龙没等弹幕停,接着说。
“今天在你们面前再多死几次也不丢人。”
他歪了一下脑袋,那只滑到太阳穴的耳麦罩子晃了晃,差点掉下来。他伸手按住,往下推了推,没推到正确的位置,索性放弃了。
“丢人的是你们花了二百九十八块不来看。”
“哈哈哈哈哈”从屏幕底部像浪一样涌上来,覆盖了整个画面。许琛把弹幕透明度调低了一截,才看见马文龙身后那面灰色的墙壁上歪歪扭扭贴着一张手写的纸条,上面写着“加油”两个字,字迹像是用粗马克笔匆匆画上去的,笔锋毛躁得一塌糊涂。
不知道是谁贴的。
许琛的嘴角弯了一下。
直播间在线人数在马文龙说完那句话后跳了一截——三百二十万变成了三百四十一万,数字还在往上蹦。
零点了。
作战室大屏左上角的时钟翻过了那道线。
00:00:00。
马文龙在镜头那头按下了手柄上的“开始游戏”键。
画面从黑屏切入。
一段CG动画。
暴风雨中的海面,巨浪拍碎在锈迹斑斑的船舷上,闪电把乌云撕开一道口子,白光照亮了甲板上一个蜷缩在绳索间的年轻女人的脸。
她的嘴唇冻得发紫,头发被海水打湿,贴在额头和脖子上,左眉弓上方有一道新鲜的伤口,血和雨水混在一起顺着颧骨淌下来。
CG的画面质量是许琛在一年前就看过的——但隔着直播的推流画质再看一次,隔着三百多万人的屏幕再看一次,感觉不一样了。
因为不是他一个人在看。
CG结束。
没有loading画面,没有黑屏过渡,没有任何肉眼可见的“切换”——暴风雨的画面在一帧之内从预渲染的CG无缝跳入了实时渲染的实机画面。女主角林溯睁开眼睛,镜头从她的面部特写缓缓拉远,露出她身处的环境——一个黑暗的、滴着水的洞穴,石壁上挂着苔藓,远处有微弱的火光在摇晃。
直播间的弹幕——
停了。
许琛盯着手机屏幕。弹幕筛选器开到了最低密度,但即便如此,将近两秒的时间里,屏幕上没有任何一条弹幕出现。
两秒。
三百多万人同时沉默了两秒。
然后——
弹幕爆了。
不是涌上来的,是炸开的。
“卧槽。”
“这画面是实机?”
“国产游戏?你确定?”
“CG我信,这他妈是实机?”
“等等我回去看一下那个过渡——没切!真没切!”
“这布料物理什么水平啊头发被风吹动的细节你们看没有”
“完了完了,我寻思二百九十八能买个什么水平,现在告诉我哪怕卖五百我也不亏?”
许琛把手机翻过来扣在掌心里,抬头看大屏。
销量看板上的数字不再是零了。
PC端-国区:那行数字正在跳。不是匀速跳,是一格一格地往上蹦,每蹦一下就带动后面一长串数字哗啦啦地翻。许琛没有去读具体数字,他只看那根进度条——原本平直的基线弹了起来,弧度陡得几乎垂直。
主机端的进度条跟着弹了。
北美区。欧洲区。亚太区。
六根进度条,一根接一根地跳起来,在深色底板上画出六条陡峭的上升弧线。
温韵诗的声音从他前方传过来,清晰、平稳、没有一丝多余的情绪起伏。
“直播间在线四百一十万。五分钟内增长七十万。”
她转过身,面对着三排工位上的所有人。
“技术组,CDN节点负载状况。”
“华东节点负载38%,华南41%,其余均在30%以下,全绿。”
“客服组,用户反馈通道有异常吗?”
“暂无大量异常工单,零星有几个'支付超时'的反馈,已标记。”
“运营组,海外社交平台舆情。”
“Twitter上'TombRaider'和'ChineseAAA'两个标签正在爬升,Reddit的gaming板块出现了直播截图的讨论帖,上升速度很快。”
温韵诗点了下头,转回来面对大屏。
许琛看了她一眼。从他的角度,能看到她左手垂在身侧,手指微微蜷着——不是刚才捏手腕的那个动作,是攥着的。掌心里可能有汗。
但她的声音依旧没有任何波澜。
许琛没有打扰她。
他把注意力转回手机上的直播画面。
马文龙正在操控林溯通过新手教程的第一段——逃离倒塌的洞穴。画面里涉水、攀爬、躲避落石的环节被一连串QTE操作串联起来。
第一个QTE,马文龙按对了。
第二个QTE——
他按晚了。
画面上,林溯被一块从头顶砸落的碎石击中,倒地,屏幕泛红,出现了“任务失败”的提示。
马文龙的手从手柄上抬起来,揉了一下鼻子,低声嘟囔了一句。
弹幕:“马总失误了哈哈哈哈哈”
再来。
第二次尝试——同一个QTE环节。
这次他按得更早了。早了。
林溯跳了个寂寞,脚下踩空,掉进了浅水坑里,腰部以下没入水中,镜头晃了一下。画面倒是没有失败,只是浪费了一次闪避机会,紧接着下一块碎石就砸了过来——
又死了。
“完了完了他过不去这段”“马总别急您慢慢来我们包年”“建议官方出一个马总专用简单模式”
马文龙盯着屏幕上的“任务失败”字样,嘴唇动了动,冒出来一句方言——
“搞么子鬼嘛。”
弹幕瞬间被各种“搞么子”“武汉话!”“马总是武汉人?”刷屏。
第三次。
这次他的节奏卡对了。林溯在碎石雨中翻滚、起身、侧身滑过一截塌陷的石板,水花从她的靴子边缘飞溅起来,碎石在她身后半秒的距离砸在她刚才站的位置上。
过了。
马文龙的嘴角往上提了一下,没说话,继续往前推。
洞穴的深处越来越暗,石壁上的苔藓换成了某种发着微光的菌类,蓝绿色的冷光点缀在岩层的纹路间。林溯的脚步声在寂静的甬道里回响,靴底踩碎积水的声音被环绕声效放大了一点——不多,刚好多到让人下意识想缩起肩膀。
石壁在收窄,天花板在降低,镜头的视野角度随着空间的缩小一起变窄,画面的边缘开始出现轻微的暗角——一种视觉上的幽闭感,从屏幕里渗出来。
马文龙在操控林溯蹲下身穿过一段低矮的裂缝时,动作手柄推得太急,角色的肩膀磕在了岩壁上,发出一声沉闷的碰撞,画面轻微晃了一下。
裂缝很长。镜头压得极低,林溯的呼吸声在狭窄的声场里被放大了三倍,吸气时胸腔的起伏带动了衣物面料的微小褶皱变化——那种布料物理引擎的细节在这个距离上一览无遗。
然后——
裂缝的尽头出现了光。
不是地底菌类的那种冷光。是真正的阳光。
马文龙把摇杆往前推到底。林溯的身体从裂缝中挤了出来,手掌撑在地面上,碎石嵌进掌心的肉里——镜头给了一个极近的特写,能看到掌心的纹路和碎石颗粒之间被挤压变红的皮肤——然后她站起来。
镜头跟着她的身体向上抬起。
从湿冷的岩壁,到裂缝边缘的苔藓,到头顶的石檐,到——
天空。
整个画面在这一帧炸开了。
巨大的蓝。没有云。阳光从正上方直直地倒下来,把林溯站立的岩石平台照得几乎过曝。她的身后是她刚爬出来的洞穴——黑暗的、逼仄的、滴着水的洞穴——而她的面前,镜头继续向上抬——
是一整座被热带植被覆盖的火山岛。
山脊线从画面的左侧延伸到右侧,层层叠叠的树冠像绿色的海面在风中波动。远处有一道瀑布从山腰的断崖上倾泻而下,水雾在阳光中碎成一片虹。更远的地方,海岸线弯成一道弧,沙滩上的砂砾在逆光中发亮,海水从深蓝到浅绿再到岸边的白,颜色的渐变细腻到哪怕许琛已经在开发期间看过无数遍,在这一刻仍然觉得胸口被什么东西轻轻撞了一下。
马文龙停住了。