第9章 最终关卡
游戏展在上海新国际博览中心,人潮汹涌得像游戏里主城刷新时的盛况。
武康站在自家公司展台的后方,看着前方攒动的人头。他们今年主打一款教育类游戏,用游戏化方式教孩子编程——这项目是他升总监后带的第一个大活儿,此刻屏幕上循环播放的宣传片里,有他熬了三个通宵才调好的粒子特效。
“武总监,那边有媒体采访。”助理小声提醒。
武康点头,整理了一下衬衫袖口。升总监后他开始穿衬衫了,不是以前那种程序员标配的格子衫,是正经的修身款。镜子里的自己好像变了,又好像没变——眼角多了细纹,头发梳得整齐,但眼神深处还藏着那个凌晨三点打游戏的宅男。
采访进行到一半时,他眼角余光瞥见一个身影。
心脏漏跳一拍,像程序遇到了未处理的异常。
艾馨儿站在隔壁展台的试玩区,仰头看着大屏幕上的游戏演示。她瘦了些,头发剪到肩膀,染了淡淡的栗色,在展馆的灯光下泛着柔光。穿着简单的米色针织衫和牛仔裤,背着一个帆布包,包上挂着他熟悉的《塞尔达传说》守护者徽章。
两年。武康在脑子里快速计算:七百三十天,一万七千五百二十小时。时间应该足够抹平一切了,可为什么看到她时,胃还是会轻轻抽搐一下?
采访结束,他借口去洗手间,绕开展台,慢慢朝那个方向走去。
艾馨儿正弯腰试玩一款独立游戏,手指在手柄上快速移动。武康在她身后停下,看着她熟练地操作——还是那个手法,还是那种专注的侧脸。
游戏通关画面弹出,她直起身,转头,撞上他的视线。
两人都愣了。
空气凝固了几秒。展馆里的喧嚣——音乐声、解说声、玩家欢呼声——突然退得很远,像被调低了音量。
“好久不见。”艾馨儿先开口,微笑。笑容很自然,但武康注意到,她的手指无意识地摩挲着手柄边缘——那是她紧张时的小动作。
“好久不见。”武康说,声音比想象中平稳。他的目光扫过她的左手,无名指上套着一个素圈戒指,很细,银色的,在灯光下泛着淡淡的光。
她结婚了?还是订婚了?
艾馨儿顺着他的目光看了眼自己的手,没解释,只是把手轻轻放进口袋。
尴尬的沉默蔓延开来。武康搜肠刮肚想找话题,脑子里蹦出来的全是“最近怎么样”“工作忙吗”这种废话。就在他准备开口时,不远处传来一阵夸张的大笑。
两人同时转头。一个寸头男人正戴着头盔玩VR,手舞足蹈,嘴里喊着:“这手感绝了!馨儿你快来试试——”
男人摘头盔时看见他们,动作顿住。
武康认出来了。是朋友圈照片里那个人,那个户外摄影师。真人比照片里更……鲜活。皮肤是常年户外晒出的小麦色,眼睛很亮,穿着印着独立游戏logo的T恤,袖子卷到胳膊肘,露出结实的小臂。
“他挺像你以前打游戏的样子。”艾馨儿忽然说,声音里带着笑意,“容易投入,一惊一乍的。”
武康笑了,是真心的笑:“不像现在的我。”
“你现在不打游戏了?”艾馨儿转过头看他。
“打,但只打单机了。”武康说,顿了顿,“发现自己不适合组队。”
这话有点苦涩,但他语气轻松,像在说别人的事。艾馨儿点点头,没追问,目光转向武康身后公司的展台。屏幕上正滚动着代码和游戏画面。
“你还是老本行?”她问。
“嗯。升总监了,主要做管理,偶尔手痒写写核心模块。”武康说完,补了一句,“你呢?还在做前端?”
“转行了。”艾馨儿的眼睛亮起来,“在做游戏化教育产品。把数学题设计成通关关卡,背单词变成收集要素,那种。”
武康心里一颤。
太熟悉了。那是他们刚在一起时,躺在沙发上闲聊时扯过的构想。那天晚上他们刚通关一款枯燥的模拟经营游戏,艾馨儿吐槽说:“要是学习也能这么设计就好了,有进度条,有奖励,有成就感。”
武康当时接话:“可以做啊。把知识点拆解成任务链,完成一个解锁下一个,中间设置一些小奖励……”
“那你得设计得好玩,”艾馨儿当时说,用脚轻轻踢他,“不能只是把课本内容换个皮。”
现在她真的在做了。
“你现在做的……好玩吗?”武康问,声音有点干。
“有的好玩,有的还在迭代。”艾馨儿认真回答,像在跟投资人汇报,“我们有个数学产品,把解方程设计成破解密码锁,孩子们挺买账的。但语文那个就差点意思,古诗词背诵怎么做都不太对劲……”
她说着说着就进入工作状态,手指比划着,语速加快。武康静静听着,突然发现她说话时有个新习惯——会微微偏头,像在倾听什么。大概是经常和孩子打交道养成的。
“至少,”艾馨儿总结,“我在试着创造规则,而不是被困在规则里。”
武康懂了。她找到了自己的“游戏”——不是玩别人设计好的,是自己创造让别人玩的。她终于从一个玩家,变成了设计师。
挺好的。他真心这么想。
展览快结束时,那个寸头男人——林深,艾馨儿刚才介绍过名字——举着两个棉花糖跑过来,粉色和蓝色,像两团蓬松的云。
“馨儿!这个展台送糖,排了好久队——”他看见武康,话卡在喉咙里,但笑容没减,“哟,这位是?”
“我前男友,武康。”艾馨儿介绍得很自然,接过粉色棉花糖,“这位是林深,我未婚夫。”
未婚夫。这个词轻轻砸在武康心上,但不疼,只是有点沉。
林深把蓝色棉花糖塞给武康:“哥们儿,吃糖!”
武康接过,有点手足无措。他已经很多年没吃过这种小孩玩意儿了。
“听说你是做游戏技术的?”林深很自然地搭话,手里还举着那个粉色棉花糖,“馨儿以前老夸你厉害,说你们打游戏配合得跟一个人似的。”
他从帆布包里掏出相机——一台看起来饱经风霜的单反,边角有细微的磨损。“我刚拍了几张展会的照片,你给看看?从你们专业人士的角度。”
武康有点意外,但还是接过相机。屏幕上是几张抓拍:玩家戴着VR头盔手舞足蹈的瞬间,小孩盯着屏幕眼睛发亮的特写,两个coser在休息区分享零食的侧影。
“这张光影抓得好。”武康指着一张照片——逆光中,一个女孩的头发被展台的灯光照出金色的轮廓。
“是吧!我等了这个光线好久。”林深凑过来看,身上带着户外活动特有的阳光和青草气息,“但我总觉得差点什么……游戏展的氛围没完全拍出来。”
艾馨儿小口吃着棉花糖,看着林深兴奋地展示照片的样子,嘴角弯起。那笑容是松弛的,武康很久没在她脸上见过这样的表情了——不是精心调整过的微笑,就是自然而然扬起的嘴角。
“你可以试试低角度。”武康把相机还给他,“游戏画面经常用仰视或俯视的视角,增加沉浸感。平拍太像新闻纪实了。”
林深眼睛一亮:“有道理!我怎么没想到!”他立刻蹲下,对着展台方向试了试角度,“这样?还是这样?”
他完全沉浸在构图里,一会儿蹲下一会儿站起,像在跳某种即兴舞蹈。路过的人投来好奇的目光,他也不在意。
武康看着这个浑身散发着自由气息的男人,忽然明白了艾馨儿为什么选择他。他不完美,不精致,甚至有点莽撞,但他活得真实——像山间溪流,不按既定河道走,但自有一番生机。
展览结束的广播响起,人群开始往外涌。林深被一个展台的人叫住,说有事商量,他朝艾馨儿挥挥手:“等我一下!马上!”
剩下他们两人。
夕阳从展馆高高的玻璃窗斜射进来,在地板上铺出长长的金色光带。空气里飘浮着细微的灰尘,在光柱里缓缓旋转。
“谢谢。”艾馨儿说,看着武康。
“小事。”武康顿了顿,“他对你……挺好的。”
“嗯。”艾馨儿点头,“他不会打游戏,但愿意陪我逛游戏展。我也不会摄影,但愿意跟他进山喂蚊子。”
她笑了,那个酒窝又出现了:“我们都不完美,但挺合拍。”
武康也笑了。是啊,不完美,但合拍。也许这才是关键——不是两个完美程序的对接,是两个都有bug但能互相兼容的系统的共存。
“那……”武康不知道该怎么结束这场对话。说“再见”?说“保重”?还是说……
“祝你通关愉快。”他终于说出口。用他们的语言,说他们的告别。
艾馨儿愣了一下,然后眼睛弯起来,像两弯月牙。
“你也是。”她说。
林深跑回来了,气喘吁吁:“搞定!走吧馨儿,晚上吃火锅去!”
艾馨儿朝武康挥挥手,转身,很自然地挽住林深的胳膊。两人汇入离场的人流,很快就被淹没了。
武康站在原地,看着手里的蓝色棉花糖。糖已经开始化了,黏糊糊地沾在手指上。
他低头,舔了一口。
甜得发腻。
展馆里的人快走光了,工作人员开始收拾展台。武康走回自家公司的位置,助理正在关设备。
“武总监,刚刚有个投资人想约谈……”
“明天再说。”武康打断他,“今天累了。”
他拿起自己的背包,走出展馆。傍晚的风吹过来,带着初秋的凉意。停车场里,他的车孤零零地停在那里。
上车,发动引擎。武康没有立刻开走,只是坐在驾驶座上,看着后视镜里的自己。
头发梳得整齐,衬衫熨得平整,眼神平静。
他忽然想起两年前分手的那个晚上,他在阳台站到凌晨。那时候他在想什么来着?好像在想“这个副本要单刷了”。
现在他确实在单刷了。而且刷得还不错,升职了,项目成了,生活有序。
只是……
他摇摇头,把这个“只是”甩出脑海。有些事,想通了就好,不用一直想。
车子驶出停车场,汇入晚高峰的车流。路灯一盏盏亮起,把街道染成温暖的橘黄色。
武康打开车载音响,随机播放到一首老歌。是某款游戏的背景音乐,他和艾馨儿一起听过很多次。
他没换台。
就这样听着,开过熟悉的街道,开过他们第一次见面的咖啡馆,开过那家VR体验馆,开过他们曾经一起逛过的超市。
城市在变,人在变,故事在继续。
红灯。武康停下车,看着十字路口川流不息的人群。
每个人都在运行自己的人生程序——有的顺畅,有的卡顿,有的刚更新了版本。
而他的程序,还在运行。
虽然偶尔会弹出一些旧错误的提示。
虽然有些缓存还没清理干净。
但至少,没有崩溃。
绿灯亮了。武康踩下油门,车子缓缓向前。
后视镜里,展馆的轮廓越来越小,最终消失在楼群之后。
像某个关卡的出口,过去了,就再也回不去了。
但前方还有新的地图,新的任务,新的NPC。
游戏还没结束。
只是换了个存档,重新开始。