2011-10-16 25 views
0

我目前正在爲我的基於tile的遊戲創建一個AI實體。遊戲需要AI角色導航到玩家的精靈,以造成損害。目前我使用:創建一個非算法AI對手

 If Ai.SpriteRectangle.X < _sprite.SpriteRectangle.X Then 
      MoveRight() 
     ElseIf Ai.SpriteRectangle.X > _sprite.SpriteRectangle.X Then 
      MoveLeft() 
     ElseIf Ai.SpriteRectangle.Y < _sprite.SpriteRectangle.Y Then 
      MoveDown() 
     ElseIf Ai.SpriteRectangle.Y > _sprite.SpriteRectangle.Y Then 
      MoveUp() 
     End If 

這這是相當確定的,不將我所說的AI。如果我想創造一個非算法的對手,我會在哪裏站立,學習如何避免(閃避)玩家向他們發射的火球?是他們的任何資源等可能通過使用遺傳算法...

我打算在uni學習人工智能,但想早日介紹。

+0

代碼量會有所不同... –

+0

請看[minimax](http://en.wikipedia.org/wiki/Minimax) – Enrique

回答

3

我可以向您推薦AI Junkie,特別是代理商部分。從你的問題水平來看,這似乎是一個很好的起點:只要構建一個基本的狀態機來對AI的行爲進行分組。有了這個,你可以添加更復雜的行爲(基本的行爲,如follow,approach,evade等)。

之後,基本的東西工作,你可以嘗試添加更復雜的人工智能,但要警告的是,添加有用的遺傳算法和神經網絡是非常困難的。在我看來,在這個時候,這是不可行的(特別是對於小項目),因爲智能創建的硬編碼AI會帶來更好的遊戲體驗。

該網站將提供所有這些的第一個見解(請注意,每個部分有多個頁面:這可能不是最初的清楚)。代碼以C語言編寫,但我認爲您不會遇到任何問題。最後,Mat Buckland寫的這本書(該網站的作者) - 推薦編程遊戲人工智能 - 推薦給這個主題。