光影,只有几个灰白色的方块代表掩体,以及地上散落的几个发着绿光的圆柱体,代表可拾取物资。
“这台机器完全断网,只连了局域网里的测试服务器。”老周指着屏幕,语气有些干巴巴的,“里面没有任何正式项目的代码。许总让我提前搭的这个框架。你的题目在桌面上那个TXT文档里。”
赵林拉开椅子坐下,把双肩包放在脚边。他没有急着去点开那个文档,也没有立刻去碰键盘。他的目光死死盯着屏幕左上角那一排跳动的延迟数据曲线。
过了足足五分钟,赵林才转过头,看向站在一旁的许琛和老周。他伸手抓了抓本来就稀疏的头发,眼神变得极其锐利。
“你们这套底层的同步逻辑有问题。”赵林指着屏幕上的灰块人物,“你们现在默认的是客户端先判定拾取动作,然后再把结果回传给服务器,对吧?”
老周的脸色微微变了一下。他下意识地看了许琛一眼。这套沙盒确实是用《回声之屋》的单机底层框架临时改的,为了图省事,直接沿用了客户端主导的判定逻辑。
许琛靠在机柜旁边,双手插在口袋里。他没有替老周回答,也没有承认或者否认。
“你看出来了。”许琛语气平淡,下巴朝键盘的方向扬了扬,“那就按你的思路,向我们证明它为什么不行。给你两个小时。”
赵林没再废话。他把双手放在键盘上,十指翻飞。清脆的敲击声在冷气十足的机试室里密集地响了起来。
两个小时的时间里,赵林连一口水都没喝。他不断地修改着底层参数,人为地制造网络丢包和延迟抖动。屏幕上的灰块人物开始出现瞬移、卡顿,地上的绿色圆柱体也开始闪烁不定。
当时钟指向第四个半小时,赵林停下了手。他长长地吐出一口气,揉了揉发酸的手腕,然后把两份后台日志并排拉到了屏幕中央。
“搞定了。”赵林往椅背上一靠,指着左边的日志,“这是玩家A的视角,延迟二十毫秒。右边是玩家B的视角,我人为制造了二百毫秒的延迟抖动。”
许琛和老周走上前。
赵林按下回车键,播放刚才录制的测试画面。画面中,玩家A和玩家B同时冲向地上的一个绿色圆柱体。玩家A先碰到了物品,物品消失。但在玩家B的屏幕上,由于网络延迟,物品晚了零点几秒才消失