文档介绍:设计面向游戏的人工智能(三):战术和战略人工智能 (AI)
上次谈到游戏主角(智能代理,简称 IA)时,他们已经能够观察周围情况并
能够判断前进方向。在本文中,我将向大家介绍如何提高代理的智能级别。代理
现已能够处理即时情况。现在,大家正在努力实现人工智能。人工智能具有丰富
功能,能够处理各种工作。
战术人工智能
战术人工智能的作用是协调游戏中智能代理组的工作。这种人工智能的实施
对许多类型的游戏都至关重要。战术第一人称射击 (FPS) 游戏中的小队以及实
时战略游戏中的单元组都使用战术方法。小组更加高效,因为组员能够相互支持,
作为一个整体开展行动,一起获取和分享信息。
战术人工智能的概念以小组动力为基础,需要游戏跟踪不同的实体小组。每
个小组需要与单个成员分开进行更新。您需要使用专用的更新模块实施更新,该
模块能够跟踪不同的小组及其目标和组成。然而,这种方法需要为引擎开发一个
单独的系统,因此我更喜好使用组长方法 (group captain method)。
您可为单个小组分配空军上校的角色。小组中的每个其他成员都需要听从组
长指挥,根据组长的命令采取相应行动。组长全面负责实施整个小组的战术人工
智能计算。
小组移动: 路径查找
实体移动是一个实施区域,可通过小组动力进行改进。智能代理用作一个单
元可提升移动的效率和逼真度。
路径查找较为耗时,即使使用预计算的路径图和多线程人工智能进行加速也
无效。小组动力可大幅减轻路径查找系统的压力。
当单元小组获得了行动目标(通过玩家或人工智能指令),最接近目标的单元
被设置为组长,所有其他成员都需要跟随组长。当组长被替换时,它需要查询路
径系统。借助路径信息,组长可以达到目标。小组中的所有其他单元只需要跟随
组长,无论组长要去哪里。
小组移动:阵型
由于小组作为一个集体采取行动,因此您能够成功减轻路径系统的负载。遗
憾的是,各单元的行动方式较为松散,缺乏组织性。输入阵型。借助阵型,小组
能够以规则的图案开展行动,如方阵(历史模拟)或三角形(Codemaster《霸王
(Overlord*)》中的士兵开展行动的方式,如图 1 所示)。
图 1. 在《霸王》中,士兵(红色着装者)在听到玩家(身披盔甲者)的命令之
后会以编队形式集体行动。
编队的设置非常简单,而且是对组长概念的延伸。在编队中,每个成员都有
一个不可或缺的特定角色。编队组建完成后,每个成员都有特定站位,就像单个
成员被指定为组长一样。编队中每个成员的站位都需要与其他成员保持相对距
离。
让我们以《霸王》中的士兵为例。他们以金字塔编队开展行动。在图 2 中,
组长“C”只需按照路径行动。成员 1 将在目标成员“C”的