游戏服务器开发与人工智能
游戏服务器开发与人工智能
人工智能(AI)在如今的游戏中非常关键——玩家需要精明的、有挑战性的对手,感觉就像真人一样。游戏服务器开发者明白真实世界的AI不是说完全模仿人如 何玩和反应,而是为玩家创造这种感觉。多年来,开发者一直在争论计算机对手“作弊”(计算机对手可以比玩家访问更多的游戏数据)的优缺点。这种争论最好用 在别的时间和地方。不过,几乎所有的开发者都同意,比起AI模拟,AI行为的玩家感知更为重要。
就开发AI判定来说,Lua是一种非常高效的工具。有许多人工智能组件,如路径寻找,最好留给底层语言来实现。路径寻找(游戏服务器控制的物体在虚拟世 界中的路径寻找)是一个数据运算量很大的工作,游戏服务器需要反复测试可能的路径来寻找最短或者最直接的路径。(路径寻找最好整合到上层的LuaGlue函数 中以便控制相关参数,但还是会在后面的章节中介绍一种Lua的实现。)另一个例子是用最大最小值方法实现的移动判定,一般被用在游戏服务器象棋游戏中,预测之 后几步的移动并尝试计算出最优的移动步骤。一般来说,“能思考的函数”都需要大量的数学计算,如导航树或者尝试错误法运算最好都留给底层代码。依赖有限的 数据集合和参数的人工智能才更适合Lua的特点。Lua的优点是设计师可以编 写简单的模型来试错,并快速验证和迭代想法而不需要麻烦程序员。想要利用Lua高效率实现AI,需要很仔细地设计函数(C函数),让Lua脚本可以访问和 交互游戏数据。使用Lua作为事件管理系统同样可以让AI设计师能应对游戏开发中的变更,开发出灵活反应的AI系统。【艾娜】