从到机器学习——足球AI概况
作者: alexjc
译者: 赖勇浩(恋花蝶)
原文地址:http://aigamedev.com/questions/football-ai-cheating-machine-learning
本文发表于恋花蝶的博客(http://blog.csdn.net/lanphaday),如蒙转载,敬请保留全文完整,包括保留本声明。
<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 96pt; HEIGHT: 96pt" alt="" type="#_x0000_t75"><imagedata o:href="http://files.aigamedev.com/football.jpg" src="file:///C:%5CDOCUME~1%5CADMINI~1%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image001.jpg"></imagedata></shape>
当谈起游戏人工智能的时候,大家通常都会比较多地关注FPS或者实时策略游戏,其实体育类游戏的挑战和解决方案同样值得关注。尽管在学术研究和游戏业界都没有多少公开的可供学习的成果,但我们仍然可以根据 EA 和 Take2 每年发布的产品来谈谈这个领域研究进展。
本周的题目来自 Anthony,他正在做一个与足球游戏相关的研究生课题:
“大家怎么看体育游戏的 AI ?我认为体育 AI 是比较困难的,因为没有像开发一个幻想风格游戏那样的自由度(因为玩家永远不会有真实体验那种场景的机会)。[译者注:这一段有点画鬼画神最易,画狗画猫最难的意思。]
每个人都参与过体育活动,他们对游戏有明确的期望。有人知道哪里有相关的学术资源可以让我深入学习一下么?”
通常而言,体育游戏的 AI 在结构上类似于 FPS 或 RTS 游戏:底层是控制和动画,中间层是个体的决策,上层是战术。但从每一层来看,它又与其它游戏大有不同。
<shape id="_x0000_i1026" style="WIDTH: 351pt; HEIGHT: 197.25pt" alt="" type="#_x0000_t75" o:button="t"><imagedata o:href="http://files.aigamedev.com/reviews/Madden2008a.jpg" src="file:///C:%5CDOCUME~1%5CADMINI~1%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image002.jpg"></imagedata></shape>
截图1:Madden NFL 2008 拥有迄今为止最强的足球 AI
角色动画
玩家对体育模拟游戏期望越高,球员的运动就显得越为重要。游戏中角色移动、抱球、与其它角色的交互,应当极具真实感。这些都是建立在角色动画之上的。
看看到目前为止这一领域所做的研究工作,就可以肯定游戏中动画的重要性。许多动画项目都是由EA 或其它开发商出资或者资助的。如果你阅读一下 SIG 图形学会议的论文,会发现许多都使用了 AI 相关的技术:
在这一领域仍然有许多改进余地,但运动合成需要有非常多的工作要做。NaturalMotion是一个动画中间件,它致力于足球模拟(称为Backbreaker),遗憾的是它远不够成熟。
真实感动画在现在和可以预见的未来都只能使用动作捕捉。开发人员必定会抛弃利用一小段时间片进行物理反应模拟的方案,而是改用动作捕捉来尽可能快地提供有针对性的行为。
<shape id="_x0000_i1029" style="WIDTH: 351pt; HEIGHT: 197.25pt" alt="" type="#_x0000_t75" o:button="t"><imagedata o:href="http://files.aigamedev.com/reviews/Madden2008b.jpg" src="file:///C:%5CDOCUME~1%5CADMINI~1%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image003.jpg"></imagedata></shape>
截图2:完美的截球动画在技术上极具难度
个体行为
在体育游戏架构的中间层,个体的AI 比起动画层就简单得多。它通常使用多个操控行为的组合来控制角色,如:远离对手、向目标前进和寻找开阔空间等。
这种个体的 AI 与传统的第一人称或第三人称射击游戏游戏的角色 AI 极其相似。它经常使用简单的决策生成技术,如有限状态机,来执行上层 AI 下达的战术。这个领域没有太多可供研究的东西,因为它易于理解。
参考阅读:
<shape id="_x0000_i1027" style="WIDTH: 351pt; HEIGHT: 309.75pt" alt="" type="#_x0000_t75" o:button="t"><imagedata o:href="http://files.aigamedev.com/reviews/Madden2008c.jpg" src="file:///C:%5CDOCUME~1%5CADMINI~1%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image004.jpg"></imagedata></shape>
截图3:球员基本行为由有限状态机实现
战术 AI
从战术角度来看,体育游戏比起射击类游戏要简单得多:只有一个球场而非多个关卡,也用不到复杂的几何学。你唯一需要考虑的是团队的不同成员间的协作。尽管,这并不是小问题,但从许多游戏中可以知道 AI 开发人员只需要做好最重要的事:让球员在进攻和防守两方面都有不错的表现。
现在看来,在体育游戏中的可配接 AI 上的研究已经不少,尤其是《 Madden NFL 》游戏。多年来,开发者曾经简单地利用玩家的选择来,现在则使用机器学习算法来完成这一课题。
- 这个PDF文档描述了 Madden 游戏从上世纪90年代中期到 2004 年的AI 历史。
- 大家也可以利用Alberta大学的研究项目来使用统计学习。
<shape id="_x0000_i1028" style="WIDTH: 351pt; HEIGHT: 197.25pt" alt="" type="#_x0000_t75" o:button="t"><imagedata o:href="http://files.aigamedev.com/reviews/Madden2008d.jpg" src="file:///C:%5CDOCUME~1%5CADMINI~1%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image005.jpg"></imagedata></shape>
截图4:初始位置和每个球员的目标是战术的要素
你也深入观察过体育游戏的 AI 吗?你认为那些游戏的 AI 行为怎么样?
分享到:
相关推荐
《机器学习——核函数讲义》 记得是度娘某公开课的资源
机器学习——人工智能革命的助推剂.pdf
机器学习——回顾与展望.pdf
Python人工智能的深度学习,帮助学习者理解问题,挖掘潜能。
人工智能实战,从 Python 入门到机器学习 人工智能实战,从 Python 入门到机器学习 人工智能实战,从 Python 入门到机器学习 人工智能实战,从 Python 入门到机器学习 人工智能实战,从 Python 入门到机器...
8829 人工智能技术讲解概率机器学习——深度学习革命之后AI道路
本资源适用于多元线性回归的Python代码实现,是小编的机器学习——线性回归介绍及案例实战的数据集
机器学习——决策树数据1
机器学习——线性模型思维导图
机器学习——算法基础中完整代码
机器学习——算法基础2 完整代码
机器学习——无监督学习与预处理.
《机器学习入门——MATLAB实战与应用》一书中的实例程序。涉及监督学习,非监督学习和强化学习。(code for book "Machine Learning Introduction & Action in MATLAB")
机器学习——模型评估与选择思维导图
使用ClickHouse的机器学习——Machine Learning with ClickHouse.pdf
机器学习——交叉熵python实现,提供基于minist数据集的TensorFlow的代码实现,一般在机器学习做loss评估。
数据挖掘与机器学习——经典图书介绍.pdf
机器学习——决策树思维导图
包含:Python 基础教程、10个编程技巧、Python高级编程、优化算法、实例学习Numpy与Matplotlib、实例学习pandas、机器学习、深度学习、梯度下降、实验等等等等人工智能实战——从Python入门到机器学习资料大全。...
机器学习——minist数据集分类python实现,亲测有效。