您可能希望在Google中查找路徑規劃算法,查看哪些算法符合您的要求。
想一想,潛在的場路徑規劃算法出現在我腦海。它可以讓你設定一個目標,同時避開障礙物(在這種情況下,玩家會成爲障礙)。
你可以讀到這裏:http://www.cs.mcgill.ca/~hsafad/robotics/,並在互聯網上搜索以獲取更多信息。
因此,基本上,你有一張地圖,地圖中的每個點都有一個載體,載體應導致你的目標。靠近障礙物的向量遠離它。
現在,這是偉大的,當你有一個靜態障礙物,因爲你只計算力場,在每個點的矢量,有一次,你不需要繼續做下去。但是對於你的情況,我想玩家可以移動,如果玩家移動,那麼你必須再次計算矢量,所以在你的情況下,你必須計算地圖每個點的矢量,每次用戶移動時,所以這不是一個理想的解決方案,但它可能會讓你開始。
這種算法也有局部極小的問題:
但我認爲這在網頁中我前通過解決(他們有一個例子實現)。
如果不這樣做,你可能想搜索在谷歌「的路徑規劃算法」,甚至「路徑與移動的障礙物規劃」,並把玩家的一個障礙。
編輯
你可以嘗試輕鬆地實現這樣的:
在這些圖像中可以看到AI綠色,玩家在紅色和黃色的目標。每個廣場的數字是到目標的距離。
在你看到的是,距離1開始的目標,一個單位每平方米的,就像這第一張圖像。
這第二圖像是一樣的,但廣場的價值增長周圍的玩家都高,高出多少您決定,但我做到了這樣,如果+2與其相鄰的球員,+1,如果它進一步。
現在機器人只需要選擇數字較小的方格。所選路徑以灰色突出顯示。
這最後的影像是值相加的結果。
在下一個例子中,你可以看到AI實際上向左移動一點,因爲它離玩家太近了。
你可以發佈你的代碼嗎? –
我還沒有開始爲這個問題寫任何東西,因爲我不知道從哪裏開始。我可以告訴你我的AI是如何設置的。基本上,我提供了一個目標變換,它會在那裏。這裏的所有都是它的。我的問題在於選擇轉換點的邏輯,AI要轉到遠離玩家的位置,所以看起來他們正在逃跑,但要到一個合理的地方,如出口或電話尋求幫助(用我需要爲目標選擇的變換標記出來)。 –