Skip to content
Xin edited this page Oct 18, 2021 · 102 revisions

反馈或希望参与运维的可以发送至个人邮箱
mail address:Yexin_jinqiangyutaisui@outlook.com

为什么要研究游戏AI呢:

因为它很有趣~!!!!:P
因为游戏中的问题是现实问题的折射
由于游戏的算法永远不会被单单的几种算法所束缚

引用Georgios N.Yannakakis and Julian Togelius 《Artificial Intelligence and Games》 中的话 [1]

自AI的想法诞生以来,游戏一直为AI的研究过程提供助力。游戏不仅提出有趣且复杂的问题来供AI解决————例如去精通一个游戏;它们也为(人类,甚至机器)用户能够体验到的创意以及表达提供了一个画布。因此可以说,游戏是罕见的,是科学(解决问题)与艺术相碰撞并相互作用的领域,而这些因素也让游戏对于AI的研究来说成为一个独特并且优秀的环境。然而不仅是AI在游戏中提升,游戏也在AI研究中得到了发展。

AI方法在游戏领域的应用范围

[modelinggameai]
AI方法在游戏领域中的应用概览,图源自[1][slide],表格结尾由本人翻译,该wiki大致会按照该方法分类。
因此在游戏中,除去进一步的细分,可以大致划分为以下的三个方向
1.利用AI去玩游戏
2.利用AI去为玩家建模
3.利用AI去生成游戏内容
值得强调的是,因为本人的水平有限,目前的细类划分可能并不能完全概括,同时由于本身的阅读顺序问题,导致了再列表中的paper没有具体的排序标准,因此读者可以根据自己的需求选择性阅读文章。汇总链接看右侧


前置知识:

  • 机器学习(Machine Learning):如果没有机器学习基础,去看paper会很吃力,至少要对机器学习中的名称要敏感,这样也好在遇到不懂的算法时去查看知识。强烈推荐不懂或补充知识的时候看英文书Machine Learning A Probabilistic Perspective by Kevin P. Murphy[pdf],中文的入门推荐看去b站上看吴恩达老师的视频[b站链接]
  • 必要的深度学习模型(DeepLearning):如果机器学习可以似懂非懂的来接触,那深度学习必要基础应该是必备的,主要是目前深度强化学习的应用,以及游戏场景生成中深度学习的应用。必要的模型CNN、DNN、GAN,其余的可以遇到后再返回去看模型。
  • 强化学习(Reinforcement Learning):强化学习起源于计算机学家受心理学的启发,主要是通过在迭代中不断反馈下一阶段的reward来更新agent的policy。这对于学习游戏AI的朋友来说绝对是必备知识了,想学习的推荐台大李宏毅老师的视频[b站链接],书籍《Reinforcement Learning:An Inroduction》[pdf],[中文版京东链接],进阶可以访问由openAI团队整理的强化学习核心文章[链接],再附上外国小哥higgsfield的深度强化学习DQN等网络的pytorch实现[github链接]
  • 蒙特卡洛树搜索(Monte Carlo Tree Search(MCTS)):这可能是游戏有区别于人工智能其余领域的知识,在棋牌类游戏中蒙特卡洛树搜索被广泛应用,Alphago就是DL与MCTS的结合,想学习的朋友可以看这篇paper,Browne CB, Powley E, Whitehouse D, Lucas SM, Cowling PI, Rohlfshagen P, Tavener S, Perez D, Samothrakis S, Colton S. A survey of monte carlo tree search methods. IEEE Transactions on Computational Intelligence and AI in games. 2012 Feb 3;4(1):1-43. [pdf]
  • 演化算法(evolutionary algorithm):同蒙特卡洛搜索树,演化算法相较而言可能更容易理解,演化算法是演化计算领域一个重要算法,该算法在游戏生成器和战斗AI领域有大量的应用,不同于基于梯度的局部优化方法,EA是全局优化方法,在AlphaStar(谷歌用来打星际的agent)里用到了大量的演化计算思想,推荐看我导师Diego的这篇paper,Gaina RD, Devlin S, Lucas SM, Perez D. Rolling horizon evolutionary algorithms for general video game playing. IEEE Transactions on Games. 2021 Feb 18.[pdf]

特别重要书本/paper/知识

