选择下一个排队的建筑 - AI游戏编程

时间:2014-03-05 21:09:47

标签: artificial-intelligence game-engine

我正在研究一些人工智能概念,并尝试制作一些代码来测试我的知识。

在最近的“独立项目”中,我试图开发一个人工智能,以确定哪些建筑物符合“Ai规则”的最佳“路径”(一个简单的建筑表,最后定义了规则

可以说,只需将 HQ 升级到最高级别,这将从其他建筑物中减少50%的构建时间。但是如果我遵循这条路径,队列需要等待很长时间才能有足够的资源用于下一个 HQ 级别,因此不遵守第一个AI规则。

然后挖掘互联网我找到了 Minimax 算法。我觉得它不能给我我想要的东西,主要是因为算法说它适用于2个玩家的已知场景。我没有2个玩家,这是与时间对抗的玩家。此外,玩家可以在资源(如掠夺)中获得“提升”,然后可用的内容变为可用,从而改变一切。

考虑到 Minimax ,我已经考虑将时间和资源(0..1)标准化并总结值然后遵循具有最小值的路径并进行此评估每次队列接近变空。我知道,这个结果不会是全局最优,但它将是“反复的”。

然而,即使使用这种“标准化的极小极大”,运行它可能(当然也会)是一项要求很高的操作。有15个建筑物,每个高达30级,我甚至不想知道运行代码的时间。此外,低深度=糟糕的决策和高深度=糟糕的表现。

最后,我被困了。我不确定它是否会起作用。 有人有什么建议吗?还是更好的算法?


  • AI规则:
    1. 队列永远不应为空(或者至少是可能的最小值)
    2. 必须在尽可能少的时间内完成。 (通过完成我的意思是,将所有内容放在最高级别)

  • 建筑物规则:
    1. 所需时间/资源增加10%/等级。
    2. 所有建筑物的最高等级为10,最低等级为1.

  • 建筑表 Name - Time(sec) - Resource - Bonus HQ - 100 - 100 - Reduce all buildings time (5%/level) Resource - 150 - 80 - 2 resource/sec/level Military - 80 - 80 - none

1 个答案:

答案 0 :(得分:0)

您可以尝试动态编程,请参阅检查器示例here,了解哪些内容可以帮助您实现解决它的算法。成本函数应该能够直接来自您的建筑单。