OpenRA AI开发指南

2020-05-09 09:01:42

人工智能不应该作弊。也就是说,使用人类玩家不可用任何资源和/或信息。

对AI的调整必须在每个核心模块中进行测试。一个方面的改善不应该对其他多器官功能障碍有负面影响。

我不应该照看球员。将Micro从RTS流派中移除并不是OpenRA的目标。

管道和一般逻辑是由C#代码处理的,也应该由C#代码处理。变量,如建筑比率、班组组成、队列和单位名称存储在MiniYAML文件中。这使得开发人员可以相对轻松地对AI进行细微的调整。

然而,大多数特定于MOD的行为,以及所有更复杂的行为,都不能以这种方式合理实现,这是因为人工智能需要在不同的MOD中支持许多特定的功能,这些功能大多是独占的,甚至是相互冲突的。

这种瘫痪的人工智能在许多关键领域产生了问题,包括但不限于:战术决策、资源使用优化和基地建设。

因此,未来的OpenRA AI应该使用Lua脚本来制定所有特定于MOD的决策,以及所有复杂的行为。这样的AI实现将允许建模者和开发人员根据自己的需要轻松地调整AI,同时还可以防止C#代码和MiniYAML文件不必要的膨胀。已经有几次尝试实现这样的人工智能,到目前为止都没有完全成功。最值得注意的包括:#12949。

团队协调:人工智能应该能够与队友分享信息,并对他们的环境做出反应。这包括人类和人工智能球员。

精准经济管理。因此,人工智能意识到它的资源,并能够根据需要重新分配它们。