谈一谈游戏AI - 综述

成功者总是善于发现 “可学之处”,执着精进;失败者总是善于发现 “不可学之处”,怨天尤人。

郑重说明:本文适合对游戏开发感兴趣的小白初学者,本人力图将事物用简单的语言表达清楚,但水平有限,能力一般,文章如有错漏之处,还望批评指正。

最近,人工智能应用chatGPT火遍全球。今天,我想开一个小专题,谈一谈游戏AI。但此AI非彼AI,形式和机制差别巨大,相同的是,两者都创造了价值。

AI,全称为 Artificial Intelligence,是任何可以让机器模拟人类行为的能力。那么,在游戏开发中,是怎么让机器模拟人类的行为的?

一、游戏AI的应用

在游戏领域,AI的应用范围大致应用在以下一些方面:

  1. NPC决策。我们在玩游戏的过程中,经常会与大量的NPC打交道,真实生动的NPC带来的体验让人心情愉悦。NPC在与游戏玩家交互的过程中,如何模拟人类的反应来做决策至关重要。

  1. 移动与导航。地图游戏中,移动成为必须。有大量的算法来研究如何智能地模拟人类的移动行为。

  1. 博弈AI。棋牌或者即时对战类游戏中,存在大量的博弈。近些年知名的AlphaGo就是其中的典型代表。

  1. 游戏内容生成。在引入工业化生产的现代社会,游戏内容也是一类快速消耗的产品。如何快速有效地生产丰富多彩的游戏内容,也引起了开发商的关注。游戏AI也能辅助开发者生产,如地图生成等。

  1. 数值平衡性。一些游戏的战斗中,往往涉及大量的技能、效果,互相作用带来了无穷的结果。因此用AI来辅助我们做数值平衡性的跑测,力求公平,避免产生致命的问题也很重要。

二、NPC决策:sense-think-act 模型

2.1 决策模型

设想一下,你设计的一款游戏里有一个NPC怪物,我们叫他小木吧:

在游戏开始后,小木应该怎么做决策,来决定接下来做什么呢?

对游戏有过了解的同学应该清楚,游戏内状态的更新和变化都是通过一个叫做循环的东西来控制的。小木身处这样一个循环的世界,要做的也就是自身不停的循环。

在每一次的循环中,小木需要经历三个阶段,我们称为 sense-think-act 循环模型:

  • Sense: 在这个阶段,小木需要探测周围世界中的信息,或者被告知周围世界中发生了什么事情。这些信息或者事情会影响它的行为。例如,有危险正在靠近,地上有物品可以拾取,或者受到了攻击。

  • Think: 小木需要做出决策,对上述的Sense做出适当的反应,比如应该战斗还是逃跑,亦或是拾取物品。

  • Act: 小木需要以上述决策作为目标,来具体实施。比如移动到某个低点,释放技能,或者做出拾取的动作。

每一次的循环中,都依次执行这个 sense-think-act模型,如此无限往复。

2.2 与通用AI决策的区别

需要注意的是,游戏内的AI 并不一定要做 “最优” 的决策,而是要有趣或者富有挑战性,要表现的很逼真,拟人,最优解并不一定是设计者需要的。所以类似 AlphaGo 这种超级智能的AI 并不符合游戏中实际的需要。

另外,最优解往往需要大量的训练或者计算,并不能满足游戏中大量AI 对实时性和性能的要求。所以 GameAI 和 实际机器学习中的 AI 还不太一样。

2.3 有关 Sense

很多游戏引擎中,会集成主动sense模块。如 UE4 中的感知(perception):

从图中,我们可以看到很多具体的感知:

  • 听觉

  • 视觉

  • 触觉

  • 团队感知

  • ...

在游戏中除了每一次思考时主动感知(sense)之外,往往还有另外一类感知:

对事件做出反应(responding to events)

在每一次的循环中,可以主动感知,每一次的感知间隔(循环间隔)可以是一帧,或者一次思考间隔的时间,如0.5秒。

正是因为有感知间隔,NPC决策往往不够实时。因此,还需要有对被动感知的处理。例如,NPC收到队友的呼救信息,受到攻击等等。通过对事件做出实时反应,NPC的决策才会更真实。

三、AI决策模型的实现

3.1 发展历程

对于决策模型 sense-think-act,其实现方式经历了一系列的演变。大致有以下一些方式:

3.2 基础决策

hardcode

如 hardcode 在代码中一个例子:球拍击球的小游戏AI:

every frame/update while the game is running:if the ball is to the left of the paddle:move the paddle leftelse if the ball is to the right of the paddle:move the paddle right

