书海阁
书架 邀请 登录

第525章 我们需要全新的联机算法

作者:哈娜欧菲手字数:3.8千字更新时间:2026-09-26 10:59:26
第525章 我们需要全新的联机算法

回到GAMENOVA。

姑且是安排了一下部分大型街机厅的改造计划。

对于美国这种看似有些水土不服的环境,这样的模式到底行不行得通,完全还是个未知数。

至少试试看总没错。

至于接下来要做的事情,那自然就是迎接年底圣诞档的大作了。

《雷神之锤2》

暌违许久的续作终于要来了。

FPS游戏也算是GAMENOVA的镇宅之宝了。

只要《德军总部3D》、《DOOM》以及《QUAKE》还在,那GAMENOVA在电子游戏领域的影响力就注定是永远挂在第一档。

全球首款3D游戏,以及全球首款真3D游戏这些名号,已经足以让GAMENOVA名垂千古了。

哪怕是在百年后,恐怕那些对游戏史进行考古的人们,也仍然会重新翻开这段历史。

而现在,是时候让这个名号再度加码了。

‘咔’

林立新将一张软盘送进驱动器里,面对着眼前的那台笨重的矢量显示器。

绿色的线条从黑色背景上亮起,勾画出一条立体的3D走廊。

随着他在键盘上操作,游戏的主角便跟着前进、后退,转向。

唯一的问题大概就是这些操作都非常的僵硬。

每次移动都需要等待这台破电脑重新绘制整个画面。

转头也只能90度旋转,连《德军总部3D》那种水平自由转向都做不到。

这不是GAMENOVA的作品。

它的年纪可要比GAMENOVA都大得多。

这是《Maze War(迷宫战争)》,已经是1973年诞生的作品了。

是的,如果真的要严格意义上追溯起第一人称视角射击游戏,其实《MazeWar》要比《德军总部3D》早得多。

从学术的角度来讲,它才是真正意义上的‘最早的FPS’。

而负责运行它的这台‘破电脑’,在当年是只有大学高校才玩得起的科研级计算机。

也正是因为这种普及度上的缺憾,才导致它只能算是一个‘科研项目’,而非真的游戏。

直到《德军总部3D》的诞生,才算是真正将FPS带到了普通人的视角里。

还顺带实现了自由转头和自由移动。

除了3D之外,《Maze War》这位老祖宗级的作品,还实现了一个对FPS可以说是命根子的功能。

联网对战。

不是现在这种已经逐渐有些样子了的互联网。

而是局域网。

事实上GAMENOVA过去就曾参考过它的一些实现方式。

《MIDI Maze》,一款靠MIDI音频线将多台PC连接在一起实现联网对战的作品,也算是《Maze》系列的其中一条分支。

至于再后来的ARPANET阿帕网,其实也有《Maze》对应的版本。

“它的联网机制太原始了。”

卡马克的声音从旁响起。

他刚才啃完了《Maze War》的源码。

“我猜也是,应该是类似咱们《文明》里的那种实现方式?”

“嗯,每个玩家在操作后都要所有人同步一次数据,太低效了。”

卡马克点点头。

《Maze War》到底是个快20年前的作品了,用如今的眼光来看,简直原始的不像话。

假设玩家A在游戏里移动了一步,那客户端就要给所有玩家发送这个移动消息。

包含了移动的玩家是谁、移动到的位置、方向等各种乱七八糟的信息。

当所有人都收到后,才会进行一次全量同步。

这种实现方式在那个时代倒是没什么毛病。

一局游戏撑死也就三四个玩家,网络也只需要负责传输这些数据,没有其他的上下行开支,更没有多么复杂的地图。

但哪怕是再稍稍进步一丢丢,快进到《DOOM》的时代,这套系统就完全行不通了。

“跟咱们的P2P锁步同步肯定没法比,20年的代差呢。”

林立新摆摆手。

《Quake》有联机对战的需求,GAMENOVA早就已经尝试解决过这方面的问题。

当时他们采用的方案是P2P锁步同步。

不同于《Maze War》这种低效的处理方式,《Quake》换用了一套更加先进的方案。

每一名玩家要在每一帧内都汇报操作。

只有局内所有人都广播完了操作,下一帧才会开始。

加上一些优化用的预测和回滚,整个游戏这才勉强算是能够正常运作了。

不过P2P也催生出了一个非常严重的问题。

一卡俱卡。

好处是不会有人因为网络差就被别人血虐。

但坏处也在这里,所有人都要跟着一起卡,一旦局里有个卡比,谁也别想玩过瘾。

这个问题几乎无解,目前社群里比较主流的解决方案就是……搬家。

如果两人之间的物理距离变近了,那网络延迟自然也会变低。

这也是林立新现在在这儿琢磨的原因。

他需要寻找到一个更优秀的方案,以应对接下来的新作。

