免责声明:我在《波斯王子》和《刺客信条》这两个游戏上工作了 2 年多,法律上不允许我告诉你这些游戏是如何制作的,但我会尽力为你提供有关游戏 AI 的一般知识。大多数游戏不像你描述的那样使用学习。
artificial intelligence
首先,您所针对的语言或平台(或设备)与您将使用的工具无关。
第二,你的第一个例子,井字棋和国际象棋是turn-based
游戏,这与游戏完全不同real-time
。此外,这两款游戏都在有限的棋盘上运行,而search space
. 使用其他算法比学习(例如极小极大)更容易解决这些游戏。
对于real-time
像您描述的那些 3D 空间中的冒险游戏,即使找到context
或者input
您将提供给您的学习系统的内容也很困难......哪些元素与决策相关:最近的音频刺激,视觉刺激,这些刺激在空间和时间上的相对性、周围的敌人或盟友等……那么,考虑到这些世界的复杂性以及NPC
允许做什么,你如何定义output
你的学习算法?此输出如何在后续查询中保持凝聚力?
请记住,您对游戏设计所做的任何更改都需要重新运行学习过程,并且可能需要重新运行input
和output
.
你最好走标准路线,使用众所周知的方法,如finite state machines
, fuzzy state machines
, behavior trees
,planning
等……你将对决策有更多的控制权,并且实际上能够设计你无法做到的NPC
行为做学习。