久久精品人妻一区国产传媒国产精品|51黑料吃瓜网在线观看色噜噜色偷偷30根|久久久久久久久国产在亚洲中文字幕人妻|91av福利china人妻91九色|国语精品视频自产自拍|色婷婷av一区二区三区久久|国产91丝袜在线|亚洲二区中文字幕|91久久精品中文内射|中文 欧美 日韩,3d色噜噜狠狠一区二区三区,国产精品福利99,国产精品传媒网站

我的訂單|我的收藏|我的商城|幫助中心|返回首頁(yè)
搜維爾[SouVR.com]>服務(wù)>案例分享 應(yīng)用研究>案例分享>軟件開發(fā)

Unity:事實(shí)or謠言,,揭秘三種常見網(wǎng)絡(luò)代碼誤區(qū)

文章來(lái)源: 作者:frank 發(fā)布時(shí)間:2021年12月03日 點(diǎn)擊數(shù): 次 字號(hào):

創(chuàng)建并運(yùn)營(yíng)一個(gè)多人游戲并不容易,,而且與單人游戲相比,往往涉及更多的部分,,因?yàn)樗械臇|西都需要與其他玩家同步,,以創(chuàng)建一個(gè)一致的、共享的世界,。

多人游戲開發(fā)難題的一個(gè)核心部分是網(wǎng)絡(luò)代碼——處理游戲玩家和服務(wù)器之間“how”和“what”通信的代碼部分,。

然而,,“網(wǎng)絡(luò)代碼”這個(gè)詞常常會(huì)為人們帶來(lái)不好的印象,經(jīng)常被歸咎于延遲和糟糕的多人游戲體驗(yàn),。

在本文中我們將帶領(lǐng)大家深入探討這些常見的誤解,,并一一證實(shí)關(guān)于網(wǎng)絡(luò)代碼的誤解,這有助于推動(dòng)更多的創(chuàng)作者使用網(wǎng)絡(luò)代碼創(chuàng)建多人游戲,。

什么是網(wǎng)絡(luò)代碼,?

Netcode指的是多人游戲開發(fā)中的“創(chuàng)建”部分,是一個(gè)總括術(shù)語(yǔ),,指的是游戲中處理客戶端和服務(wù)器之間聯(lián)網(wǎng)和同步的部分,。

在多人游戲中,服務(wù)器和客戶端通過(guò)網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)包相互通信,。為了在遠(yuǎn)距離連接的游戲玩家之間創(chuàng)造一個(gè)可以共享的平臺(tái),,如移動(dòng)角色或生成對(duì)象等游戲事件可以以發(fā)送數(shù)據(jù)包的形式同步到其他客戶端。負(fù)責(zé)通過(guò)網(wǎng)絡(luò)發(fā)送和接收數(shù)據(jù)包的部分我們稱之為“Transport(即傳輸)”,。

雖然我們可以通過(guò)直接調(diào)用傳輸?shù)陌l(fā)送功能來(lái)手動(dòng)發(fā)送這些數(shù)據(jù)包,,但這種模式很快會(huì)讓沒(méi)有多少多人游戲經(jīng)驗(yàn)的程序員們難以承受。

網(wǎng)絡(luò)代碼庫(kù)利用了網(wǎng)絡(luò)變量和遠(yuǎn)程步驟調(diào)用(RPC)等功能,,將發(fā)送的數(shù)據(jù)包從游戲代碼中抽離出來(lái),。

Unity有兩個(gè)網(wǎng)絡(luò)代碼包,游戲?qū)ο蟮木W(wǎng)絡(luò)代碼(預(yù)發(fā)行)和實(shí)體的網(wǎng)絡(luò)代碼(實(shí)驗(yàn)版),。

三個(gè)常見的網(wǎng)絡(luò)代碼誤區(qū)與事實(shí)

誤區(qū)1:“在游戲開發(fā)中可以隨時(shí)轉(zhuǎn)換到多人模式”

謠言:在游戲的開發(fā)周期中,,多人游戲可以在開發(fā)的后期添加到頂部。

