/>
「唔,杉鹿的画面上没有任何问题,但我的画面稍微慢了一点。这就是Lag吗?」
「对,不过,这个Lag已经把影响处理到最小了。为了做这个处理,伺服器内才需要描绘『未来世界』。其实不会很难懂,比方说──」
杉鹿再度指著游戏画面。
「现在游戏里所有角色都没在动,也没有人按手把按钮,所以伺服器内的未来世界,大家应该也都是静止不动的。可是,如果我现在让角色前进……」
杉鹿又推了一下类比操作杆。
「这样一来,我输入的讯号就会送到伺服器,变成『角色在过去移动了』,于是未来世界就会重新计算、架构。然后这份未来的资料会再送回各个用户端,反映到游戏上。即使有几影格无法回避的物理性Lag,因为伺服器程式一直在架构几影格的未来世界,然后将结果反映给用户端,所以至少看起来感觉不到太大延迟。开枪也是一样。」
杉鹿的角色对天道开了一枪。
还是一样,慢了一拍后才出现损伤,使天道的画面发出红光。
「首先开枪之后,讯号会送到伺服器,反映到未来世界之中,然后伺服器会比对其他角色的位置资料,判断是否命中。一旦判断命中了,伺服器就会处理损伤资料,透过网路再送回用户端,然后才会反映在各个玩家的画面上。」
「……好像听懂了,又好像没听懂。」
事实上讲到这里,已经超出了岸岭的理解范围。
「嗯,我也开始有点混乱了。」
就连天道都这么说。
「哎,会混乱也是没办法的!」濑名老师说:「简而言之呢,各位!就是网路对战一定会有物理性的Lag!为了解决……或者该说掩饰这个问题,伺服器内会描绘未来世界,然后把计算结果反映给用户端!所以自己看到的画面跟别人的画面会有误差!」
这样归纳的确比较好懂。
「讲完了这些,才终于能够回到天道一开始的疑问。」
「哦,就是用点发打倒敌人的问题,对吧?」
「简而言之,就是当你的角色在完全停止不动时被敌人开枪打中了,就算急著想移动,手把讯号『送到伺服器』,『在未来世界做处理』,『再将结果反映到游戏上』,其实要花蛮多时间的。所以结论就是『从停止状态开始移动,会比自己的画面看起来更花时间』。」
讲到这里,杉鹿深吸一口气调整呼吸。
「啊──真是,讲了老半天,结论不过就是这么一句话:『等到中枪才想躲就来不及了』。」
「原来是这么回事啊。」
天道若有所感地点点头。
「你这么一讲让我想到,有时候被敌人开枪打中之后躲到隐蔽处,却常会照样死掉。我甚至还以为是程式漏洞呢……」
「这正是杉鹿同学解释的现象!换句话说,中弹之后急著想跑,但是在手把讯号传送到伺服器,世界更新之前,伺服器已经先做出了中弹判定,角色就死了!」
「……好像听懂了,又好像没听懂。」
至于岸岭还是一样,有点丈二金刚摸不著头脑。
「你还不懂吗?总之,一旦你让角色停下来,自己的画面看起来可能还好,在其他玩家的画面上却已经站很久了。站著不动的敌人打起来最轻松了对吧?为了预防这一点,重要的是尽量不要停下来,并且尽量避免让动作变慢。理论不懂没关系,明白这一点就够了。」
「啊,嗯,归纳得这么简短,我总算听懂了。」
「而且连线的Lag,会因为一点小原因而轻易变严重。只要哪边发生网路塞车,马上就会造成严重Lag。Lag如果太严重,或者说Ping太差,有时候会发生明明是自己先开枪,却还是被对手射杀的现象。」
「简而言之,就是如果跟对手完全同时开枪,赢的会是──Ping比较好的一方?」
杉鹿点头回答天道的问题。
「哎,就是这么回事。Ping较差的一方就连接收伺服器资料的间隔都会比较长,所以游戏更新也会断断续续的。这样一来,可能……当然也要看程式怎么处理,但其他玩家的角色看起来可能会像是在瞬间移动,或是其他类似的现象,总之应该会对自己很不利。」
「那真的很严重……也就是说,现在我们几个当中,开伺服器的濑名老师最占优势?」
「基本上可以这么说!」濑名老师说:「不过,我的用户端程式应该会基于这点做些调整!再说JGBC之类的大赛网路都很稳,这方面应该是不用担心!」
「不过毕竟还是有物理性Lag,所以动作反映就是会比较慢。非得狙击或是埋伏的时候没办法,但永远都是随时移动的一方比较有利。讲了老半天的理论,其实结论不过如此。」
「原来是这样,所以大家才会说FPS里最难缠的,是杀进敌阵的攻击手?」
「哎,算是原因之一啦。总之,我的讲课就到此结束。知道理论当然很重要,不过游戏本领不是靠理论就能变强的。好啦,差不多该来玩游戏了吧。」
「也是。那么为了实践杉鹿的教导,今天照常开始正式的社团活动吧。」
就这样,岸岭等人用剩下的时间大玩特玩FPS。
不久之后,岸岭将以攻击手之名在JGBC一举成名,不过那又是另一个故事了。