我目前正在为我的基于瓦片的游戏创建一个AI实体。这个游戏需要一个AI角色导航到玩家的精灵,以便对我使用的.Currently造成伤害:
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学习人工智能,但希望能早点入门。
发布于 2011-10-16 22:56:41
我可以向您推荐AI Junkie,特别是关于代理的部分。从你的问题的级别来看,这似乎是一个很好的起点:只需构建一个基本的状态机来对你的AI行为进行分组。有了这些,您就可以添加更复杂的行为(如跟随、接近、规避等基本行为)。
在这些基本的东西工作之后,你可以尝试给AI增加更多的复杂性,但要注意的是,添加有用的遗传算法和神经网络是非常困难的。在我看来,在这个时间点上,这是不可行的(特别是对于小分数项目),因为智能创建的,硬编码的AI将提供更好的游戏体验。
该站点将提供所有这些内容的第一个洞察力(请注意,每个部分都有多个页面:这在开始时可能不清楚)。代码是用C语言编写的,但是我想你不会有任何问题的。最后,推荐Mat Buckland (该网站的作者)写的书-- Programming Game AI by Example --为这个主题提供一个温和的介绍。
https://stackoverflow.com/questions/7785002
复制相似问题