一般来说,游戏中没有使用神经网络和遗传算法,除了最近对使用神经网络进行深度学习的兴趣外,游戏中也很少使用。
这些在AI学术界教授的主要原因不是因为它们的实际适用性,而是因为它们很容易解释为教学设备-两者都具有数学和生物类似物,使学生能够理解他们如何工作。
在现实世界中,您通常需要可靠性和可预测性。学习方法的问题在于,如果他们“在野外”学习,那么他们会学习错误的模式并且变得不可靠。NN或GA可能会达到局部最大值,例如不能保证该最大值足以提供所需的游戏体验。在其他时候,它可能会变得太好了,找到了无与伦比的完美策略。在大多数娱乐产品中,这都不是理想的。
即使您进行离线训练(即,在发射前,而不是在游戏过程中),看起来很漂亮的一组数据也可能隐藏了异常现象,一旦被玩家发现,这些异常现象就很容易被利用。尤其是神经网络通常会演化出一组权重,这些权重对于研究而言是相当不透明的,并且很难做出推理。设计人员很难调整此类AI例程以按需执行。
但也许最令人毛骨悚然的问题是,GA和NN通常不是用于任何游戏开发任务的最佳工具。虽然教学设备不错,但对主题领域有足够了解的任何人通常都可以使用不同的方法来获得类似的结果。从支持向量机或行为树之类的其他AI技术到状态机之类的更简单方法,甚至是一连串的if-then条件,它可以是任何东西。这些方法倾向于更好地利用开发人员的领域知识,并且比学习方法更可靠和可预测。
但是,我听说有些开发人员在开发过程中使用了神经网络来训练驾驶员在赛道周围寻找一条好的路线,然后可以将此路线作为游戏的一部分进行运输。请注意,最终游戏不需要任何神经网络代码即可运行,甚至不需要训练有素的网络。
顺便说一句,该方法的“成本”并不是真正的问题。NN和GA都可以非常便宜地实现,其中NN特别适合于预先计算和优化。问题的实质是能够从中获得有用的东西。