每一帧的循环中,对照 sense-think-act 模型:

  • sense 就是两个 if 条件。AI 在 if 中主动从 game 中拉取需要的数据:球是在球拍的左边还是右边。

  • think 也体现这两个 if 条件中,体现了决策分支,只不过是 hardcode 的方式,这几个分支是互斥的关系。

  • act 就是 move 的操作,会涉及具体的 move 实现,如设置方向和速度等。

配置表

hardcode的方式过于死板了,调整起来非常不方便。游戏中成千上万的AI如果都使用hardcode的方式来实现,基本是无法维护的。

如果使用数据驱动的方式,如配置表驱动,则要更方便,参数可以灵活调整,但是具体的决策项还是要提前通过代码实现好。

Script 脚本

配置的方式毕竟还是有不少限制。此时,我们可以使用脚本语言如 Lua,其可以实现更为强大的功能。很重要的一点是,它和配置表一样也可以热更新。这对开发调试,以及在线修复或调整AI的逻辑错误等比较重要。

3.3 高级决策

在基础决策实现的基础上,又发展出了一些更高级的决策方式,如状态机、行为树、Utility权重决策等,这一部分我们后面再继续阐述。

三、移动与导航

在前面的文章中,我们说明的是AI应用中比较典型的NPC决策模型。

而这里我们要讨论的另一大类,移动与导航,其实是上述决策模型中的 act,因为它非常常用,所以可以作为典型单独讨论。

移动会涉及到速度(velocity)的设置以及方向。在 think 环节,我们可以设置这个 velocity 或者设置其目的地或者追击的 target 等,然后在 act 环节做具体的 move。

导航在游戏中更为常见,涉及到一些经典的寻路算法如:

  • A* 算法

  • JPS 算法

  • NavMesh算法

这些算法如果要应用到地图导航中,还需要涉及地图如何表达的问题。这些我们也会在之后的系列文章中讨论。

关于AI在博弈对战、游戏内容的生成以及数值平衡性的使用,本人经验也不多,以后有研究成果了再单独分享。

有关游戏AI的综述我们就说到这里。

【参考资料】

The Total Beginner's Guide to Game AI

AI分享站

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/27482.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安卓版ChatGPT要上线了!

Datawhale干货 最新:ChatGPT安卓版, 来源:机器之心 自发布以来,ChatGPT 一直受到高度关注,在全球范围内吸引了大量用户。有机构统计认为,早在今年 1 月,ChatGPT 的用户量就已经超过了一亿。彼时…

必看!大语言模型调研汇总!!

作者:guolipa 知乎 自从ChatGPT出现之后,各种大语言模型是彻底被解封了,每天见到的模型都能不重样,几乎分不清这些模型是哪个机构发布的、有什么功能特点、以及这些模型的关系。比如 GPT-3.0 和 GPT 3.5 就有一系列的模型版本…

一网打尽!国内外50多个大模型调研汇总

因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享 点击关注#互联网架构师公众号,领取架构师全套资料 都在这里 0、2T架构师学习资料干货分 上一篇:ChatGPT研究框架(80页PPT,附下载)…

大语言模型调研汇总

自从ChatGPT出现之后,各种大语言模型是彻底被解封了,每天见到的模型都能不重样,几乎分不清这些模型是哪个机构发布的、有什么功能特点、以及这些模型的关系。比如 GPT-3.0 和 GPT 3.5 就有一系列的模型版本和索引,还有羊驼、小羊驼、骆驼 ...... 于是浅浅的调研了一下比较有…

总结从T5、GPT-3、Chinchilla、PaLM、LLaMA、Alpaca等近30个最新模型

自从ChatGPT出现之后,各种大语言模型是彻底被解封了,每天见到的模型都能不重样,几乎分不清这些模型是哪个机构发布的、有什么功能特点、以及这些模型的关系。比如 GPT-3.0 和 GPT 3.5 就有一系列的模型版本和索引,还有羊驼、小羊驼…

一网打尽!国内外大模型调研汇总

作者 | guolipa 整理 | NewBeeNLP https://zhuanlan.zhihu.com/p/614766286 大家好,这里是 NewBeeNLP。 自从ChatGPT出现之后,各种大语言模型是彻底被解封了,每天见到的模型都能不重样,几乎分不清这些模型是哪个机构发布的、有什…

学习笔记借助chatGPT生成excel统计公式

要求:通过Excel公式提取ExcelB列表格中邮箱名称(之前的字符) 知道老板要求后,我们就需要写出对应的提取公式,可是对于Excel公式使用不熟练的人来说,这个公式如何写呢?这时候我们就需要借助chatG…

《辉煌优配》6G技术推进下,CPO引领光通信发展新方向

