遊戲開發中的人工智能——移動模式

轉載至  閱讀筆記-遊戲開發中的人工智能-第3章-移動模式

1. 標準算法
    移動模式,實際上就是控制角色移動的方式。比如:可以建立圓形、方形、蛇形、曲線以及其他類型的模式。
    標準移動模式算法使用控制指令,指示計算機控制的角色,在每一輪遊戲循環中如何移動。
    下以一個蛇形的移動模式爲例,進行說明:
    下面就是一組控制指令 :
                     (turn_right, turn_left, step_forward, step_backward)
                     (0, 0, 2, 0) 
                     (0, 0, 2, 0)
                     (10, 0, 0, 0)
                     (10, 0, 0, 0)
                     (0, 0, 2, 0)
                     (0, 0, 2, 0)
                     (0, 10, 0, 0)    
    有了上面這些控制指令,只有重複依次調用這些指令,就能讓角色進行蛇形移動了。
    準備多個模式,選擇使用可以讓角色更加智能。

2. 磚塊環境中的移動模式

    對於磚塊環境,可以指定一系列要移動到的點的相對位置(相對於起始點)。
    比如一個方形的移動模式可以表示爲:
                     (10,  3, 18,  3)
                     (18,  3, 18,  12)
                     (18, 12, 10, 12)
                     (10, 12, 10, 3)
    對於這四個點,就能得到要移動的四條線段,然後利用第二章中的視線移動方法,算出這四條線段的路徑,通過這些路徑就能很好的控制角色的移動了。書中給出了具體使用Bresenham進行計算移動模式路徑的實際代碼。
    有的時候希望角色的移動更加難以預測,以方形移動模式爲例,要麼順時針移動,要麼逆時針移動,這太容易被玩家發現了,可以建立一個數組,將所有可以移動到的位置置爲1,其他置爲0,這樣,每走到一個位置時,隨即選擇可以走的位置,這樣就可能順時針走幾下就回頭了。還可以更加精細控制,比如:限制只能在拐角處,作出隨即選擇,或者玩家角色和控制角色在一條直線時(認爲此時角色可能看到玩家角色了),向玩家角色的方向移動等等。

3. 仿真物理環境中的移動模式

    這部分主要是和仿真物理引擎打交道,比如:前進和移動的速度和最大速度,轉動的角度和最大角度,等等,移動模式的設置,需要考慮到仿真環境的情況。通過分析物理引擎的情況,給出若干條指令來完成一個模式,感覺和第一節中的情況很類似。

 

發佈了133 篇原創文章 · 獲贊 4 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章