创建一个非算法的AI对手

时间:2011-10-16 14:45:25

标签: vb.net artificial-intelligence

我目前正在为基于磁贴的游戏创建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。如果我想创建一个非算法对手,我会站在哪里,它会学会避免(闪避)玩家向他们开火的火球?是他们的任何资源等可能通过使用遗传算法......

我计划在大学学习人工智能,但希望尽早介绍。

1 个答案:

答案 0 :(得分:3)

我可以向您推荐AI Junkie,特别是有关代理商的部分。从您的问题水平来看,这似乎是一个很好的起点:只需构建一个基本的状态机来将AI的行为分组。有了这些,您可以添加更复杂的行为(基本的行为,如跟随,接近,逃避等)。

在基本的东西工作之后,你可以尝试为AI增加更多的复杂性,但要注意添加有用的遗传算法和神经网络是非常困难的。在我看来,在这个时间点它是不可行的(特别是对于小分数项目),因为智能创建的,硬编码的AI将提供更好的游戏体验。

该网站将提供所有这些内容的第一个见解(请注意,每个部分有多个页面:这可能不是最初明确的)。代码在C中,但我认为您不会遇到任何问题。最后,Mat Buckland写的这本书(该网站的作者) - 编程游戏AI示例 - 被推荐为对该主题的温和介绍。