如何在流行游戏中最常见地实现AI?


16

我不是gamedev,我只是一个非游戏的好奇的编码者。我想知道,人工智能如何在流行的现代游戏中发挥作用,例如FPS?它基于硬编码规则吗?它与其他种类的AI(例如为自动驾驶汽车提供动力的AI)有多少共同点?开发人员如何确保AI的行为自然且有趣呢?

我在Google上搜索的资料提到了MinMax的不同派生产品,但未能回答AI如何应对持续变化的世界,为AI所奖励的行为/状态以及AI如何找出成功实施不同行为的机会。我也看到过机器学习在这里和那里提到过,但是似乎没有在任何严肃的游戏中使用它吗?


我怀疑大多数游戏都使用自适应AI ...
jcora 2012年

Answers:


16

有很多方法。我将回答FPS,因为每种类型都有其自身的问题集,而AI方法在很大程度上取决于问题域以及如何最好地表示它。

常见的FPS方法包括:

以及以上的各种排列和变化。

Minimax通常不用于具有连续状态的游戏(例如FPS),更多地用于离散游戏空间(如国际象棋等)中的回合制游戏。它可以用于较高水平的计划,但是通常不是因为有更好的系统(例如(以上))面对多个敌人时,信息不完整,但计划简单。

他们通过游戏测试确保AI很有趣。如果挑战性太大,他们可能会将错误引入任何决策启发法中,或者延迟他们的反应,或者将随机因素应用于他们的目标,等等。如果挑战性不够,他们只需要改善提供给算法的数据即可。


5

那里有关于各种AI如何工作的论文,我最熟悉的是FEAR


2

两种其他常用方法

UCT搜索。有形式主义,但基本上的想法是在比赛结束之前进行随机播放,并通过反馈来对胜出的游戏给予更大的权重。纯形式的好处在于,AI不需要了解什么可能是更好还是更坏的举动。

Minmax搜索通常与alpha-beta树修剪结合使用,基本上可以对游戏空间进行一定程度的完整搜索,并使用分配数值的静态评估器评估每个终端节点。这对于有明显指标衡量获胜进度的游戏非常有效。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.