drawing
  • Yannakakis G N, Togelius J. Artificial intelligence and games[M]. Springer, 2018.
    堪称游戏AI算法的圣经《Artificial Intelligence and games》,本人对这本书推崇至极,还是推荐读英文:[pdf],中文版名为《人工智能与游戏》[京东链接]

  • Mnih, Volodymyr, Koray Kavukcuoglu, David Silver, Alex Graves, Ioannis Antonoglou, Daan Wierstra, and Martin Riedmiller. "Playing atari with deep reinforcement learning." arXiv preprint arXiv:1312.5602 (2013).[pdf]
    这篇paper是(Deep Q-learning Networdk)DQN的发表paper,是任何一个强化学习学习者必读的paper~

  • LSTM(Long Short term menmory)
    因为原文真的很长,这里推荐陈诚老师写的知乎专栏[知乎链接],写的真的很清晰,推荐不了解LSTM的小伙伴去看看~

  • AC框架(Actor-Critic)
    AC框架是目前较主流的强化学习结构,输出策略与分数,推荐去看知乎专栏白话强化学习[知乎链接],还有突然发现的刘建平老师的宝藏教程[链接],再附上国外小哥higgsfield写的pytorch的全代码实现,包括ppo等[github链接]

  • Schulman J, Wolski F, Dhariwal P, et al. Proximal policy optimization algorithms[J]. arXiv preprint arXiv:1707.06347, 2017.[pdf]
    也是大名鼎鼎的PPO算法,基础的损失函数改进支持off-policy的强化学习,并使其性能提升巨大,目前该算法已经是openAI的baseline算法。
    看完原文之后推荐看魏思齐老师写的PPO详解[知乎链接],以及上文提及的国外小哥higgsfield写的pytorch的全代码实现,包括ppo等[github链接]

  • 模拟学习(imitation learning) 为了使agent在游戏的过程中表现得和人类玩家类似,模拟学习是目前国内游戏公司的主要应用研究方向之一,中文版推荐阅读由南京大学,香港中文大学(深圳)的许天,李子牛,俞扬撰写的《模拟学习简洁教程》,首页放有[pdf]。


开源游戏AI测试平台/ CoG/AIIDE游戏AI赛事

测试平台名 简述 获取方式
Snake Game AI 《贪吃蛇》,一款非常经典的童年游戏,也是CoG指定的入门级游戏AI测试平台 [github]
The Space War 《太空入侵者》,简单的桌面小游戏 [github]
Bot Bowl 《怒火橄榄球》,是一款完全可观察的、随机的、回合制的现代风格桌面游戏 [参考页面]
Carle's Game 《细胞自动机(CA)模拟器》,CARLE是Carle's Game的环境名称,代表细胞自动机强化学习环境,支持任意的 "生命游戏" [github]/[参考页面]
ColorShapeLinks 类似于多色彩的五子棋棋盘游戏 [github]
Dota2 《Dota2》,现代最成功的moba游戏之一,dota2 5V5 framework提供了设计DOTA2AI的途径,并在2021年支持了第一届5V5 AI比赛 [参考页面]
FightingICE 街机游戏的战斗AI设计,同时也可以在openAI的gym中找到API [参考页面]
General Strategy Game AI 《Stratega》是一款被设计为通用策略类游戏的AI设计平台,提供了丰富的游戏模式 [github]
General video game AI 《GVGAI》收录了大量通用视频游戏,是大量游戏AI论文研究的首选,是测试AI方法的泛化性的上佳选择 [参考页面]
Tactile Games 《消消乐游戏》,2021年的CoG也举办了此类型的AI比赛,详情请参照链接 [参考页面]
Ludii 《Ludii》与GVGAI,GSGAU相似,集成了大量的棋盘类游戏,例如中国象棋 [github]
microRTS 《microRTS AI》是简化RTS游戏的集成框架,用于研究RTS游戏例如星际争霸的细微方面 [参考页面]
StarCraft 《星际争霸》也是被广泛应用于测试现代AI的框架,详情请参照链接 [参考页面]
Legends of Code and Magic 策略卡牌游戏(类似炉石传说)的测试平台之一,详情请参照链接 [github]
Angry Birds 《愤怒的小鸟》,在《在超级马里奥》之后,愤怒的小鸟成为了PCG新的更适合的测试平台,详情请参照链接 [参考页面]
Obstacle Tower Environment OT是近期提出的3D类型闯关游戏,每年都会举办相应的比赛,对agent的泛化性要求很高,其挑战难度会随着tower的高度增加逐渐递增 [github]

agent设计思路图

[Solver]
可以作为设计AI玩游戏时的一种设计思路,在目前模型不可得的情况下,大多数学习者都转向了使用深度强化学习作为端到端的设计方法,图源[2]


主要贡献者

Reference

[1]Yannakakis, Georgios N., and Julian Togelius. Artificial Intelligence and Games. Springer, 2018.
[2]Paulo Rauber. lecture 10 slides. Artificial Intelligence in Games. QMUL EECS. 2020