如何开发AI脚本

时间:2012-08-16 23:43:43

标签: python artificial-intelligence pygame game-engine game-physics

我是业余程序员,希望开发一款游戏。我决定使用Python和pygame。 (我知道,有更好的选择,但我真的不太了解C ++或java。)我遇到的问题是我真的不知道如何创建一个体面的AI。我正在谈论那种怪物在这一点上以这种方式移动的AI,在那一点使用弓箭,并在另一点使用远程魔法攻击(是的,它是一个自上而下的2 -d奇幻游戏)。我真的不明白它是如何做出这些决定的,以及你如何编程来做出这些决定。我到处都环顾四周,要么资源变得如此技术化以至于我根本无法理解它,或者它没有给我任何信息。我希望有人能给我一些明确的建议,或者至少指出一些不错的资源。现在我的机器人只是随意地在屏幕上徘徊......

3 个答案:

答案 0 :(得分:2)

基本上是

  • 默认行为:随机漫步
  • 如果玩家在X距离内:近战攻击
  • 如果玩家在Y距离内:Charge Player
  • 如果玩家在Z距离内:施放法术
  • 如果玩家在范围之外且MOB已经向玩家移动

这是大多数AI的程度......至少是游戏AI

对于玩游戏怪物的神经网络和机器学习这样的事情来说,它太过cpu密集了

你可能想看看模糊逻辑AI ...这主要是我在那里所描述但它可以同时不止一个

答案 1 :(得分:1)

This是一本关于这个主题的好书。它包含了许多例子,这些例子也在书中进行了解释。代码是C ++,但理解起来非常简单。

以下是关于本书的简短描述:

  

“编程游戏AI实例”提供了全面而实用的功能   介绍游戏使用的面包和黄油AI技术   发展产业,引领读者走过去   设计,编程和实施智能代理以实现行动   使用C ++编程语言的游戏。涵盖的技术包括   基于状态和目标的行为,代理间通信,个人   和小组转向行为,团队AI,图论,搜索,路径   规划和优化,触发器,脚本,脚本有限状态   机器,感知建模,目标评估,目标仲裁和   模糊逻辑。

答案 2 :(得分:0)

我相信这对你有用。它甚至在python中。

http://www.udacity.com/overview/Course/cs373/CourseRev/apr2012

编辑:游戏AI的强度往往远远低于大多数其他ai(因为他们往往每个游戏滴答的CPU时间非常有限)。这仍然涵盖了游戏AI使用的基础知识。