這一天,現代遊戲社一如平常地正要開始社團活動。不過隻有這天的活動內容與平常不一樣。


    事情的開端,是天道以下這句發言:


    「對了,杉鹿,我一直有個疑問,是不是可以請你告訴我了?」


    「嗯?什麽問題?」


    「上次我們第一次讓岸嶺玩fps的時候,不是講到了『點發』嗎?」


    所謂的點發,就是fps的一項射擊技巧。


    就跟現實當中的槍械一樣,在擬真係fps當中如果讓槍械全自動射擊,準星會因為後座力而偏掉。若是近距離的話稍微偏掉沒差,但是在射擊豆子大的遠處敵人時,隻要有一點誤差就會完全射不中敵人了。


    因此,在射擊遠距離的敵人時,必須每開幾槍就放開扳機,藉此抑止準星的偏差。這種技巧就是所謂的「點發」。


    「那時候我們講到,射擊遠距離敵人時一定要用點發,可是點發難免會造成射擊速率下降對吧?所以我就問說,在第一發命中時如果被對手跑了,不就殺不死對手了嗎?」


    「啊,原來是那件事啊。」


    岸嶺也明白了天道想問什麽。


    「我也很想知道呢,那時候杉鹿不是說,這方麵的問題在網路對戰時不用在意嗎?記得你好像是說g的問題有關……」


    「對,就是那件事。為什麽不用在意呢?我一直不懂。」


    「哦,你是問那個啊。要我告訴你可以……可是講起來有點長喔。因為要解釋這個問題,就得講到ping還有fps。」


    「沒關係,如果是這樣的話,我也想拜托你,請務必跟大家解說一下!」瀨名老師推了她一把:「仔細想想,我還沒跟岸嶺同學解釋過這方麵的事呢!我早就想找機會解說一番了,這樣正好!」


    「啊──?好麻煩喔。不過也是啦,的確應該跟你們解釋一下。」


    杉鹿平時雖然講話帶刺,不過被人拜托做什麽的時候,好像不太擅長拒絕。


    「好吧,首先我要一個白板,還有筆。」


    「知道了,我來準備。」


    天道把房間角落的白板喀啦啦地拉了過來。


    至於瀨名老師則是從白袍口袋中拿出一個東西,「拿去用吧!」交給了杉鹿。


    「這啥啊?眼鏡?我又沒有近視。」


    「別擔心,這眼鏡沒度數!別管那麽多細節,你就戴吧,解說員都得戴眼鏡,這是慣例!」


    「…………」


    杉鹿被迫收下了眼鏡,板著臉小聲對岸嶺說道:


    「……我每次都在想,你們的顧問是不是哪裏有毛病啊?」


    「不要講得好像事不關己啦,他也是杉鹿的顧問啊。」


    至於瀨名老師,他正在準備好的白板上寫上幾個大字「杉鹿圓的fps講座」。


    「好,這樣就萬事俱備了!開始吧!」


    「……算了,怎樣都好啦。」


    杉鹿自暴自棄地戴起平光眼鏡,站到白板前。


    (想……想不到還滿合適的……)


    杉鹿本來就是個滿凶悍的女生,如今戴起眼鏡,減少了幾分平常的孩子氣,看起來成熟了些,散發一種與平時不同的魅力。


    「那我要開始講解嘍,首先從ping開始。」


    杉鹿在白板上寫上「ping」,g好像不發音。


    「我有聽過。」天道說:「就是用來表示網路連線狀態的單字吧?」


    「大致上算對,不過更正確來說是『向目標主機傳出封包後的封包往返時間』。那麽接下來……岸嶺,你有聽過『伺服器』與『用戶端』嗎?」


    「咦?呃……好像有在網路用語裏聽過……我記得是讓伺服器與用戶端連線,藉此互相傳遞資料……」


    「沒錯,伺服器的英文server就是托盤之類的意思。比方說我們都是藉由網路讓遊戲機連線對戰,那也是某個地方啟動了伺服器程式,然後其他玩家以用戶端程式與伺服器連線,互相傳遞資料。」


    杉鹿在白板中央寫上大大的「伺服器」幾個字,然後劃線圈起來。


    接著她在「伺服器」的周圍又寫上「用戶端1」~「用戶端4」四個項目,然後拿出紅筆,用紅線將四個「用戶端」與「伺服器」分別連起來。


    「你就把這條紅線當作是網路連線,伺服器與用戶端就是使用這個連線在互相傳遞資料。到目前為止跟得上嗎?」


    「勉……勉強。就是伺服器跟四個用戶端連線了,對吧?」


    「對,不過,這幅圖的四條紅線長度都差不多,但比方說用戶端1可能是從日本存取資料,用戶端2卻可能是從美國存取,實際上要讓用戶端連上伺服器,必須透過數據機或是路由器等各種裝置,所以資料傳遞其實還蠻花時間的。而ping就是顯示伺服器與用戶端之間連線狀態的單位。基本上這個單位的數字越小,就等於連線狀況越好。」


    「我舉個簡單的例子!」瀨名老師眼鏡一亮。「ping這個名稱原本是取自潛艦的主動聲納!你們有沒有在電影裏看過潛艦探測周圍時拍發聲納的場麵?簡而言之就是那個的網路版!你們可以解釋成拍發ping等待回應,以偵測用戶端與伺服器之間的距離!」


    「原來如此,我好像懂了。」


    岸嶺曾經讀過有潛艦登場的小說,因此很能理解瀨名老師舉的例子。在黑暗的海底看不見任何東西,所以要用聲波探測周圍的地形或敵軍潛艦。網路也是一樣,不可能目測用戶端與伺服器的距離,大概是因為這樣,才要發送ping測量距離吧。


    「哎,ping就像是一個單位,所以應該不難懂吧,那我要進入下一段嘍。ping是代表伺服器與用戶端之間連線狀態的單位,至於電玩也有表示速度的單位,就是fps。」


    「fps?」天道微微偏頭。「那不是指first person shooter嗎?」


    「不,這次不一樣!」瀨名老師插嘴道:「杉鹿同學說的,應該是frame per sed(畫麵更新率)吧!」


    「f……frame?per……sed?」


    一連串很少聽到的單字組合,讓岸嶺也偏了偏頭。


    「per sed我懂。」天道說。「簡而言之就是『每秒』的意思吧。」


    「沒錯,翻成國語應該就是『每秒顯示影格數』之類的吧。至於它的意思嘛……嗯──隻要懂了就會覺得很簡單,可是要解釋還真難呢。」


    「好吧,那麽這裏就交給我來!」


    最愛做解說的瀨名老師眼鏡耀眼一亮。


    「聽好了!所謂的電玩遊戲都是用程式在跑,這點你們也都知道吧!拜科技進步所賜,如今的電腦能夠一瞬間完成龐大計算,電玩遊戲也就於焉誕生!而遊戲程式又分成相當多種類,像是圖像描繪、接收手把訊號、計算處理攻擊判定等等,相當複雜!這些處理統稱為遊戲回圈,每秒跑三十次或六十次的遊戲回圈,以架構出流暢的遊戲世界!」


    「…………呃。這個……」


    剛才潛艦的例子很好懂,但這次的解說專業術語太多,岸嶺跟不上。


    「聽不懂嗎?那我用動畫來打比方吧!動畫是用幾萬張賽璐珞片連續拍攝製作成的,這你應該知道吧?動畫每秒需要用到十五到二十四張賽璐珞片!遊戲也是一樣,每秒要進行多達幾十次的程式處理,才能描繪出圖像!」


    「總之,一次遊戲回圈處理就叫做一影格,影格數越多動作就越平滑。像是瞬息間決勝負的格鬥遊戲或是stg,大多數都是以六十fps在跑的。如果是電腦需要長時間思考的slg等類別,


    也有的遊戲是三十fps。」


    「原來如此,也就是說畫麵更新率,指的就是『每秒處理幾影格』吧。」


    天道似乎懂了,如此回答。


    「就是這樣!順便一提,為什麽是以六十次為基本呢?因為最近的電視或電腦螢幕每秒能更新的次數大多都是六十次!」


    「哦,原來如此。」


    因為螢幕每秒能描繪六十次,所以遊戲也是每秒描繪六十次。而每一次描繪好像就叫做一影格。


    「我大概明白fps是什麽了。」


    「真的明白了嗎?」杉鹿冷眼瞪著岸嶺。「那我考考你,一影格大約是幾秒?」


    「咦?咦?咦?」


    岸嶺慌張了一下,不過冷靜一下就發現不難。


    「呃──六十分之一秒,就是1÷60……」


    「〇?〇一六六六秒……差不多是〇?〇一七秒吧。」


    或許該說不愧是天道,她一瞬間就算出來了。


    「我很想說你答對了……可惜就差一點,其實這是個陷阱題。我剛才說過有的遊戲每秒跑三十影格,有的跑六十影格,對吧?所以正確答案是『六十fps的遊戲每影格大約〇?〇一七秒,三十fps的遊戲則是〇?〇三三秒』。」


    「……抱……抱歉,我有點跟不上了。」


    「放棄得太快了吧!真拿你沒辦法耶,總之統整起來,就是遊戲每秒會固定做幾十次的處理啦。」


    「這……這樣的話我勉強能理解。不過,我不懂這跟打電動變強有什麽關係耶……」


    「要從基礎用語開始學起,才能進一步說明啊。那就照你的希望,開始進入主題吧。比方說假設有很多玩家想一起玩遊戲,除了分割畫麵之類,就隻有兩種方法,對吧?一種是直接用纜線連接好幾台遊戲機,一種則是經由網路對戰。」


    「嗯,對啊。」


    「可是一般來說,很難在同一個地方準備好幾台遊戲機,對吧?所以最普遍的方法就是網路對戰。」


    「嗯,我們社團也是。」天道點點頭。「遊戲機都是經由網路連接的。」


    「啊,是這樣喔?因為同一間房間裏有多達四台的遊戲機,我還以為是直接連接,而不是用網路呢。」


    「說了你可能覺得意外,其實用纜線反而比較麻煩,而且有的遊戲不對應。如果是網路的話,隻要設定一次路由器,之後就簡單了。」


    「順便一提,jgbc也是用這個方法!jgbc的會場有幾十台遊戲機,但全部都是經由網路連線的!理由是這樣比較能重現參賽者平常的遊戲環境!」


    「那……那麽……也就是說大家在同一個會場,卻特地與遠方的伺服器連線對戰嗎?」


    「對啊。不過啊,不管在什麽樣的環境下,網路對戰都會有個棘手的問題,那就g。」


    g……」


    「你就當作是延遲或滯後的意思就對了。比方說……有了,在玩擬真係fps時,有沒有過一種經驗,就是明明是自己先開槍,卻射輸對方?」


    岸嶺有這個經驗。


    「嗯,有有有。但我那時以為是槍的問題,或是我本領太差。」


    「哎,你的話或許有可能,不過有時候應該也g造成的。聽好嘍,基本上,假設有十個人玩網路對戰,會由十個人當中的一個人開設伺服器,然後十個人都以用戶端程式與伺服器連線。換句話說,開設伺服器的人會同時用到伺服器與用戶端。」


    杉鹿開始在白板上畫一幅新的示意圖。


    首先她在中央寫上「pc1用戶端」,正下方寫上「伺服器」。然後用紅線把「pc1用戶端」與「伺服器」連起來。


    接著她又在周圍寫上「pc2用戶端」「pc3用戶端」「pc4用戶端」,同樣用紅線連到中央的「伺服器」。


    「你應該看得懂這個的意思吧?」


    「勉……勉強。也就是pc1開設了伺服器,然後所有玩家以用戶端程式跟伺服器連線對吧?」


    「沒錯。用戶端程式每隔幾影格,就會把這幾影格之間的手把輸入訊號、移動速度與視線角度等資料一起持續送往伺服器。伺服器處理這些資料,再把結果送回用戶端,顯示在畫麵上。不過也不是所有fps都是如此,像格鬥遊戲的話甚至是每影格都會持續將手把的輸入訊號送到伺服器。喂,岸嶺?你有跟上嗎?」


    「呃,嗯,勉強……」


    「哎,沒差,晚點我再幫你做個總整理。」


    「不過,這真的辦得到嗎?」


    跟岸嶺不同,天道似乎都有聽懂,手托著下巴問道:


    「你說用戶端每隔幾影格,就會把這幾影格之間的手把訊號或角色資料送到伺服器……但十影格也不過才〇?一二秒吧?這麽多資料能送得這麽快嗎?」


    「按鈕訊號的資料量其實不大!」瀨名老師說:「因為基本上一顆按鈕用on跟off就能管理了,加上十字鍵也才十六位元,也就是說隻要有二個位元組就能管理十六顆按鈕了!當然如果再加上類比操作杆或角色的視線角度,問題會再複雜一點,不過因為現代壓縮技術進步的關係,實際上的數字比這更小!而且就連用電話線上網的時代,連線速度都有二八八〇〇bps了,更不要說現在寬頻技術發達,有些廠商甚至主打最高一〇mbps!〇?一秒傳送個幾位元,小意思啦!」


    「原來如此,也是呢。」


    天道好像明白了,但又是位元又是位元組的,岸嶺還是一樣有聽沒懂。


    「啊,岸嶺同學,剛才講的這些不懂沒關係!簡而言之,就是世界一直在進步啦!」


    「哦,這我就懂了。」


    「然後呢,接下來才是關鍵。網路連線速度越來越快是事實,但是在網路上傳遞資料,不管怎麽樣就是會產生延遲。比方說日本與美國單程大約一萬公裏,往返就有兩萬公裏,對吧?就算用光速傳遞資料,也不可能一瞬間就傳到。」


    「對耶,就算光速是每秒三十萬公裏,也還是會產生〇?〇六七秒g呢。」


    天道再度以驚人的心算能力一瞬間算出答案。


    「沒錯。如果是六十fps的遊戲的話,一影格是〇?〇一七秒,單純計算起來就會產生四影格的延遲。在解釋ping的時候我也講過,實際上必須透過數據機或路由器等各種裝置處理資料,所以速度會更慢。一旦延遲達到十影格左右,在一槍致命的擬真係fps就會攸關生死問題,對吧?」


    岸嶺勉強聽懂了她的意思。


    「嗯,對啊。要是被狙擊手爆頭,一槍就沒命了。」


    「所以網路遊戲為了解決這個物理性g,就會做很多處理。比較具代表性的處理方式,就是『在伺服器程式內架構未來世界』。」


    「未……未來世界?」


    話題突然變得好誇張。


    「沒錯。講起來有點複雜,fps的伺服器程式會與用戶端互相傳遞資料,並且架構一個我們看不到的世界。這個世界隻是沒有顯示圖像,其他都一樣,在這個世界裏也有玩家操作的角色在玩遊戲。而且這個世界是未來的世界,不過隻比我們快個幾影格就是了。說成時間進行得比我們快,或許比較好懂?然後用戶端將手把訊號傳送到這個世界,藉此改變過去……應該說重新架構未來世界,再把結果反映到我們的遊戲畫麵上。」


    講到這裏,杉鹿轉向瀨名老師。


    「還是實際演練一下吧。麻煩老師準備一下遊戲,要選一中槍就會沒命的擬真係fps。然後請老師開一個私人房間,叫我們過去。」


    「嗯,我知道了!」


    瀨


    名老師手腳俐落地啟動遊戲,創建了私人房間。


    然後岸嶺等人進入房間,啟動對戰模式。


    「這時候伺服器是在瀨名老師那邊,然後包括瀨名老師在內,我們四個人都以用戶端連接到伺服器。現在,比方說我移動一下角色──」


    杉鹿先把自己的角色移動到天道的角色麵前。現在天道的畫麵上看得到杉鹿,杉鹿的畫麵上也看得到天道。


    「看好嘍。兩個螢幕擺在一起,應該很清楚,你仔細比較一下我跟天道的畫麵。」


    杉鹿把左操作杆稍微往前推了一下,讓角色前進。


    首先,杉鹿畫麵上的角色立刻前進。然後稍微慢了一步,天道畫麵上的角色也跟著移動。


    「唔,杉鹿的畫麵上沒有任何問題,但我的畫麵稍微慢了一點。這就g嗎?」


    「對,不過,這g已經把影響處理到最小了。為了做這個處理,伺服器內才需要描繪『未來世界』。其實不會很難懂,比方說──」


    杉鹿再度指著遊戲畫麵。


    「現在遊戲裏所有角色都沒在動,也沒有人按手把按鈕,所以伺服器內的未來世界,大家應該也都是靜止不動的。可是,如果我現在讓角色前進……」


    杉鹿又推了一下類比操作杆。


    「這樣一來,我輸入的訊號就會送到伺服器,變成『角色在過去移動了』,於是未來世界就會重新計算、架構。然後這份未來的資料會再送回各個用戶端,反映到遊戲上。即使有幾影格無法回避的物理g,因為伺服器程式一直在架構幾影格的未來世界,然後將結果反映給用戶端,所以至少看起來感覺不到太大延遲。開槍也是一樣。」


    杉鹿的角色對天道開了一槍。


    還是一樣,慢了一拍後才出現損傷,使天道的畫麵發出紅光。


    「首先開槍之後,訊號會送到伺服器,反映到未來世界之中,然後伺服器會比對其他角色的位置資料,判斷是否命中。一旦判斷命中了,伺服器就會處理損傷資料,透過網路再送回用戶端,然後才會反映在各個玩家的畫麵上。」


    「……好像聽懂了,又好像沒聽懂。」


    事實上講到這裏,已經超出了岸嶺的理解範圍。


    「嗯,我也開始有點混亂了。」


    就連天道都這麽說。


    「哎,會混亂也是沒辦法的!」瀨名老師說:「簡而言之呢,各位!就是網路對戰一定會有物理性g!為了解決……或者該說掩飾這個問題,伺服器內會描繪未來世界,然後把計算結果反映給用戶端!所以自己看到的畫麵跟別人的畫麵會有誤差!」


    這樣歸納的確比較好懂。


    「講完了這些,才終於能夠回到天道一開始的疑問。」


    「哦,就是用點發打倒敵人的問題,對吧?」


    「簡而言之,就是當你的角色在完全停止不動時被敵人開槍打中了,就算急著想移動,手把訊號『送到伺服器』,『在未來世界做處理』,『再將結果反映到遊戲上』,其實要花蠻多時間的。所以結論就是『從停止狀態開始移動,會比自己的畫麵看起來更花時間』。」


    講到這裏,杉鹿深吸一口氣調整呼吸。


    「啊──真是,講了老半天,結論不過就是這麽一句話:『等到中槍才想躲就來不及了』。」


    「原來是這麽回事啊。」


    天道若有所感地點點頭。


    「你這麽一講讓我想到,有時候被敵人開槍打中之後躲到隱蔽處,卻常會照樣死掉。我甚至還以為是程式漏洞呢……」


    「這正是杉鹿同學解釋的現象!換句話說,中彈之後急著想跑,但是在手把訊號傳送到伺服器,世界更新之前,伺服器已經先做出了中彈判定,角色就死了!」


    「……好像聽懂了,又好像沒聽懂。」


    至於岸嶺還是一樣,有點丈二金剛摸不著頭腦。


    「你還不懂嗎?總之,一旦你讓角色停下來,自己的畫麵看起來可能還好,在其他玩家的畫麵上卻已經站很久了。站著不動的敵人打起來最輕鬆了對吧?為了預防這一點,重要的是盡量不要停下來,並且盡量避免讓動作變慢。理論不懂沒關係,明白這一點就夠了。」


    「啊,嗯,歸納得這麽簡短,我總算聽懂了。」


    「而且連線g,會因為一點小原因而輕易變嚴重。隻要哪邊發生網路塞車,馬上就會造成嚴gg如果太嚴重,或者說ping太差,有時候會發生明明是自己先開槍,卻還是被對手射殺的現象。」


    「簡而言之,就是如果跟對手完全同時開槍,贏的會是──ping比較好的一方?」


    杉鹿點頭回答天道的問題。


    「哎,就是這麽回事。ping較差的一方就連接收伺服器資料的間隔都會比較長,所以遊戲更新也會斷斷續續的。這樣一來,可能……當然也要看程式怎麽處理,但其他玩家的角色看起來可能會像是在瞬間移動,或是其他類似的現象,總之應該會對自己很不利。」


    「那真的很嚴重……也就是說,現在我們幾個當中,開伺服器的瀨名老師最占優勢?」


    「基本上可以這麽說!」瀨名老師說:「不過,我的用戶端程式應該會基於這點做些調整!再說jgbc之類的大賽網路都很穩,這方麵應該是不用擔心!」


    「不過畢竟還是有物理g,所以動作反映就是會比較慢。非得狙擊或是埋伏的時候沒辦法,但永遠都是隨時移動的一方比較有利。講了老半天的理論,其實結論不過如此。」


    「原來是這樣,所以大家才會說fps裏最難纏的,是殺進敵陣的攻擊手?」


    「哎,算是原因之一啦。總之,我的講課就到此結束。知道理論當然很重要,不過遊戲本領不是靠理論就能變強的。好啦,差不多該來玩遊戲了吧。」


    「也是。那麽為了實踐杉鹿的教導,今天照常開始正式的社團活動吧。」


    就這樣,岸嶺等人用剩下的時間大玩特玩fps。


    不久之後,岸嶺將以攻擊手之名在jgbc一舉成名,不過那又是另一個故事了。

章節目錄

閱讀記錄

我與她的遊戲戰爭所有內容均來自互聯網,uu小說網隻為原作者師走透的小說進行宣傳。歡迎各位書友支持師走透並收藏我與她的遊戲戰爭最新章節