2015-07-03 68 views
0

這是我在這裏的第一篇文章,所以如果我做錯了任何事,我都會道歉,所以我希望不會這樣做!因此,讓我更詳細地介紹它。團結,讓AI跑向變形航點,也遠離玩家?

我目前正在爲遊戲寫人工智能。我需要讓人工智能執行的是運行到我已經放置在地圖上的變形航點(例如逃生),同時也不會選擇讓他們跑過嚇跑它們的玩家的航點。

我不知道從哪裏開始真的。我可以讓AI遠離玩家,但不會跑到特定的航點,並且我可以讓AI進入特定的航點,但不能同時進入。基本上我所有的路徑都在那裏,我只需要一種方法來選擇合適的航點。

任何幫助或正確的方向點至少會是如此有用。謝謝。

+0

你可以發佈你的代碼嗎? –

+0

我還沒有開始爲這個問題寫任何東西,因爲我不知道從哪裏開始。我可以告訴你我的AI是如何設置的。基本上,我提供了一個目標變換,它會在那裏。這裏的所有都是它的。我的問題在於選擇轉換點的邏輯,AI要轉到遠離玩家的位置,所以看起來他們正在逃跑,但要到一個合理的地方,如出口或電話尋求幫助(用我需要爲目標選擇的變換標記出來)。 –

回答

0

您可能希望在Google中查找路徑規劃算法,查看哪些算法符合您的要求。

想一想,潛在的場路徑規劃算法出現在我腦海。它可以讓你設定一個目標,同時避開障礙物(在這種情況下,玩家會成爲障礙)。

你可以讀到這裏:http://www.cs.mcgill.ca/~hsafad/robotics/,並在互聯網上搜索以獲取更多信息。

Image of the algorithm

因此,基本上,你有一張地圖,地圖中的每個點都有一個載體,載體應導致你的目標。靠近障礙物的向量遠離它。

現在,這是偉大的,當你有一個靜態障礙物,因爲你只計算力場,在每個點的矢量,有一次,你不需要繼續做下去。但是對於你的情況,我想玩家可以移動,如果玩家移動,那麼你必須再次計算矢量,所以在你的情況下,你必須計算地圖每個點的矢量,每次用戶移動時,所以這不是一個理想的解決方案,但它可能會讓你開始。

這種算法也有局部極小的問題:

S = starting point; T = target

但我認爲這在網頁中我前通過解決(他們有一個例子實現)。

如果不這樣做,你可能想搜索在谷歌「的路徑規劃算法」,甚至「路徑與移動的障礙物規劃」,並把玩家的一個障礙。

編輯

你可以嘗試輕鬆地實現這樣的:

在這些圖像中可以看到AI綠色,玩家在紅色和黃色的目標。每個廣場的數字是到目標的距離。

First step

在你看到的是,距離1開始的目標,一個單位每平方米的,就像這第一張圖像。

Second step

這第二圖像是一樣的,但廣場的價值增長周圍的玩家都高,高出多少您決定,但我做到了這樣,如果+2與其相鄰的球員,+1,如果它進一步。

現在機器人只需要選擇數字較小的方格。所選路徑以灰色突出顯示。

Result

這最後的影像是值相加的結果。

在下一個例子中,你可以看到AI實際上向左移動一點,因爲它離玩家太近了。

Example

+0

我一直希望我不必深入研究,因爲我正在使用「A *尋路項目」作爲尋路解決方案。我希望有一個更高層次的解決方案,我可以選擇一個遠離玩家的好預定點(轉換)。但非常感謝你的詳細信息。如果沒有人能提供更高級的解決方案,這絕對是一種選擇。 :) –

+0

@WilliamPark我編輯了這篇文章,看看這些圖片,也許這更容易實施和思考。 – ArianJM

+0

絕對驚豔的幫助。非常感謝。 –

0

那麼上面貼得有點多了什麼,我想要的目的。我必須徹底根除我的整個尋路系統。

我的問題的一個更簡單的解決方案是,而不是檢查最接近AI的轉換,我檢查了離我的播放器最遠的一個。雖然這並不完美,但我得到了令人滿意的結果,並且通常會讓AI遠離玩家。