0

我知道人工智能应该做三件事:1.收集数据。2.处理数据。3.预测将要收集的NextData。

我相信我应该使用数据库来收集所有数据。

在iOS设备上的(井字游戏,国际象棋等)游戏中,我会让它自己对战30秒左右,并从错误中吸取教训,但在波斯王子这样的游戏中,刺客我会学习(从中)玩家的技能(从游戏的前 3 分钟开始,玩家的技能将被测试),然后让游戏适应玩家的技能,所以如果玩家是个好人游戏会带来很多乐趣,但如果玩家是初学者,我会给予更多探索,并且容易杀死“邪恶的士兵”。

“终于问题来了” 1.这种方法有效吗?还是有更好的?

4

2 回答 2

2

免责声明:我在《波斯王子》和《刺客信条》这两个游戏上工作了 2 年多,法律上不允许我告诉你这些游戏是如何制作的,但我会尽力为你提供有关游戏 AI 的一般知识。大多数游戏不像你描述的那样使用学习。

artificial intelligence首先,您所针对的语言或平台(或设备)与您将使用的工具无关。

第二,你的第一个例子,井字棋和国际象棋是turn-based游戏,这与游戏完全不同real-time。此外,这两款游戏都在有限的棋盘上运行,而search space. 使用其他算法比学习(例如极小极大)更容易解决这些游戏。

对于real-time像您描述的那些 3D 空间中的冒险游戏,即使找到context或者input您将提供给您的学习系统的内容也很困难......哪些元素与决策相关:最近的音频刺激,视觉刺激,这些刺激在空间和时间上的相对性、周围的敌人或盟友等……那么,考虑到这些世界的复杂性以及NPC允许做什么,你如何定义output你的学习算法?此输出如何在后续查询中保持凝聚力?

请记住,您对游戏设计所做的任何更改都需要重新运行学习过程,并且可能需要重新运行inputoutput.

你最好走标准路线,使用众所周知的方法,如finite state machines, fuzzy state machines, behavior trees,planning等……你将对决策有更多的控制权,并且实际上能够设计你无法做到的NPC行为做学习。

于 2012-12-15T06:54:57.630 回答
0

我真的认为这是您作为开发人员想要的。如果你想要一个无与伦比的 AI,那么你的方法会有所不同,那就是从游戏中获得最大乐趣。

根据玩家的表现来调整 AI 技能。我不会说“AI”更像是一种编码方式,让玩家获得最大的乐趣。

如果它是真正的 AI,那么它将是程序员可以构建的最佳玩家。当我制作 AI 时,我要做的是构建一个初始 AI,然后构建一个可以击败该 AI 的 AI,每个版本都是必须被击败的基准。我不认为你想走人工智能从错误中“学习”的路线,因为这会带来很多开销和很长的学习曲线。作为游戏开发人员,您可能会非常清楚如何制作一个能够击败学习一切的 AI 的 AI。这只是我的看法。

于 2012-12-14T14:01:43.740 回答