Path of Exile — 地圖碰撞偵測分析與路徑規劃

Xtutlab
2 min readOct 15, 2020

--

在製作遊戲輔助程式,如果遊戲中,沒有自動尋路的功能,那麼分析地圖的碰撞偵測就會顯得非常困難,因為要知道遊戲中的障礙物的位置,並且還要透過一些路徑規劃(A*演算法),才能走到想要到的位置,因此整體上來說,會花比較多的時間在分析遊戲地圖。

這裡是將產生空白地圖的空間,可以知道地圖的相關資訊。

1. [ecx+0x38] 是存放行的相關資訊 (行等於[ecx+0x38] * 0x17)。

2. [ecx+0x68] 是存放列的相關資訊。

3. ebx是暫存地圖的整體大小。

從這邊可以知道遊戲碰撞偵測的演算法,並撰寫尋路的功能。

演算法步驟:

  • 獲取地圖值:Map的基址 + y * 列的大小 + x / 2
  • 判斷x的奇偶數
  • 奇數將地圖值除以16,偶數跟0xF做and運算
  • 判斷是否大於2 (大於2就是可以走得路徑)

下面的影片是自動的走道傳送站的前面。

更多技術文章

https://xtutlab.blogspot.com

https://www.facebook.com/Xtutlab-%E6%95%99%E5%AD%B8%E5%AF%A6%E9%A9%97%E5%AE%A4-345668095840741/

--

--

Xtutlab
Xtutlab

Written by Xtutlab

大家好,我是Shin,曾任職於行政院國家資通安全會報技術服務中心(NCCST),參與106金盾獎決賽出題以及在HoneyCon 2015、2016擔任Workshop講師,熱愛駭客技術、程式設計以及電腦科學,並且會不定期發表駭客技術教學文章,希望大家會喜歡!

No responses yet