“《Quake》现在的联机代码也已经过时了,不适合高速发展的互联网时代。”

“是……”

卡马克轻轻点了点头。

尽管这里面有很多他当初的奇思妙想,是他最引以为傲的‘荣耀’。

可即便如此,他也不得不承认这件事。

过时了。

时代发展的速度远远超过了任何人的想象。

兴许一年前还毁天灭地无往不利的东西,一年后就会变成无人问津的过时老梆子。

就像是i486轻而易举地就超越了ATHENA当初独领风骚的参数那样。

“不必担心,我们其实已经有差不多的技术栈了,只不过它还欠缺一些优化。”

林立新看到卡马克那有些受损的骄傲,出声安慰了一句。

对于一位真正的天才来说,技术被否定的确是一件很不舒服的事。

“客户端预测和服务器权威,咱们过去曾经尝试着做过。”

林立新回忆着。

纵观GAMENOVA的技术积累,从来都没少跟互联网打交道。

这里面用到的技术简直无奇不有。

上到《Quake》里的大量网络通信优化才得以实现的真实时联机,下至《Stars!》中用到的PBEM电子邮件同步……

可以说是只要是他们能想到的技术,基本都曾尝试着用过了。

历史能够证明,C/S模型绝对是符合时代发展方向的道路,至少在林立新的记忆中,在21世纪20年代后,现代游戏业也仍然遵守着这个规范。

当然这个C/S并不是后来V社的反恐精英,而是指的Client/Server模型,也就是客户端/服务端模型。

一个服务器,对应多个客户端。

客户端负责处理所有只需要本地处理的内容,比如渲染画面、播放声音、处理输入等。

而服务器则是只需要从完全数据的角度来处理各个客户端发送的输入信息。

哪怕是到了现代,各路开发者们也仍然是在这个卡马克创造的体系上不断缝缝补补。

某种意义上算是一种绿皮科技。

靠着堆带宽和叠优化强行把问题给解决了。

这其中最关键的一个优化机制,同样是卡马克所创造的。

于1996年提出的‘QuakeWorld’理念。

也就是GAMENOVA早就已经用上了的客户端预测。

客户端不等服务器回应,先把操作处理完,等到信息传回后再尝试修正。

这样一来便大大地优化了那种按下按键后角色要等一会儿才会给出回应的割裂感。

按键不再黏手,也不会不跟手。

这套系统被一直保留到了现代FPS体系里。

……

卡马克和山姆一人一台PC,跟林立新这边联机在一起。

简单试玩了几局,林立新便停了下来。

到这里已经足够了,他也就是捎带手蹭点经验而已。

其实打从一开始他就已经有了一点想法。

如果要从技术的层面看待FPS类游戏的发展史。

做出过贡献最大的,除了卡马克和他的idSoftware之外,就只有一家了。

Valve,V社。

起源引擎以及《半条命》、《反恐精英》等一众作品,简直就是FPS的超大型实验田。

接过了idSoftware的棒,带领FPS游戏继续向着现代前进。

“咱们之前做的客户端预测虽然解决了移动上的卡顿,但在面对真正交火的时候没有任何帮助。”

林立新简单总结了一下,随后看向卡马克,

“不过我们可以延续这个思想,做出‘客户端侧武器预测’,类似移动的处理方式。”

这就是维尔福所采用的第一项优化技术了。

“让客户端自主决定是否开枪了?这……不太好。”

卡马克眉头微微一皱,难得顶了一句。

他曾经在设计客户端预测的时候考虑过这一点,但因为各种原因后来又将其废除了。

最大问题在于……作弊。

一个卡逼可以轻而易举地靠着延迟戏弄所有人。

如果刻意控制自己的网速,有的时候能起到奇效。

“不不不,它只是在演戏。”

林立新摆摆手,起身来到白板前,抄起笔便迅速画上了密密麻麻的内容,

“你们看,在现在的《Quake》里,卡顿感的主要来源其实就在开火这一层。”

“玩家虽然移动上不会有卡顿感,但如果是按下鼠标尝试开火,这些延迟仍然存在。”

“想象一下一位玩家在按下开火键后,要等待上百ms才会看到自己手里的枪开火了。”

“这种体验是十分令人恼火的。”

他解释的足够清楚,哪怕是山姆在此刻也听明白了。

“所以是……假开火?看起来开火了,实际上是自己客户端这边模拟出来的?”

“没错,真正的情况完全由服务端计算决定,仍然是靠信息进行回滚修正。”

此章为VIP章节,需要订阅后才能继续阅读

  • 价格:0屋币(1元=100屋币)
  • 购买
设置
作品详情 加书架
章节进度
评论 (0条)
评论加载中...
美利坚:游戏制作教父封面 正序
目录加载中...
加书架
上一章 目录 下一章

设置