我目前正在为基于磁贴的游戏创建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。如果我想创建一个非算法对手,我会站在哪里,它会学会避免(闪避)玩家向他们开火的火球?是他们的任何资源等可能通过使用遗传算法......
我计划在大学学习人工智能,但希望尽早介绍。
答案 0 :(得分:3)
我可以向您推荐AI Junkie,特别是有关代理商的部分。从您的问题水平来看,这似乎是一个很好的起点:只需构建一个基本的状态机来将AI的行为分组。有了这些,您可以添加更复杂的行为(基本的行为,如跟随,接近,逃避等)。
在基本的东西工作之后,你可以尝试为AI增加更多的复杂性,但要注意添加有用的遗传算法和神经网络是非常困难的。在我看来,在这个时间点它是不可行的(特别是对于小分数项目),因为智能创建的,硬编码的AI将提供更好的游戏体验。
该网站将提供所有这些内容的第一个见解(请注意,每个部分有多个页面:这可能不是最初明确的)。代码在C中,但我认为您不会遇到任何问题。最后,Mat Buckland写的这本书(该网站的作者) - 编程游戏AI示例 - 被推荐为对该主题的温和介绍。