無縫遊戲世界伺服器如何處理邊界問題?

時間 2021-05-31 16:36:01

1樓:Daly

無縫切換是個有趣的問題,就是agent管理權移交的問題。手機在行進的車上跨越兩個基站範圍並保持通話就是無縫切換的例子,GSM有一套成熟的協議來處理。

說回遊戲,就是player或者npc物件的管理權跨了程序,如果沒有AOI,像手機那樣直接切歸屬就可以了。但是即時制遊戲有視野問題,在程序的邊界需要看到另乙個程序的物件。

BigWorld引擎的做法類似 @范子逸 所說的。是在對岸程序建立了乙個映象物件(叫做ghost),AOI資訊會在兩個程序間同步,當離開了邊界一定範圍(就是在對方程序AOI範圍以外,就完全刪掉那個映象)

如果在邊界大量聚集人穿來穿去,或者發生大規模鬥毆,程序間同步通訊量暴增。 BigWorld的邊界是動態調整的,根據負載來。不過個人覺得這樣自動的邊界調整有點不可控,可以通過遊戲設計的層面避免邊界有大量人聚集。

最後,其實絕大部分遊戲沒必要做到AOI的無縫,可以通過設計層面來解決的,把空間分隔就不需要無縫切換了,不會影響很多玩家體驗,問題難度一下降低很多。

2樓:范子逸

WOW不知到。在Big World引擎裡,比如兩個相鄰的場景1、2分布在不同的伺服器A、B上。場景相鄰的部分會有部分重疊區域同時存在於A、B兩台伺服器上。

乙個角色C 從場景1移動到場景2的過程如下:

位於場景1 -》伺服器A 單獨處理。

位於場景1、2的重疊區域 -》 伺服器A、B 個有乙個拷貝,兩台伺服器上C的資料保持同步。

場景2 -》 伺服器B 單獨處理。

客戶端上根據角色的移動預先載入相鄰區域的資料就可以平滑切換了。

如何測試伺服器頻寬?

全是軟文。作為各種 大廠 廣告連個問題都不能正面回答?我來做大惡人。Linux為例 apt install python3 python3 pippip3 install speedtest clispeestest cli 輸出結果就是實際上下傳頻寬。多次測試。windows為例 直接瀏覽器訪問h...

遊戲為什麼選擇高防伺服器?

嘿嘿嘿 因為遊戲行業很容易被同行或者其他的壞人淦,選個高防伺服器,上個高防IP,會減少你很多很多很多的麻煩,畢竟攻擊你的人也是要成本的,而且選擇個境外的伺服器,不用備案,怎麼樣,心動嗎?沒有我就再等一等 小鳥雲計算 遊戲行業是DDoS攻擊的高發行業,惡意競爭的情況時有發生,競爭者通常採用CC攻擊等惡...

如何選用高防伺服器?

網盾科技 在實際意義的網路攻防過程中,無論是傳統的IDC資料中心還是現在以武漢五里界BGP資料中心為首的BGP資料中心,伺服器一直是重中之重。企業使用者需要在自己的網路業務層面上,採取高防伺服器防禦辦法,構建與數位化業務相匹配的高防禦能力,將業務與資訊科技真正結合起來,提高企業伺服器的高防禦能力 保...