五千年(敝帚自珍)

主题:初到贵宝地,灌一点游戏开发的东东 -- foundera

共:💬23 🌺4
全看分页树展 · 主题 跟帖
家园 谈谈模拟足球游戏中人工智能

谈谈模拟足球游戏中人工智能

当球队进攻时,对于有球队员来说,它(暂且用它咯)在每一个瞬间都会有一个行为指导,也就是下一步行为:是向某方向带球?还是以某种方式传球给队友中的某一人?或者即是立即射门。这个指导行为从何迩来?又如何根据状况得以改变?不管情况怎样变化,使球员能在任何时刻都有一种较为合理的下一步行为为备,这样大概便可以模拟出踢足球的AI了。

其实足球AI模拟的关键就在于会让球员能较为聪明合理地分析球场上瞬息万变的赛况,并根据这个判断得出一个更为聪明合理的下一步行为。能力好的球员会不断的分析,从而迅速地调整它的行为而得以使比赛向更为有利的趋向发展,这个过程不断地持续,一场计算机AI模拟的高水平足球赛便可得以实现了。

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

第一步是视觉判断:

带球球员能看到队友及对方的行为,从离它近的到离它远,无论在它前面或是在它侧面甚至是在它身后的,优秀的球员都能够感知。也就是模拟使AI球员“视野开阔”。这些信息可以很方便地从SIM比赛中球员的坐标,速度,动作数据得来,模拟起来并不算太难。

第二步是赛况分析:

也就是说使球员在视觉信息采集后产生一个意图,使比赛能更为向我方有利地发展。(比如:队友位置都不太好,无法穿球,AI使它得出了继续运球的意图;当它离球门距离不太远,有一定的射门空挡,AI便使它得出带球射门的意图;当有队友的跑位出现空挡时,AI便使它产生了向其分球射门的意图;当两侧队友跟进到位时,AI便使它产生向其穿球打下底穿中的意图)

这些都是第一步行为意图,是战术的雏形。

从这些极其离散的视觉采集信息(就是那些敌我双方球员坐标,速度,行为甚至能力)而产生一个战术意图看起来是非常玄妙而神秘的。殊不知,聪明的人类却能够从这些离散而无规的数据中能提炼出非常多隐藏在内的有用的比赛信息!而AI模拟的任务就要让COM球员学会找出这些隐藏的信息!

因此可以将导向式思考(利用经验规则导向)与推论式思考(用极大极小法推导出最佳行为)两种方式合理巧妙地结合起来。

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

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

这很像是一个细节处理,因为下一步行为行为是随时在频繁地改变,而战术意图相对来说是较为稳定的。(毕竟近处看得多,远处观的少)实现下一步行为便是这个SIM足球的“动作引擎元素”,合理的动作元素可以使模拟比赛的可视性更为真实,更重要的是它能够与AI相互配合,这两者可以说是相辅相成缺一不可的(呵呵~哲学课考试我用的最多就是这句话:)FIFA的缺陷便在于它的动作引擎元素没有WE系列合理真实,这便直接导致了它的真实性不如WE,AI做的再棒也无济于事。

总结:AI球员通过观察赛况,找出离散数据的隐藏信息,得出了一个战术意图,做出了一个动作行为,这便就似完成了一个TURN。剩下的,SidMeier有一个很有用的经验思路:“我先教它如何玩一个回合开始。然后教它如何玩两个回合,再后来就该考虑教它如何玩10个回合了。”当然,SIM足球的AI也许会更复杂,因为我们只考虑了有球球员AI模拟的一个例子,但是我相信这3个部件是适用与足球场上每一个情况的,要做的只是更深入的分析,体会,感悟。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河