• 注册
  • 关于作者
    企业认证:趣记站长
    关注 6 粉丝 4 喜欢 9 内容 992
    江西省·南昌市
    聊天 送礼
    • 查看作者
    • 浅谈足球游戏的人工智能

        当球队进攻时,对于有球队员来说,它(暂且用它咯)在每一个瞬间都会有一个行为指导,也就是下一步行为:

      是向某方向带球?还是以某种方式传球给队友中的某一人?或者即是立即射门。这个指导行为从何迩来?又如何根

      据状况得以改变?不管情况怎样变化,使球员能在任何时刻都有一种较为合理的下一步行为为备,这样大概便可以

      模拟出踢足球的AI了。

        其实足球AI模拟的关键就在于会让球员能较为聪明合理地分析球场上瞬息万变的赛况,并根据这个判断得出一

      个更为聪明合理的下一步行为。能力好的球员会不断的分析,从而迅速地调整它的行为而得以使比赛向更为有利的

      趋向发展,这个过程不断地持续,一场计算机AI模拟的高水平足球赛便可得以实现了。

        第一个难度便是如何教会让AI球员判断场上的情况,如何产生AI分析, 如何得出结论并生成下一步行为。

        第一步是视觉判断

        带球球员能看到队友及对方的行为,从离它近的到离它远,无论在它前面或是在它侧面甚至是在它身后的,优

      秀的球员都能够感知。也就是模拟使AI球员“视野开阔”。这些信息可以很方便地从SIM比赛中球员的坐标, 速度

      ,动作数据得来,模拟起来并不算太难。

        第二步是赛况分析

        也就是说使球员在视觉信息采集后产生一个意图,使比赛能更为向我方有利地发展。(比如:队友位置都不太

      好,无法穿球,AI使它得出了继续运球的意图;当它离球门距离不太远,有一定的射门空挡,AI便使它得出带球射

      门的意图;当有队友的跑位出现空挡时,AI便使它产生了向其分球射门的意图;当两侧队友跟进到位时,AI便使它

      产生向其穿球打下底穿中的意图) 这些都是第一步行为意图,是战术的雏形。

        从这些极其离散的视觉采集信息(就是那些敌我双方球员坐标,

      DirectInput 鼠标编程入门
      利用Directshow开发源Filter,DShow中实现抓图的几种方法,角色扮演游戏引擎的设计原理,关于飞机射击类游戏的设计原理,游戏引擎剖析(十一),游戏引擎剖析(十),游戏引擎剖析(九),游戏引擎剖析(八),游戏引擎剖析(七),游戏引擎剖析(六),游戏引擎剖析(五),游戏引擎剖析(四),游戏引擎剖析(三),游戏引擎剖析(二),游戏引擎剖析(一),渲染状态管理,对2D游戏引擎设计的一些思考,游戏引擎演化史,网络游戏外挂编写初级教程,j2me游戏开发实例讲解
      游戏开发

      速度,行为甚至能力)而产生一个战术意图看

      起来是非常玄妙而神秘的。殊不知,聪明的人类却能够从这些离散而无规的数据中能提炼出非常多隐藏在内的有用

      的比赛信息!而AI模拟的任务就要让COM球员学会找出这些隐藏的信息! 因此可以将导向式思考(利用经验规则导

      向)与推论式思考(用极大极小法推导出最佳行为)两种方式合理巧妙地结合起来。

        另一个重要的因素便是将大量隐藏信息进行“过滤”,也就是说,AI需要找出最有价值(或者讲是合适)的隐

      藏信息,这里有随机因素,也有权排序。

        最后一步便是根据所产生战术意图而形成一个下一步行为

        这很像是一个细节处理,因为下一步行为行为是随时在频繁地改变,而战术意图相对来说是较为稳定的。(毕

      竟近处看得多,远处观的少)实现下一步行为便是这个SIM足球的“动作引擎元素”, 合理的动作元素可以使模拟

      比赛的可视性更为真实,更重要的是它能够与AI相互配合,这两者可以说是相辅相成缺一不可的。FIFA的缺陷便在

      于它的动作引擎元素没有WE系列合理真实,这便直接导致了它的真实性不如WE,AI做的再棒也无济于事。

        总结:AI球员通过观察赛况,找出离散数据的隐藏信息,得出了一个战术意图,做出了一个动作行为,这便就

      似完成了一个TURN。剩下的,Sid Meier有一个很有用的经验思路:“我先教它如何玩一个回合开始。然后教 它如

      何玩两个回合,再后来就该考虑教它如何玩10个回合了。”当然, SIM足球的AI也许会更复杂,因为我们只考虑了

      有球球员AI模拟的一个例子, 但是我相信这3个部件是适用与足球场上每一个情况的,要做的只是更深入的分析,

      体会,感悟。

      DirectInput 鼠标编程入门
      利用Directshow开发源Filter,DShow中实现抓图的几种方法,角色扮演游戏引擎的设计原理,关于飞机射击类游戏的设计原理,游戏引擎剖析(十一),游戏引擎剖析(十),游戏引擎剖析(九),游戏引擎剖析(八),游戏引擎剖析(七),游戏引擎剖析(六),游戏引擎剖析(五),游戏引擎剖析(四),游戏引擎剖析(三),游戏引擎剖析(二),游戏引擎剖析(一),渲染状态管理,对2D游戏引擎设计的一些思考,游戏引擎演化史,网络游戏外挂编写初级教程,j2me游戏开发实例讲解
      游戏开发

    • 0
    • 0
    • 0
    • 60
    • 单栏布局 侧栏位置: