深度强化学习的人工智能在游戏中的运用:游戏AI入门及AI优化指南
副标题[/!--empirenews.page--] 导语:前言: 现如今,所有电子游戏都离不开AI的运用,对于游戏策划而言AI是什么,AI又是如何运作,可以说是面试时的加分项,本文在这里不探讨理论的AI(采用深度强化学习的智能AI,如腾讯AI Lab、网易伏羲AI等),旨在分享现游戏领域广泛运用的AI,给新人策划针 ![]() 前言: 现如今,所有电子游戏都离不开AI的运用,对于游戏策划而言AI是什么,AI又是如何运作,可以说是面试时的加分项,本文在这里不探讨理论的AI(采用深度强化学习的智能AI,如腾讯AI Lab、网易伏羲AI等),旨在分享现游戏领域广泛运用的AI,给新人策划针对游戏AI、游戏脚本有一个初步的了解。 (本文接下来不包括AI底层代码,AI工具开发等程序向内容,该部分在网络上已经有很多教程大家可以去学习,个人认为策划对于底层AI的具体实现是不需要了解的,而对于AI制作与优化是需要学习的。) ![]() 本文的具体结构 一、AI的应用场景 人工智能开发是游戏研发中最具挑战性的任务之一[1],那么游戏中AI的具体使用场景在哪里呢? ![]() 英雄联盟里怪物战斗AI、场景AI(作用于野怪刷新)、人机挑战中机器人战斗AI 除了大家熟知的LOL,3A大作里AI一般运用到哪里呢? ![]() 巫师3中的NPC AI,怪物AI等AI运用基本可以囊括现有AI的运用场景 从上面举的两个例子,已经可以看出现在制作游戏离不开AI。 二、AI通过什么方式进行设计? 现有游戏AI基本通过下面两个方式进行实现:行为树(Behavior Tree)与有限状态机(Finite State Machines),那么下面我们就对于这两个实现方式进行探讨。 2.1 什么是有限状态机 “状态机”是一种表示状态并控制状态切换的设计模式,常常用于设计某种东西的多个状态。而有限状态机是指游戏内的条件逻辑封装到各个状态类里。例如一个人有站立状态,跑动状态,走路状态,蹲下状态,开火状态等[2],当一个事件发生,将会触发一个动作,或者执行一次状态的迁移。 但却有两个缺陷: 1。 各个状态类之间互相依赖很严重,耦合度很高。 2。 结构不灵活,可扩展性不高,难以脚本化/可视化。 下图是游戏中怪物入战的有限状态机,如果我们想对攻击敌人/追击敌人状态进行修改,是需要程序给我进行状态类中内容修改的。 ![]() 那如果我们可以把本来的巡逻、追击敌人、攻击敌人等状态先进行更细分的封装,是不是更好呢?那你就可以见到状态机如下图一样的混乱,后期的维护基本很难进行。 ![]() 结合前面两种情况,我们又可以发现,使用有限状态机,策划不能充分参与其中,只能由程序员来完成,这会增加程序员的工作量。 综上所述:在游戏开发中使用状态机显然不失为一种选择,首先它的概念并不复杂,其次它的实现也十分简单而直接,所以当一个简单的npc所需AI,使用状态机是完全可行的。 但它的缺点却也十分明显,例如难以复用,因为它往往需要根据具体的情况来做出反应,当然当状态机的模型复杂到一定的程度之后,也会带来实现和维护上的困难。 而现在行为树比有限状态的几个优势: 1。 行为树提供了强大的灵活性,很容易更改行为树的结构,也易于后期的维护与扩展; 2。 在程序开发了元件后,逻辑层面全部交给了策划,减少程序员工作量的同时,让策划也可以进行AI问题的初步排查。 正好弥补了我们上面所说的状态机的缺点,那么接下来我们就着重介绍行为树吧。 2.2 行为树 行为树就是一棵节点层次分明的树,控制着AI物体的一系列决定。从树延伸出的叶子节点,执行控制AI物体的指令。各种工具节点组成树的分支,来控制AI指令的走向以形成一系列的指令,这样来满足游戏需要。 它可以是一棵很高的树,可以具有完成特定功能的子树,开发者可以创建行为库并把它们适当地连接起来以达到非常真实的AI行为。开发过程是高度可迭代的,你可以先排出一个基础的行为树,然后创建新的分支来处理各种达到目标的可选方案,这些分支按照它们的优先级排列,这样AI在一个特定的行为失败可以回溯到另一个策略,这是行为树巨大优势所在。[3] 现在的很多项目就是Lua做逻辑开发,下图分享一下项目中使用的Lua版本行为树。 Lua行为树执行上图状态机的相同AI功能: ![]() 如果对于上图,一个简单的行为树看不懂的话,可以阅读行为树的工作原理: AI 行为树的工作原理 在例子中,行为树的优点是逻辑直观、一目了然,策划可以借助工具直接配置,不需要程序介入。而缺点则是树分支数量庞大,每次遍历寻找合适节点的过程消耗高。 三、如何优化AI中的设计 如果仅仅只是讲述前面两点事实,这篇文章就没有什么意义,接下来分享一些自己对于AI方面的经验,也希望在你优化AI的时候,这一部分能够起到帮助。 3.1 NPC AI 在RPG游戏发展的过程中,NPC摆脱了原本傻站原地,无脑发放任务的基本模式,融入了各种各样的AI来丰富行为,《巫师3》中,白天开业的商人,巡逻街道的卫兵;《刺客信条》中,围成一团的群众,穿梭街道的小孩;《如龙0》中让玩家印象深刻的勒索哥等等,这些游戏中NPC AI的加入让整个游戏世界更加的真实,也让玩家的沉浸感有着质的提升。 拿《逆水寒》NPC来举例: (编辑:二游网_173173游戏网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |