來源:互聯網
《異常》是一個關於AI程式設計的遊戲。在遊戲中,玩家要幫助虛擬世界中的機器人打敗敵人。但是玩家不能直接控制這些機器人,而是要為它們編寫AI程式,通過程式來控制它們。遊戲是單機、順序過關式的流程,在每一關裡,玩家不但要分析過關的策略,還要給機器人編寫程式以實現自己的策略。在遊戲後期,玩家還需要為多個不同類型的機器人編寫不同的行為模式,並讓它們配合過關,具有相當的挑戰性。
遊戲玩法
遊戲按照程式的編寫模式來給AI安排指令,雖然說是寫程式不過只是讓玩家從4個既定的指令中選擇和安排。
移動:設置路點後單位會按照已設置的路點順序移動。站立即是原地站立不動。相對而言,尋路則會自主尋找路線向目標點前進,主動避開敵人威脅而不進入敵方射程。
開火/停火:對面向的方向進行攻擊或者停止攻擊。
警戒:當發現敵人的時候有撤退和進攻兩種選擇,撤退意味著撤離交戰區域,追擊則意味著對目標進行持續攻擊直到其中一方死亡。警戒時長意味著在某個路點上待命的時間長度。
信號:通過信號告知其他單位觸發資訊(就是設置觸發點),和其他單位配合使用。信號最多可以設置9個不同的觸發。發射信號前會有個檢查距離的選項,這點可以説明單位評估到物件的距離及射程,移動時間等,設置時間差給其他單位提供信號支援,檢查距離支援大於,小於,大於等於,小於等於,等於和不等於的判斷。
簡單的單一命令基本無法滿足需求,這時候就需要用到複合指令,利用發現敵人的觸發機制可以讓單位在發現敵人後進入另一條執行指令。對於重複的指令則可以直接複製整段指令達到loop(迴圈)的效果。
在多個單位協同的時候,信號的觸發點就非常有意義了,通過相同的信號觸發點(都設為1或者2),A發出信號,B收到信號,B就會行動,同時縮進級的安排可以讓小指令跟著大指令的判斷方向走而不和其他大指令衝突,這個比較好用。
安排指令思路:
1.設置路點,規劃單位的行動路線
2.根據敵人的行動路線和任務設置觸發資訊。
3.設定單位在啟動觸發點後的行動。
4.對指令進行優化,去除不必要的冗雜指令或者衝突指令,這一條只要多試運行幾次就能找出不合適的指令或者衝突掉其他指令的因素。
5.自檢如果遇到行動不被觸發的問題首先檢查觸發點是否正常,其次檢查指令是否衝突。
單位介紹
偵察兵
視野範圍較大,攻擊和生命值都比較低。
士兵
視野範圍一般,攻擊能力強,生命值較低。
狙擊手
視野範圍一般,攻擊能力極強,生命值一般。
堡壘
視野範圍大,攻擊能力一般,生命值高。
蜘蛛
視野範圍大,攻擊能力一般,生命值一般。
怒火
視野範圍大,攻擊能力高,生命值低。
關卡攻略
第一關-誕生
士兵
移動指令-[路點 ABC]
第二關-視野
士兵
移動指令-[路點 ACDFGIJ]
第三關-路線
士兵
移動指令-[路點 ACDFG]
第四關-優勢
偵察兵
移動指令-[路點 ADE], 開火指令-[開火]
第五關-選擇
士兵
1 移動指令-[路點 A], 開火指令-[開火]
2 警戒指令-[發現敵人] : 移動指令-[站立]
第六關-誘惑
偵察兵
1 移動指令-[路點 B]
2 警戒指令-[發現敵人] : 移動指令-[路點 A], 開火指令-[開火]
第七關-核心
狙擊手
1 移動指令-[路點 BCD], 開火指令-[停火]
2 警戒指令-[發現敵人] : 警戒指令-[撤退], 開火指令-[開火]
第八關-合作
偵察兵
1 移動指令-[路點 ABD]
2 警戒指令-[發現敵人] : 警戒指令-[撤退], 開火指令-[開火], 信號指令-[信號 1 開]
士兵
1 信號指令-[信號 1] : 移動指令-[路點 CD], 開火指令-[開火]
第九關-嚮導
偵查兵1
1 信號指令-[信號 1 關]
2 警戒指令-[發現敵人] : 信號指令-[信號 1 開]
偵查兵2
1 信號指令-[信號 2 關]
2 警戒指令-[發現敵人] : 信號指令-[信號 2 開]
狙擊手
1 開火指令-[停火]
2 信號指令-[信號 1] : 移動指令-[路點 A], 開火指令-[開火]
3 信號指令-[信號 2] : 移動指令-[路點 B], 開火指令-[開火]
第十關-狩獵
偵察兵
1 移動指令-[路點 EFD]
2 警戒指令-[發現敵人] : 警戒指令-[撤退], 開火指令-[開火], 信號指令-[信號 1 開]
士兵1
1 移動指令-[路點 B], 開火指令-[停火]
2 信號指令-[信號 1] : 移動指令-[路點 D]
3 警戒指令-[發現敵人] : 警戒指令-[撤退], 開火指令-[開火]
士兵2
1 移動指令-[路點 A], 開火指令-[停火]
2 信號指令-[信號 1] : 移動指令-[路點 D]
3 警戒指令-[發現敵人] : 警戒指令-[撤退], 開火指令-[開火]
士兵3
1 移動指令-[路點 C], 開火指令-[停火]
2 信號指令-[信號 1] : 移動指令-[路點 D]
3 警戒指令-[發現敵人] : 警戒指令-[撤退], 開火指令-[開火]
第十一關-距離
堡壘
1 移動指令-[路點 BDF], 開火指令-[停火]
2 警戒指令-[發現敵人] : 開火指令-[開火]
3 信號指令-[距離 F < 2] : 信號指令-[信號 1 開]
4 信號指令-[信號 2] : 移動指令-[路點 H]
5 信號指令-[距離 H < 2] : 信號指令-[信號 3 開]
狙擊手
1 信號指令-[信號 1] : 移動指令-[路點 ACE]
2 信號指令-[距離 E < 2] : 信號指令-[信號 2 開]
3 信號指令-[信號 3] : 移動指令-[路點 G]
4 警戒指令-[發現敵人] : 開火指令-[開火]
第十二關-載體
蜘蛛
1 移動指令-[路點 A]
2 信號指令-[距離 A < 4] : 信號指令-[信號 1 開]
3 信號指令-[信號 1] : 移動指令-[路點 B]
4 信號指令-[距離 B < 4] : 信號指令-[信號 2 開]
5 信號指令-[信號 2] : 移動指令-[路點 C]
第十三關-宿命
蜘蛛1/2/3
1 移動指令-[路點 A]
2 信號指令-[距離 A < 3] : 移動指令-[站立]
3 信號指令-[信號 1] : 移動指令-[路點 BCD], 開火指令-[開火]
蜘蛛4
1 移動指令-[路點 A]
2 信號指令-[距離 A < 3] : 信號指令-[信號 1 開]
3 信號指令-[信號 1] : 移動指令-[路點 BCD], 開火指令-[開火]
第十四關-潛行
蜘蛛
1 移動指令-[路點 A]
2 信號指令-[距離 A < 2] : 信號指令-[信號 1 開]
3 信號指令-[距離 C < 2] : 信號指令-[信號 2 開]
4 信號指令-[距離 E < 2] : 信號指令-[信號 3 開]
5 信號指令-[信號 4] : 移動指令-[路點 BC]
6 信號指令-[信號 5] : 移動指令-[路點 DE]
7 信號指令-[信號 6] : 移動指令-[路點 FGHL]
偵察兵1
信號指令-[信號 1], 警戒指令-[發現敵人] : 信號指令-[信號 4 開]
偵察兵2
信號指令-[信號 2], 警戒指令-[發現敵人] : 信號指令-[信號 5 開]
偵察兵3
信號指令-[信號 3], 警戒指令-[發現敵人] : 信號指令-[信號 6 開]
第十五關-陷阱
士兵
1 移動指令-[路點 CD]
2 信號指令-[距離 D < 1] : 信號指令-[信號 1 開]
3 信號指令-[信號 2] : 移動指令-[路點 CA]
4 警戒指令-[發現敵人] : 警戒指令-[追擊], 開火指令-[開火]
偵察兵
1 信號指令-[信號 1] : 移動指令-[路點 C]
2 警戒指令-[發現敵人] : 移動指令-[路點 A], 開火指令-[開火]
3 信號指令-[距離 A < 1] : 信號指令-[信號 2 開]
第十六關-消耗
士兵1
1 移動指令-[路點 A]
2 信號指令-[信號 1] : 移動指令-[路點 BCA 迴圈], 開火指令-[開火]
士兵2
1 移動指令-[路點 B]
2 警戒指令-[發現敵人] : 信號指令-[信號 1 開]
3 信號指令-[信號 1] : 移動指令-[路點 CAB 迴圈], 開火指令-[開火]
士兵3
1 移動指令-[路點 C]
2 信號指令-[信號 1] : 移動指令-[路點 ABC 迴圈], 開火指令-[開火]
第十七關-報酬
士兵
1 移動指令-[路點 B], 開火指令-[停火]
2 警戒指令-[發現敵人] : 移動指令-[站立], 開火指令-[開火]
3 資訊指令-[耐久 < 30%] : 移動指令-[路點 A]
4 資訊指令-[距離 A < 1], 資訊指令-[耐久 < 100%] : 移動指令-[路點 A]
第十八關-警戒
士兵
1 移動指令-[路點 ABC 迴圈], 開火指令-[停火]
2 警戒指令-[警戒狀態] : 警戒指令-[追擊], 警戒指令-[開火]
3 資訊指令-[距離 A < 8] : 警戒指令-[撤退](注意第3行的縮進級。)
第十九關-揭示
堡壘
1 移動指令-[尋路 B], 開火指令-[停火], 警戒指令-[警戒時長 10]
2 警戒指令-[警戒狀態] : 警戒指令-[追擊], 開火指令-[開火]
3 資訊指令-[耐久 < 50%] : 移動指令-[尋路 A]
4 資訊指令-[距離 A < 4], 資訊指令-[耐久 < 100%] : 移動指令-[路點 A]
第二十關-震動
怒火
1 移動指令-[尋路 A], 開火指令-[停火]
2 警戒指令-[警戒狀態] : 開火指令-[開火]
偵察兵
1 移動指令-[尋路 B]
2 警戒指令-[發現敵人] : 移動指令-[尋路 A]
第二十一關-升級
偵察兵
1 移動指令-[尋路 B], 開火指令-[停火]
2 資訊指令-[距離 B < 5] : 移動指令-[站立]
3 資訊指令-[友方 > 6] : 移動指令-[尋路 D]
4 資訊指令-[距離 D < 5] : 移動指令-[站立]
5 警戒指令-[發現敵人] : 警戒指令-[撤退], 開火指令-[開火]
第二十二關-威脅
偵察兵
1 移動指令-[路點 C]
2 警戒指令-[發現敵人] : 警戒指令-[撤退]
3 資訊指令-[敵方 > 1] : 資訊指令-[信號 1 開]
堡壘
1 移動指令-[尋路 B], 開火指令-[停火]
2 警戒指令-[發現敵人] : 資訊指令-[信號 1 關]
3 資訊指令-[信號 1] : 移動指令-[尋路 D]
4 警戒指令-[警戒狀態] : 移動指令-[站立], 開火指令-[開火]
狙擊手
1 移動指令-[尋路 D], 開火指令-[停火]
2 資訊指令-[距離 D < 13] : 移動指令-[站立]
3 資訊指令-[信號 1] : 移動指令-[尋路 A]
4 警戒指令-[警戒狀態] : 警戒指令-[追擊], 開火指令-[開火]
5 警戒指令-[發現敵人] : 移動指令-[尋路 A]
第二十三關-看守
狙擊手1
1 移動指令-[路點 A], 開火指令-[停火]
2 警戒指令-[發現敵人] : 移動指令-[站立], 開火指令-[開火]
3 資訊指令-[信號 1] : 移動指令-[路點 B], 開火指令-[停火]
4 資訊指令-[距離 B < 1] : 資訊指令-[信號 2 開]
5 資訊指令-[信號 2] : 開火指令-[開火]
狙擊手2
1 移動指令-[路點 A], 開火指令-[停火]
2 警戒指令-[發現敵人] : 移動指令-[站立], 開火指令-[開火]
3 資訊指令-[距離 A < 5] : 資訊指令-[信號 1 開]
4 資訊指令-[信號 1] : 移動指令-[路點 A], 開火指令-[停火]
5 資訊指令-[信號 2] : 開火指令-[開火]
狙擊手3
1 移動指令-[路點 A], 開火指令-[停火]
2 警戒指令-[發現敵人] : 移動指令-[站立], 開火指令-[開火]
3 資訊指令-[信號 1] : 移動指令-[路點 C], 開火指令-[停火]
4 資訊指令-[信號 2] : 開火指令-[開火]
第二十四關-搭檔
士兵1
1 移動指令-[尋路 E], 開火指令-[停火], 資訊指令-[信號 1 關]
2 資訊指令-[耐久 < 100%] : 移動指令-[尋路 H]
3 警戒指令-[發現敵人] : 移動指令-[站立], 開火指令-[開火], 資訊指令-[信號 1 開]
士兵2
1 移動指令-[尋路 F], 開火指令-[停火]
2 資訊指令-[耐久 < 100%] : 移動指令-[尋路 H]
3 資訊指令-[信號 1] : 移動指令-[尋路 E]
4 資訊指令-[信號 2] : 移動指令-[尋路 G]
5 警戒指令-[發現敵人] : 移動指令-[站立], 開火指令-[開火]
士兵3
1 移動指令-[尋路 G], 開火指令-[停火], 資訊指令-[信號 2 關]
2 資訊指令-[耐久 < 100%] : 移動指令-[尋路 H]
3 警戒指令-[發現敵人] : 移動指令-[站立], 開火指令-[開火], 資訊指令-[信號 2 開]
第二十五關-混亂
狙擊手
1 移動指令-[路點 ABCDEF], 開火指令-[停火]
2 資訊指令-[距離 F < 1] : 開火指令-[開火], 資訊指令-[信號 1 開]
3 資訊指令-[信號 1] : 移動指令-[路點 EDCBAH]
4 資訊指令-[距離 H < 1] : 資訊指令-[信號 2 開]
5 資訊指令-[信號 2] : 移動指令-[尋路 G]
6 警戒指令-[發現敵人] : 警戒指令-[撤退], 開火指令-[開火](注意第4,6行的縮進級。)
第二十六關-畏懼
士兵1
1 移動指令-[路點 AB]
2 資訊指令-[距離 B < 8] : 移動指令-[站立]
3 資訊指令-[信號 2] : 移動指令-[路點 E]
4 警戒指令-[警戒狀態] : 警戒指令-[追擊], 開火指令-[開火]
士兵2
1 移動指令-[路點 BD]
2 資訊指令-[距離 D < 15] : 移動指令-[站立]
3 資訊指令-[信號 2] : 移動指令-[路點 E]
4 警戒指令-[警戒狀態] : 警戒指令-[追擊], 開火指令-[開火]
士兵3
1 移動指令-[路點 BD]
2 資訊指令-[距離 D < 3] : 移動指令-[站立], 資訊指令-[信號 1 開]
3 資訊指令-[信號 2] : 移動指令-[路點 E]
4 警戒指令-[警戒狀態] : 警戒指令-[追擊], 開火指令-[開火]
偵察兵
1 資訊指令-[信號 1] : 移動指令-[路點 AE]
2 資訊指令-[距離 E < 13] : 移動指令-[站立]
3 警戒指令-[發現敵人] : 資訊指令-[信號 2 開]
4 資訊指令-[信號 2] : 開火指令-[開火]
第二十七關-掙扎
偵察兵1
1 移動指令-[路點 B], 資訊指令-[信號 1 關], 警戒指令-[警戒時長 1]
2 警戒指令-[發現敵人] : 移動指令-[路點 A]
3 警戒指令-[警戒狀態] : 資訊指令-[信號 1 開]
偵察兵2
1 移動指令-[路點 D]
2 警戒指令-[發現敵人] : 移動指令-[路點 C]
偵察兵3
1 移動指令-[路點 F], 資訊指令-[信號 2 關], 警戒指令-[警戒時長 1]
2 警戒指令-[發現敵人] : 移動指令-[路點 E]
3 警戒指令-[警戒狀態] : 資訊指令-[信號 2 開]
怒火1
1 移動指令-[路點 G], 開火指令-[停火], 警戒指令-[警戒時長 1]
2 警戒指令-[警戒狀態] : 開火指令-[開火]
3 資訊指令-[信號 1] : 移動指令-[路點 G]
4 資訊指令-[信號 2] : 移動指令-[路點 H]
5 資訊指令-[距離 H < 3] : 移動指令-[站立](注意第5行的縮進級。)
6 資訊指令-[信號 1], 資訊指令-[信號 2] : 移動指令-[路點 G]
怒火2
1 移動指令-[路點 H], 開火指令-[停火], 警戒指令-[警戒時長 1]
2 警戒指令-[警戒狀態] : 開火指令-[開火]
3 資訊指令-[信號 1] : 移動指令-[路點 G]
4 資訊指令-[距離 G < 3] : 移動指令-[站立](注意第4行的縮進級。)
5 資訊指令-[信號 2] : 移動指令-[路點 H]
6 資訊指令-[信號 1], 資訊指令-[信號 2] : 移動指令-[路點 H]
第二十八關-天賦
狙擊手
1 移動指令-[尋路 A], 開火指令-[停火]
2 警戒指令-[發現敵人] : 警戒指令-[撤退], 開火指令-[開火]
3 資訊指令-[距離 D < 16] : 資訊指令-[信號 1 開]
4 資訊指令-[距離 B < 16] : 資訊指令-[信號 2 開]
5 資訊指令-[信號 1] : 移動指令-[尋路 E]
6 資訊指令-[距離 E < 1] : 資訊指令-[信號 1 關]
7 資訊指令-[信號 2] : 移動指令-[尋路 C]
8 資訊指令-[距離 C < 1] : 資訊指令-[信號 2 關](注意第3、4、6、8行的縮進級。)
第二十九關-終局
士兵1
1 移動指令-[路點 CE], 開火指令-[停火]
2 資訊指令-[距離 E < 4] : 移動指令-[站立]
3 警戒指令-[發現敵人] : 開火指令-[開火], 資訊指令-[信號 1 開]
4 資訊指令-[信號 1] : 移動指令-[路點 GB]
5 警戒指令-[發現敵人] : 移動指令-[站立]
6 資訊指令-[耐久 < 50%] : 移動指令-[路點 C]
7 資訊指令-[距離 C < 3], 資訊指令-[耐久 < 100%] : 移動指令-[路點 C](注意第5、6、7行的縮進級。)
士兵2
1 移動指令-[路點 DF], 開火指令-[停火]
2 資訊指令-[距離 F < 4] : 移動指令-[站立]
3 警戒指令-[發現敵人] : 開火指令-[開火], 資訊指令-[信號 2 開]
4 資訊指令-[信號 2] : 移動指令-[路點 GB]
5 警戒指令-[發現敵人] : 移動指令-[站立]
6 資訊指令-[耐久 < 50%] : 移動指令-[路點 D]
7 資訊指令-[距離 D < 3], 資訊指令-[耐久 < 100%] : 移動指令-[路點 D](注意第5、6、7行的縮進級。)
第三十關-永恆
偵察兵
1 信號指令-[信號 1 開]
2 警戒指令-[發現敵人] : 信號指令-[信號 1 關], 信號指令-[信號 2 開]
3 信號指令-[信號 1], 信號指令-[信號 2] : 信號指令-[信號 2 關]
4 信號指令-[信號 4] : 信號指令-[信號 5 開]
5 信號指令-[信號 3] : 信號指令-[信號 4 開]
6 信號指令-[信號 3 開]
7 信號指令-[信號 5] : 警戒指令-[追擊]
8 警戒指令-[發現敵人] : 移動指令-[站立](注意第4、5、6、8行的縮進級。)