《魔獸世界》的尋路體系和作弊原理分析

2021-04-01 00:21:16 字數 1050 閱讀 1666

《魔獸世界》的尋路體系和作弊原理分析

2005-5-21

尋路模型:用於尋路的世界可通行(不可通行)區域的資料結構。

2d遊戲通常使用格仔系統,對複雜的

3d場景一般使用基於三角面的系統,也有預設路徑等其他多種模式,也有些遊戲不使用尋路模型,而直接在顯示模型上做物理碰撞測試。

顯示模型:這裡指的顯示模型是指和實際顯示十分接近的場景模型,並不一定直接用於顯示。尤其是在

d3d的批發送模式下,用於物理檢測的顯示模型和實際的顯示資料流很難在不犧牲效率的情況下使用相同的資料結構。

魔獸使用的模式是:

server

端只有極簡的尋路模型和障礙資料層,客戶端只有顯示模型用於物理檢測而沒有尋路。魔獸使用的尋路模型資料好像過於精簡,尤其是在曠野地區,沒有任何關於地表起伏的描述,全靠障礙資料層讓尋路時可以繞開一部分障礙。

利:1.

大計算量和資料量的物理檢測放在客戶端,使

server

端尋路的計算和記憶體負載都變得極輕。對

50平方千公尺的連續地圖,尋路資料都很小可以一次全部裝載。

2.客戶端省去了尋路資料的記憶體開銷和計算開銷。

弊:1.

由於尋路模型過簡,在大部分地方

server

不知道陡坡和柵欄的存在,所以怪物可直接上懸崖,可以穿越柵欄,火球可以穿越地面和樹木。

2.由於上面的原因,在客戶端就可以作弊,繞開物理檢測,就可以有和怪物相同的能力。

一就是上面提到的問題,由於

server

端沒有詳細的尋路模型資料,對玩家的限制是在客戶端使用物理檢測實現的,只要直接給

server

發命令是可以繞開物理檢測限制的。

二是它使用的操作模式,即鍵盤控制移動的模式,是可以在速度上作弊的。因為依賴於不斷的給

server

發命令包,而網路狀況又是不穩定的,假如正常時每秒

5個前進命令包,而由於網路擁堵

server

經常可能在一秒內一下接收

20個前進命令包。短時間內很難區分是作弊還是正常的擁堵,只有長時間持續高速移動才能被自動檢測出來。

《魔獸世界》的尋路體系和作弊原理分析

尋路模型 用於尋路的世界可通行 不可通行 區域的資料結構。2d遊戲通常使用格仔系統,對複雜的3d場景一般使用基於三角面的系統,也有預設路徑等其他多種模式,也有些遊戲不使用尋路模型,而直接在顯示模型上做物理碰撞測試。顯示模型 這裡指的顯示模型是指和實際顯示十分接近的場景模型,並不一定直接用於顯示。尤其...

python尋路 Python版的A 尋路演算法

關閉 致敬愛的及本站會員的一封信 作為碼農集市 coder100 平台的站長,我不得已採取這樣的方式來和各位來到我們平台逛逛的小伙們做一次推心置腹的暢談。真誠的希望您能夠抽出寶貴的一點時間認真閱讀以下我所闡述的內容,以此讓我們彼此之間能夠達成一定的共識,這樣對於彼此非常重要!為了讓我的闡述更加的直白...

python尋路 Python中的尋路效率

我寫了一些 在樹狀流網路中找到給定範圍上游的所有路徑。例如,如果我表示以下網路 4 5 8 2 6 9 10 1 11 3 7 作為一組父子對 它將返回節點上游的所有路徑,例如 get paths h,1 edited,had 11 instead of 1 in before reach 2 re...