3月1日,中国工业和信息化部部长金壮龙在国务院新闻办新闻发布会上表明,工信部将研究制定未来产业开展行动计划,加快布局人形机器人、元宇宙、量子科技等前沿范畴,全面推动6G技能研制。2月27日,2023年世界移动通讯大会&…

动态销售看板图表 | 汇总不同部门数据,一键切换部门

背景:公司有五十多个子部门,每个sheet存储着每个部门的所有数据(不sheet表格结构需要保持一致),如果想将每个部门月至今的销售数据做成图表,怎么办?50多个sheet逐一添加图表?当然不&…

12. Excel数据可视化看板--动态销售月报看板

文章目录 1可视化看板作用1.1 形象直观,有利于提高效率1.2 透明度高,便于配合和监督1.3 降低成本,缩短生产周期1.4 传递现场的生产信息,统一思想1.5 杜绝现场管理中的漏洞1.6 绩效考核的公平化、透明化1.7 保证生产现场作业秩序&a…

33、Power Query-统计员工完成业绩的记录

本节通过一个实例来讲解之前的所学的行、列、表的构造。 需求如下图所示,要求:统计实际业绩大于等于计划业绩的数据记录(完成业绩)。 比如第一个员工“休闲海”,他就是这样的好员工,实际业绩大于等于计划业…

【干货】公司年终业绩分析报告,你的数据统计对么?

每年年终或新年伊始,公司管理层都要从各个角度比如部门、产品线等考察公司过去一年的业绩,作为数据分析团队,你需要向管理层准备这样的数据分析报告,而在此过程中,你可能会面临着这样的问题: * 公司的组织…

销售业绩-各区负责人大盘情况PPT汇报

文中业绩数据和人物-纯属虚构,仅供学习参考,不代表任何实际意义。 ----数据来源网上公开脱敏数据集 文章目录 广州各区负责人-销售业绩BI大盘情况一、PPT汇报1.广州-华南大区整体情况 总结 广州各区负责人-销售业绩BI大盘情况 一、PPT汇报 1.广州-华南…

AIGC浪潮来袭,奇点云“数智科技大会”洞见AI加速的数智未来

“进化,发生在每一个数字化场景。” 5月25日,以“数据进化论”为主题,由StartDT(奇点云、GrowingIO)主办的2023 StartDT Day数智科技大会在杭召开。企业客户、行业专家、技术专家与数万位参会伙伴相聚云上,…

大模型引爆算力缺口,智算中心是正“途”

中共中央、国务院印发的《数字中国建设整体布局规划》指出,要夯实数字中国建设基础,其中重要的一方面,就是系统优化算力基础设施布局,引导通用数据中心、超算中心、智能计算中心、边缘数据中心等合理梯次布局,加强传统…

关于大模型对未来影响的一点看法

人们总是高估了未来一到两年的变化,低估了未来十年的变革。 ---比尔盖茨 近来OpenAI的GPT技术可以说在全球都带来了巨大的影响,也让大家看到了什么叫大力出奇迹。chatGPT和GPT4的能力给了大家很大的震撼,其流畅自如、逻辑清晰、出众的能力&am…

从函数空间的角度重新理解傅里叶变换

文章目录 函数空间向量空间投影指数形式的傅里叶级数其他形式的投影傅里叶变换短时傅里叶变换(STFT)、Gabor变换与小波变换短时傅里叶变换Gabor变换小波变换不确定性原理 Paley-Wiener理论Paley-Wiener Condition 或者 Paley-Wiener CriterionPaley-Wiener Theorem陶哲轩(Terre…

小雨的三周年创作纪念日 —— # 大型立flag现场

写在最前面 听说写《我的创作纪念日》会有红包掉落!让我来试试~ ლ(ڡლ) Tips 您发布的文章将会展示至 里程碑专区 ,您也可以在 专区 内查看其他创作者的纪念日文章优质的纪念文章将会获得神秘打赏哦 机缘 最初成为创作者的初心,是大一时…

人工智能前沿——2022年最流行的十大AI技术

深度学习Tricks,第一时间送达 目录 1、语言识别 2、自然语言生成 3、机器学习平台 4、深度学习平台 5、决策管理 6、虚拟代理 7、AI优化硬件 8、机器人处理自动化 9、生物计量学 10、网络防御 >>>一起交流!互相学习!共同进…

机器学习与微分方程的浅析

大家都已经使用机器学习了,尤其是基于神经网络的深度学习,chatGPT甚嚣尘上,还需要深入理解微分方程么?不论答案是啥,都会涉及到二者的对比,那么,机器学习与微分方程的区别又是什么呢&#xff1f…