1

我不确定这是否是问这个问题的正确地方,但这里是。

我已经做了大约 12 年的程序员,在 php、java、c#、vb.net 和 asp 方面有经验。我一直对人工智能很感兴趣。我认为这确实是任何开发人员的终极挑战。

我已经编写了许多简单的脚本来玩游戏,但与我接下来想做的相比没有任何意义。我想编写一个 AI 程序来玩 MMORTSG(大型多人在线实时战略游戏)。我一直在搜索许多 AI 技术,但似乎没有一个能解决我知道我将面临的问题:

我可以预见的问题:

  1. 游戏没有“胜势”,相反,最好的策略是与其他玩家相比增长最大的策略。增长由三个因素决定,经济、军事和研究。
  2. 部分游戏状态是不可预测的。其他玩家可以随意攻击我。
  3. 游戏是基于时间的,行动需要时间。IE。建造一座新建筑需要几个小时。在建造该建筑物时,无法建造其他建筑物。

我研究过的所有人工智能系统都需要某种“获胜功能”来测试人工智能是否找到了终点。在我的情况下,它更有可能是“我有 X、Y、Z 选项,最好的选项是 X”。

附言。示例代码会很棒。即使是Psuedo也会很棒。

4

1 回答 1

3

我见过一些人工智能在游戏领域的应用,但其中大部分是用于 FPS、MMORPG 和 RTS 游戏。您似乎与之相关的流派类型听起来类似于“部落冲突”,其中研究、军事和经济以及随机攻击发生在随机时间段内,并在无休止的时间段内运行。

似乎在游戏的关键点(建筑已完成,或研究可用,或城堡已满)使用模型来为进展做出战略决策。也许可以在关键时刻应用遗传算法来确定未来步骤的合适顺序。可以定义一个模块化的神经网络来决定采用的逻辑增长因子,但是训练这样的网络可能很困难,因为游戏规则会随着时间的推移而变化(来自以前未知的资源、研究选项、军事甚至游戏更新)。脚本在 MMORPG 类型中也很常见,但在不了解所有可用选项的情况下定义手动规则也可能很困难。事实是,有很多方法可以解决您的挑战,很难对您的问题给出明确的答案,

简单回顾一下这个问题,导致问题的因素似乎是当前的经济状态、当前的军事状态、当前的研究状态、为下一次升级节省的时间、构建下一次升级所需的时间、升级成本以及其他未知因素。

鉴于这个问题没有明确的获胜目标,我想这是一个在三个增长因素之间保持健康平衡的问题。但是如何定义平衡呢?研究更重要吗?您应该一直有钱,还是只为下一次计划的升级存够钱?军队应该尽可能大吗?

您摆在自己面前的挑战非常冒险,但如果您还不熟悉 AI 必须提供的模型,我建议您接受较小的挑战。有相当多的 AI 资源游戏应用程序可用于激发您的模型(包括上面提到的 ziggystar 的示例)。

于 2014-09-15T02:17:27.770 回答