2011-05-11 45 views
2

想知道是否有人有執行尋路的知識,但使用氣味。 「敵人」走向的方式是,周圍節點的氣味越強烈。在遊戲中使用C#進行基於氣味的路徑查找

感謝

+0

世界規則是非常基本的,它是專爲外國人捕食者。這個想法只是使用簡單的尋路(即一個紅色的斑點和一個黃色的斑點),黃色的打擊使用氣味來發現紅色和氣味的顏色由於敵人的距離增加/減少。 – user748940 2011-05-11 15:10:23

回答

1

每次遊戲更新(或一些其他的,不太頻繁的時間框架),增加接近到目標對象(紅色斑點)是節點的氣味值。

將所有節點氣味值減少一些下降量爲零。

在黃色斑點的思考/移動功能獲取可用節點移動到。移向具有最高氣味值的節點。

根據節點的數量,「減少所有節點氣味值」可以通過optomisation進行,例如,也許維護一個非零節點列表將被減少。

1

不太清楚是什麼問題是特別 - 但這似乎只是描述Ant colony optimization problem的另一種方式:

在計算機科學和業務 研究,蟻羣 算法(ACO)是用於解決計算問題的概率性 技術 問題可以減少到 通過圖尋找好的路徑。

1

好吧,考慮一下。

我的想法是將遊戲區域分成32x32的區域(或任何您的角色的大小)。然後每隔x秒進行一次檢查(如果它們仍然保持不變,它們周圍的瓷磚將具有更多'氣味'),以找出任何給定瓦片上的氣味有多強。一些例子可能是:1)如果你越過瓦片,加3; 2)如果你越過相鄰的瓷磚,加1。

然後添加像退化隨着時間的推移,每x瓦減少1,直到它達到零。

您將需要擔心的最後一件事是使用AI來跟蹤此路徑。我建議把AI放在某個地方,然後告訴它找到一個帶有氣味的節點,然後轉到一個具有更高/相等價值氣味的相鄰節點。另外還擔心會把路徑取走。如果玩家走上一條路,然後往另一個方向回退,確保AI始終只是採取循環迴路。
用AI來看最後一件事就是增加一些錯誤。每隔一段時間就讓AI走錯路。或者更輕鬆一些。

這些都是關鍵,我敢肯定你可以想出更多的,有更多的頭腦風暴。

3

是的,我做了我的大學最終項目的主題。

這個想法的應用之一是找到shortest path。 這個想法是,「氣味」,就像你說的那樣,隨着時間的推移會衰減。但兩點之間的最短路徑將具有最強烈的氣味。

看看這個paper

你想知道什麼?

+0

我想發現如何實際將它實現到我的C#A *&Dijkstra尋路 – user748940 2011-05-11 15:20:07

+0

要將它合併到A *修改啓發式函數以合併我的問題中提到的'氣味值'。對於dijkstra,只喜歡較高的氣味值 – 2011-05-11 15:28:17

0

我看到了氣味模型和尋路之間的矛盾。對於自然界中的獵人來說,通過氣味找到路徑意味着準確找到跟隨主體所使用的路徑。而在遊戲尋路意味着找到兩點之間最快的路徑。這是不一樣的。 1.在模擬氣味時,您將計算該點的氣味濃度,因爲周圍濃度的總和乘以不同的因子。從這個點搜索最快的路徑意味着將周圍點的最小時間乘以不同的參數。 2.計算你應該使用遞歸模型的氣味 - 香味往四面八方,包括落後。在尋路的情況下,如果你發現目標周圍的點的最短路徑,它們不會改變。 3香水的級別可以上升和下降。在尋找路徑時,搜索最小值時,結果永遠不會上升。

所以,氣味模型確實比您的目標複雜得多。當然,我所說的,只適用於標準的情況,你可以有一些非常特殊的東西...