游戏智能系列之一:一些准备工作

      一直想开游戏人工智能的专题。只是最近刚刚用 Spark, 踩了一些坑,没有时间看东西,就延误了。虽然现在还没有看什么东西,但拖不了了,下定决心这个专题。

game_ai

      因为我对游戏中的人工智能也不了解,只能边看边写。才疏学浅难免有些纰漏,欢迎大家指出。这篇博客只介绍一些学习游戏 AI 的准备工作。最重要的准备工作就是选择好游戏啦。我们现在有两个选项,一个是打飞机的游戏 AIsteroids, 一个是即时策略游戏 0.A.D。

1. AIsteroids

      AIsteroids 其实不是正儿八经的游戏,而是专门的游戏 AI 模拟平台。在AIsteroids 游戏中,开始时只有若干礁石(由圆圈表示)、一个 AI 或者人类控制的飞船(由三角形表示)、增加玩家射击力的宝物(由方块表示)。飞船可以转弯和推进(前向或者逆向)。

      在 GitHub 上有 Javascript 实现 AIsteroids, 我已经把它 fork 到自己的项目里了~___~。先安装 node.js, 然后从 GitHub 下载或者克隆 AIsteroids,在项目主目录运行 “node server.js”,就可以用浏览器访问 http://127.0.0.1:1337 看到下面的画面了。

aisteroids

      从上图,我们发现 AIsteroids 确实很适合模拟游戏 AI。我们只需要在浏览器上填上 AI 的代码,就能看到 AI 操纵飞机和敌人对战了。

2. 0.A.D

      0.A.D 是由 WIldfire Games 开发的开源游戏。0 A.d 是一个实时的战略游戏,与微软的帝国时代类似。在游戏中用户可以建立文明,定义他们反对的敌人,这个游戏以公元前500年至公元500年之间为背景时间,包括了六个独特的文明和若干个多角色模式。0.A.D 的主页 介绍了游戏的详细资料,包括玩法、开发和 AI 相关的内容。游戏界面如下所示。

0.a.d

     选择 0.A.D 作为游戏 AI 模拟平台的原因有两点:1)0.A.D 的 AI 做得比较好,2)0.A.D 提供了 AI 接口。

3. 总结

      游戏中的人工智能系列会以 AIsteroids 为主要模拟平台讲解传统的游戏 AI 算法,比如有限状态机和行为树。后期的文章可能会涉及 0.A.D。

      不过要等我再看下相关的资料~_~。下周先不更这个系列,会更新强化学习系列介绍 DQN 相关的算法。

      欢迎关注我的公众号,每周日的更新就会有提醒哦~

weixin_saomiao

      

游戏人工智能系列系列文章

此条目发表在游戏人工智能, 算法荟萃分类目录,贴了标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。