事實(shí):多人游戲?qū)嵤┢饋?lái)很有挑戰(zhàn)性,。如果你想讓玩家在游戲中體驗(yàn)多人游戲,,那么你應(yīng)該在設(shè)計(jì)和開發(fā)中盡早考慮添加多人游戲。

為什么呢,?多人游戲幾乎觸及了游戲的每一個(gè)方面,,所以它也影響了游戲的發(fā)展。例如,,如果在一個(gè)游戲中有一個(gè)庫(kù)存系統(tǒng),,多人游戲?qū)⑿枰綆?kù)存物品到服務(wù)器。

在單人游戲體驗(yàn)中,,也有許多相當(dāng)容易實(shí)現(xiàn)的東西,,當(dāng)你試圖將它們放入多人游戲時(shí)便會(huì)非常的困難。

你有沒(méi)有想過(guò)為什么大多數(shù)多人游戲使用運(yùn)動(dòng)角色控制器,,并且只有非常少的物理交互,?這些游戲之所以這樣做,是因?yàn)閷?shí)現(xiàn)在多個(gè)客戶端之間共享物理模擬和預(yù)測(cè)物理模擬是一個(gè)真正令人頭疼的問(wèn)題,,即使對(duì)有經(jīng)驗(yàn)的開發(fā)人員來(lái)說(shuō)也是如此,。

這里給出的建議是盡早檢查你的游戲功能是否適合多人游戲——尤其是如果你的游戲有一個(gè)其他游戲中不常用的獨(dú)特機(jī)制,。

誤區(qū)2:“延遲越低越好”

謠言:對(duì)于多人游戲來(lái)說(shuō),延遲越低越好,。因?yàn)檠舆t越低,,游戲體驗(yàn)越好,。

事實(shí):雖然保持低延遲對(duì)于向玩家提供流暢的體驗(yàn)很重要,,但提供一致的體驗(yàn)也同樣重要。以同步狀態(tài)來(lái)創(chuàng)建一個(gè)共享的空間可能需要很少的時(shí)間,,而這對(duì)于游戲中的玩家來(lái)說(shuō)影響可以說(shuō)是微乎其微,。

為什么呢?為所有玩家提供流暢一致的體驗(yàn)并不總是有利于實(shí)現(xiàn)低延遲,。

提高游戲流暢度和一致性最常用的技術(shù)是緩沖,。

這里提到的緩沖技術(shù)不是立即處理來(lái)自網(wǎng)絡(luò)傳入的數(shù)據(jù)包,而是將數(shù)據(jù)包放入隊(duì)列,。在每個(gè)波動(dòng)點(diǎn)期間(游戲模擬的單次更新),,客戶端從隊(duì)列中取出(理想情況下)一個(gè)數(shù)據(jù)包,并同時(shí)嘗試在隊(duì)列中保持一定大小的緩沖元素,。

這確保了當(dāng)服務(wù)器每次發(fā)送一個(gè)數(shù)據(jù)包時(shí),,客戶端也總是每次處理一個(gè)數(shù)據(jù)包。

但是為什么要這樣做呢,?原因很簡(jiǎn)單,,如果客戶端立即處理傳入的數(shù)據(jù)包,它不是也會(huì)收到一個(gè)數(shù)據(jù)包嗎,?在完美的網(wǎng)絡(luò)條件下,,這是完全可能實(shí)現(xiàn)的,但是通過(guò)網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)包可能都有不同的傳輸延遲,。

每個(gè)數(shù)據(jù)包的往返時(shí)間(RTT)的波動(dòng)我們稱為“抖動(dòng)”,。緩沖便是一種增加延遲但減少抖動(dòng)的技術(shù),我們最終會(huì)通過(guò)緩沖(增加延遲)以為多人游戲提供更多的一致性從而改善玩家體驗(yàn),。

示例:格斗游戲通常需要玩家以正確的節(jié)奏快速按下一系列按鈕,。玩家通過(guò)肌肉記憶一遍又一遍地練習(xí)來(lái)學(xué)習(xí)這些動(dòng)作。為了讓格斗游戲更加公平,,玩家角色的最終動(dòng)作與給出的輸入保持一致是非常重要的,。

