下一章 上一章 目录 设置
2、磨合期 宁昭是被键 ...
-
宁昭是被键盘的敲击声吵醒的。
他睁开眼,窗外还是灰蒙蒙的天色,看了眼手机——早上6点12分。
下铺空了,江承礼已经坐在办公桌前开始工作。他穿着昨天那件黑色高领毛衣,背对着床铺,手指在键盘上飞快地敲击,屏幕上的代码行飞速滚动。
宁昭揉了揉眼睛,翻身下床。
“吵醒你了?”江承礼头也不回。
“没。”宁昭走到洗手间,用冷水洗了把脸,清醒了不少。
回到工作室,他看到茶几上放着一杯冒着热气的咖啡。
“给你的。”江承礼依然盯着屏幕,“速溶的,凑合喝。”
宁昭端起咖啡抿了一口,苦涩中带着点焦糖的甜味。他没说谢谢,只是坐到自己的办公桌前,打开昨天未完成的代码文件。
接下来的几个小时,两人各自忙碌,工作室里只有键盘声和偶尔的鼠标点击声。
上午十点,宁昭遇到了一个技术难题——VR场景的镜像对称渲染效果不理想,两个玩家看到的画面会出现微妙的延迟。
他试了几种优化方案都没效果,最后忍不住开口:“江承礼,过来看看。”
江承礼放下手里的平板,走到他身后,弯腰看屏幕。
“这里的渲染逻辑有问题。”他伸手指着代码,“你用的是单线程渲染,镜像场景需要双线程并行处理,这样才能保证同步。”
宁昭愣了一下:“你怎么知道?你不是做设计的吗?”
“退役后自学的。”江承礼推了推眼镜,“游戏设计如果不懂技术实现,很容易纸上谈兵。”
宁昭没说话,开始按照他的建议修改代码。十分钟后,重新运行,延迟问题果然解决了。
“行了。”江承礼直起身,准备回到自己的位置。
“等等。”宁昭叫住他,犹豫了一下,“……谢了。”
江承礼顿了顿,侧头看他,眼神有些复杂。最后只是轻声说:“不客气。”
中午,主办方送来了午餐。
两人依旧面对面坐在茶几旁吃饭,空气里却比早上少了几分生硬。
宁昭低头扒着饭,忽然问:“你为什么会报名这个比赛?”
江承礼动作一顿:“你觉得呢?”
“你现在不缺资源,也不缺话语权。”宁昭语气平淡,“这种高强度封闭赛,对你来说性价比并不高。”
江承礼沉默了几秒,才说:“我想做一款,真正由设计者主导的游戏。”
宁昭抬眼看他。
“不是迎合市场,不是资本驱动。”江承礼的声音很稳,“而是能被玩家记住的东西。”
宁昭嗤笑一声:“听起来挺理想主义的。”
“你不也是吗?”江承礼反问,“不然不会死磕独立游戏。”
这句话让宁昭愣了一下。
他没有反驳,只是低头继续吃饭。
那一刻,两人都心照不宣地意识到——他们在某些地方,其实是同一类人。
下午,两人继续分工推进项目。宁昭负责搭建游戏的基础框架,江承礼则专注于关卡设计和剧情编写。
傍晚时分,宁昭终于完成了第一个可玩的demo场景。他戴上VR头显,在虚拟世界里走了一圈,确认所有交互都正常运行。
“江承礼,过来试试。”他摘下头显,朝对方招手。
江承礼走过来,接过头显戴上。宁昭在电脑上切换到双人模式,自己也戴上另一个头显。
两人同时进入了虚拟世界。
这是一个对称的房间,左右两边完全镜像。宁昭在左侧,江承礼在右侧。房间正中央有一堵透明的镜面墙,两人可以透过墙看到对方。
“看到我了吗?”宁昭问。
“看到了。”江承礼的声音通过耳机传来。
“现在试试解谜。”宁昭指了指自己这边墙上的一排按钮,“我这边有五个按钮,你那边应该也有五个,但顺序可能不一样。我们需要找出正确的按压顺序。”
江承礼走到墙边,仔细观察按钮。每个按钮上都刻着不同的符号——圆形、三角形、方形、星形、心形。
“我这边从左到右是:圆、三角、方、星、心。”宁昭报出顺序。
“我这边是:心、星、方、三角、圆。”江承礼说,“完全相反。”
“所以这是个镜像谜题。”宁昭思考片刻,“按照镜像逻辑,如果我按圆形,你应该按心形。”
“试试。”
两人同时按下各自的第一个按钮。镜面墙上亮起一道绿光,但很快熄灭了。
“顺序不对。”江承礼说,“可能不是简单的镜像对应。”
宁昭仔细观察房间,突然注意到天花板上有一行隐藏的文字,只有在特定角度才能看清:“真相不在镜中,而在心中。”
“江承礼,抬头看天花板。”
“看到了。”江承礼顿了顿,“『真相不在镜中,而在心中』……这是在暗示什么?”
宁昭突然灵光一闪:“不是按镜像顺序,是按『心』的顺序!最后一个按钮是心形,所以要从心形开始按!”
“可以试试。”
两人同时按下各自的心形按钮,这次镜面墙上亮起持久的绿光。接着,他们按照倒序依次按下星、方、三角、圆。
当最后一个按钮被按下时,整个房间突然亮了起来,镜面墙缓缓升起,露出了背后的通道。
“成功了。”江承礼的声音里带着一丝笑意。
宁昭也忍不住笑了:“看来这个机制可行。”
两人摘下头显,重新回到现实。
“感觉怎么样?”宁昭问。
“很好。”江承礼点点头,“谜题设计的逻辑性很强,而且有一定难度,不会让玩家觉得太简单。”
“那你觉得我们还需要增加什么元素?”
江承礼沉思片刻:“情感互动。现在的谜题只考验逻辑和配合,但缺少情感层面的深度。”
“你是说……要加入选择性的道德困境?”
“对。”江承礼走到白板前,拿起笔,“比如在某个关卡,两个玩家必须决定牺牲哪一方的利益来换取通关。这种选择会影响他们的关系数值,最终决定能否解锁真结局。”
宁昭盯着白板上的设计草图,脑子里已经开始构思技术实现方案。
“这个想法不错。”他站起来,走到江承礼身边,在白板上补充,“我们可以设计一个『信任值』系统。每次玩家做出选择,系统会根据两人的选择是否一致来增减信任值。当信任值达到一定阈值,就能触发隐藏剧情。”
“可行。”江承礼看着他补充的内容,眼神专注,“这样一来,游戏不仅仅是解谜,更像是一场关于信任和理解的实验。”
宁昭侧头看他,突然发现两人靠得很近,近到能看清他镜片后那双深邃的眼睛。
他下意识地后退一步:“那……我继续写代码了。”
“嗯。”江承礼也收回视线,回到自己的座位。
接下来的几天,两人的合作越来越默契。宁昭发现,江承礼虽然话不多,但在工作上非常靠谱。他总能在关键时刻提出有建设性的意见,而且从不会因为意见分歧而争吵。
唯一让宁昭有点不适应的是,江承礼的作息太规律了。每天早上6点起床,晚上12点准时睡觉,中间除了吃饭和必要的休息,几乎都在工作。
而宁昭是典型的夜猫子,经常通宵写代码,第二天睡到中午。
第五天晚上,宁昭又熬夜到凌晨两点。他正在调试一个复杂的物理引擎bug,突然听到下铺传来动静。
江承礼坐起来,揉了揉眼睛:“还没睡?”
“快了。”宁昭头也不抬,继续盯着屏幕。
江承礼沉默了几秒,然后下床,走到他身后:“遇到什么问题了?”
“物理碰撞检测有bug,两个玩家在镜像场景里的移动轨迹会出现偏差。”宁昭皱眉,“我试了十几种方案都不行。”
江承礼弯腰看屏幕,手指在键盘上敲了几下,调出另一个代码文件:“这里的坐标系转换逻辑有问题。镜像场景的坐标需要重新映射,不能直接用默认的世界坐标。”
宁昭愣了一下:“……你连物理引擎都懂?”
“自学过一点。”江承礼说,“需要我帮你改吗?”
“不用。”宁昭有些不服气,“我自己能搞定。”
“那你先睡觉,明天再弄。”江承礼直起身,“已经凌晨两点了,再熬下去身体会撑不住。”
“我习惯了。”宁昭依然盯着屏幕。
江承礼沉默了片刻,突然伸手,直接合上了他的笔记本电脑。
“喂!”宁昭抬头瞪他,“你干嘛!”
“让你睡觉。”江承礼面无表情,“代码还没保存的话,我明天帮你重写。”
宁昭咬牙,最后还是妥协了:“……已经自动保存了。”
“那就去睡。”江承礼转身回到下铺,重新躺下。
宁昭盯着他的背影,心里涌起一股莫名的情绪。他关掉台灯,爬上上铺,躺下。
黑暗中,他听到下铺传来均匀的呼吸声。
“江承礼。”他突然开口。
“嗯?”对方没有睡着。
“……为什么对我这么好?”
下铺沉默了很久,久到宁昭以为他不会回答。
最后,江承礼低声说:“因为我欠你的。”
宁昭愣住:“什么意思?”
“五年前的事。”江承礼的声音很轻,“我不该那样对你。”
宁昭的心跳突然加快。他想问更多,但最终还是闭上了嘴。
“……算了,过去的事就过去了。”他翻了个身,背对着下铺,“晚安。”
“晚安。”
那天晚上,宁昭失眠了。
他躺在床上,脑子里反复回想江承礼那句“我欠你的”。
到底是什么意思?
是单纯的道歉,还是……别的什么?
宁昭摇摇头,告诉自己不要多想。
第二天早上,他是被香味吵醒的。
睁开眼,看到江承礼正在小厨房里忙活。桌上摆着两份刚出炉的三明治和两杯牛奶。
“醒了?”江承礼回头看他,“过来吃早餐。”
宁昭下床,走到茶几边坐下,拿起三明治咬了一口——培根、生菜、番茄、煎蛋,层次分明,味道还不错。
“你还会做饭?”宁昭有些惊讶。
“退役后学的。”江承礼坐在对面,“一个人住,不会做饭很麻烦。”
宁昭没说话,默默地吃着三明治。
窗外的阳光洒进来,照在茶几上,整个工作室暖洋洋的。
那一刻,宁昭突然觉得,这一个月的合作,或许没有想象中那么难熬。