本节书摘来自华章出版社《Unity 3D人工智能编程》一 书中的第1章,第1.2节,作者:(美)基奥(Kyaw,A.S.),(美)彼得斯(Peters,C.),(美)斯瑞(Swe,T.N.),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1.2 游戏中的人工智能
游戏人工智能需要去完善一个游戏的品质。为此,我们需要了解每个游戏必须满足的基本需求。答案应该是显而易见的,就是让游戏好玩。那么,是什么决定了一个游戏是否好玩呢?这其实是游戏设计的主旨(Jesse Schell所著的《The Art of Game Design》是一份极佳的参考资料),让我们试着在不深入讨论游戏设计的话题的情况下来解决这个问题。你会发现一个具有挑战性的游戏一定是好玩的。重申一遍:让游戏具有挑战性。这意味着一个游戏不应该太过困难让玩家没有击败对手的可能性,也不应该让玩家轻而易举地取得胜利。让游戏好玩的关键因素是为之找到合适的难度等级。
而这正是人工智能发挥作用的地方。人工智能在游戏中的作用是通过提供富有挑战性的竞争对象来让游戏更好玩,而在游戏世界中行动逼真的有趣的非玩家角色(NPC),也会让游戏更好玩。所以,我们的目的不是复制人类或其他动物的整个思维过程,而是通过让这些NPC对游戏世界里不断变化的情形,产生对玩家来说足够合理、有意义的反应,来让它们看起来更加智能。
我们不希望游戏中的人工智能系统花费过多的计算代价,因为人工智能计算所需要的处理器能力,比如图形渲染和物理学仿真,要同其他的操作共享。另外,别忘了它们都是实时发生的,并且,在整个游戏中保持稳定的帧率也非常重要。甚至有人试图制造专门用于人工智能运算的处理器(AI Seek公司的Intia处理器)。随着处理器的处理能力与日俱增,我们现在拥有了越来越多的人工智能计算的空间。然而,像所有其他的游戏开发规范一样,优化人工智能计算仍然是人工智能开发者所面临的巨大的挑战。