如何在太空侵略者中实现神经网络?

时间:2015-08-28 15:15:49

标签: unity3d artificial-intelligence neural-network

我正在使用统一游戏引擎中的太空入侵者克隆。我想让敌人变得聪明。 我尝试过的一种方法是使用最小最大算法。我拿走了玩家的x坐标并从中制作了最大的最大树,然后用它使敌人在特定的时间间隔后转离该位置。然而,这并没有奏效。 现在我希望敌人学习和进化以避免玩家使用神经网络。如何在太空入侵者中实现这一点? 还有其他算法比神经网络更好地用于太空入侵者吗?

3 个答案:

答案 0 :(得分:2)

几乎所有的学习算法都比神经网络更好。然而,这是一个非常深刻的话题 - 你需要的是一本书和几个月,而不是关于SO的快速回答。

所以我建议一些:

我不建议使用神经网络因为它们需要很长时间才能学习,即使使用最现代的学习优化技术(我也不认为你会发现它)无论如何还是在任何书中)。您希望这些入侵者能够即时学习,因此您需要更具响应性的内容。

我可能会使用决策树,并保留一个有限长度的记忆向量,以便小动物能够快速适应玩家策略的变化。

答案 1 :(得分:0)

神经网络是游戏AI中的复杂机制。但是游戏AI的主要特征是模仿人类行为的最常见特征,比如游戏中的图灵测试。 或许,使用GOAP和FSM技术更快地开发逻辑,但几乎具有相同的要求,这样做会更好。

答案 2 :(得分:0)

你说过,你希望敌人“进化”。是的,我认为神经网络就是这种方式。更确切地说,进化发展了神经网络。但你需要一种方法来训练他们......快。这就是我要做的事情:首先建立一个用于射击敌人的AI ......足够简单。然后运行一个进化算法来开发和训练最好的敌人AI神经网络,而你手动开发的玩家AI试图杀死他们。更进一步:给你的玩家AI赋予一个evo神经网络,并让它学会尽可能有效地杀死敌人。然后,让他们一起进化。你将获得一些有史以来最聪明的敌人(以及一个非常好的玩家AI - 如果你需要的话)。然后,您可以选择不同世代的不同个体来表示游戏中的不同难度级别。