附錄小說 杉鹿圓的FPS講座 理論強化篇(2/2)
我與她的遊戲戰爭 2
杉鹿把左操作桿稍微往前推了一下,讓角色前進。
首先,杉鹿畫面上的角色立刻前進。然後稍微慢了一步,天道畫面上的角色也跟著移動。
「唔,杉鹿的畫面上沒有任何問題,但我的畫面稍微慢了一點。這就是Lag嗎?」
「對,不過,這個Lag已經把影響處理到最小了。為了做這個處理,伺服器內才需要描繪『未來世界』。其實不會很難懂,比方說──」
杉鹿再度指著遊戲畫面。
「現在遊戲里所有角色都沒在動,也沒有人按手把按鈕,所以伺服器內的未來世界,大家應該也都是靜止不動的。可是,如果我現在讓角色前進……」
杉鹿又推了一下類比操作桿。
「這樣一來,我輸入的訊號就會送到伺服器,變成『角色在過去移動了』,於是未來世界就會重新計算、架構。然後這份未來的資料會再送回各個用戶端,反映到遊戲上。即使有幾影格無法迴避的物理性Lag,因為伺服器程式一直在架構幾影格的未來世界,然後將結果反映給用戶端,所以至少看起來感覺不到太大延遲。開槍也是一樣。」
杉鹿的角色對天道開了一槍。
還是一樣,慢了一拍後才出現損傷,使天道的畫面發出紅光。
「首先開槍之後,訊號會送到伺服器,反映到未來世界之中,然後伺服器會比對其他角色的位置資料,判斷是否命中。一旦判斷命中了,伺服器就會處理損傷資料,透過網路再送回用戶端,然後才會反映在各個玩家的畫面上。」
「……好像聽懂了,又好像沒聽懂。」
事實上講到這裡,已經超出了岸嶺的理解範圍。
「嗯,我也開始有點混亂了。」
就連天道都這麼說。
「哎,會混亂也是沒辦法的!」瀨名老師說:「簡而言之呢,各位!就是網路對戰一定會有物理性的Lag!為了解決……或者該說掩飾這個問題,伺服器內會描繪未來世界,然後把計算結果反映給用戶端!所以自己看到的畫面跟別人的畫面會有誤差!」
這樣歸納的確比較好懂。
「講完了這些,才終於能夠回到天道一開始的疑問。」
「哦,就是用點發打倒敵人的問題,對吧?」
「簡而言之,就是當妳的角色在完全停止不動時被敵人開槍打中了,就算急著想移動,手把訊號『送到伺服器』,『在未來世界做處理』,『再將結果反映到遊戲上』,其實要花蠻多時間的。所以結論就是『從停止狀態開始移動,會比自己的畫面看起來更花時間』。」
至於岸嶺還是一樣,有點丈二金剛摸不著頭腦。
「簡而言之,就是如果跟對手完全同時開槍,贏的會是──Ping比較好的一方?」
「哎,算是原因之一啦。總之,我的講課就到此結束……(內容加載失敗!請重載或更換瀏覽器)