那么很多格斗游戲是怎么做到這種一致性的呢?他們以固定的速率輪詢輸入,,然后適當(dāng)緩沖這些輸入,。通過(guò)這樣做,他們將玩家輸入一致地映射到游戲框架上,。這樣會(huì)讓平均輸入延遲增加,,但延遲會(huì)變得更加一致,。

雖然增加更多的緩沖會(huì)使游戲更流暢,但在許多情況下,,這會(huì)導(dǎo)致太多的延遲,,玩家最終會(huì)感受到他們的輸入與屏幕上的游戲動(dòng)作產(chǎn)生不一致。

這里有一些不同的技術(shù)可以應(yīng)用于獲得緩沖的平滑性而沒(méi)有延遲損失,。通過(guò)使用官方客戶端游戲?qū)⑼婕医巧妮斎肓⒓磻?yīng)用到游戲當(dāng)中,,這使得本地玩家的延遲最小化。其他玩家仍然可以緩沖數(shù)據(jù),,讓敵方玩家顯示更流暢,。

雖然這種方法對(duì)玩家來(lái)說(shuō)感覺(jué)很好,但它會(huì)導(dǎo)致其他問(wèn)題,,因?yàn)樗棺鞅鬃兊萌菀椎枚唷?/p>

對(duì)于競(jìng)技游戲,,可以使用一種稱為客戶端預(yù)測(cè)的技術(shù)。它所做的是立即應(yīng)用本地玩家的輸入,,但服務(wù)器也會(huì)通過(guò)應(yīng)用相同的輸入來(lái)計(jì)算玩家的動(dòng)作,,并檢查客戶端是否執(zhí)行了有效的移動(dòng),并在必要時(shí)進(jìn)行糾正,。

誤區(qū)3:“帶寬是免費(fèi)的”

謠言:寬帶合同太便宜了,,這一定意味著帶寬是免費(fèi)的。

事實(shí):帶寬不是免費(fèi)的,,不同地區(qū)的成本可能不同,,有些地區(qū)對(duì)使用的帶寬收費(fèi)明顯高于其他地區(qū)。

這是為什么呢,?與商業(yè)服務(wù)器的價(jià)格相比,,私人寬帶合同通常相當(dāng)便宜。寬帶合同非常便宜的原因是因?yàn)榇蠖鄶?shù)人會(huì)使用一小部分帶寬,,而且很少使用,。商用服務(wù)器則非常不同。它們通常大部分時(shí)間都在運(yùn)行,,游戲服務(wù)器通常支持?jǐn)?shù)百名玩家的流量,。因此,托管公司按每千兆字節(jié)使用量收費(fèi)是很常見的,。

這意味著節(jié)省帶寬對(duì)于降低運(yùn)營(yíng)成本非常重要,。除此之外,擁有一款帶寬使用率較低的游戲?qū)⒆尵W(wǎng)速較慢的玩家更好地享受你的游戲,。

多人游戲中最常見的延遲原因之一是用戶家庭網(wǎng)絡(luò)的擁塞,。雖然這種情況經(jīng)常發(fā)生,因?yàn)榫W(wǎng)絡(luò)上有其他繁重的流量,,如視頻流,,但降低游戲的帶寬成本仍有助于改善玩家體驗(yàn),。

打造你的下一個(gè)多人游戲

建立一個(gè)多人游戲雖然富有挑戰(zhàn)性,但在游戲完成的同時(shí)也非常有成就感,。無(wú)論你是在打造下一部《皇家保衛(wèi)戰(zhàn)》,,還是一部擁有舒適性的在線合作游戲,了解這些網(wǎng)絡(luò)代碼的細(xì)微差別都是非常有幫助的,。

電話:010-50951355 傳真:010-50951352  郵箱:[email protected] ,;點(diǎn)擊查看區(qū)域負(fù)責(zé)人電話
手機(jī):13811546370 / 13720091697 / 13720096040 / 13811548270 / 13811981522 / 18600440988 /13810279720 /13581546145

  • 暫無(wú)資料
  • 暫無(wú)資料
  • 暫無(wú)資料
  • 暫無(wú)資料
  • 暫無(wú)資料