什么是游戏AI

谈一谈游戏AI - 综述 最近,人工智能应用chatGPT火遍全球。今天,我想开一个小专题,谈一谈游戏AI。但此AI非彼AI,形式和机制差别巨大,相同的是,两者都创造了价值。 AI,全称为 Artificial Intelligence,是任何可以让机器模拟人类行为的能力。那么,在游戏开发中,是怎么让机器模拟人类的行为的? 阅读详情

总得来说,游戏AI(Game AI)就是一种能让开发者为玩家创造引人入胜体验的东西。我们用的每一个技术、每一个技巧、每一种算法,都是为了那么一个单一的目标。本文将围绕这一点展开讲解究竟什么是游戏AI。

首先需要明白的一点是,游戏AI中的AI(Artificial Intelligence,人工智能)与我们讨论计算机视觉、自然语言处理等领域时所说的AI其实是两回事。在本文中,我们把后者称为学术AI(academic AI)。

那么学术AI和游戏AI本质的区别是什么呢?学术AI的目的是创造一个智能体,该智能体根据环境作出动作,以最大化成功率为目的。例如在图像识别任务中,我们希望AI能够获得尽量高的准确率。而游戏AI并不是要做到最大化成功率。例如在星际争霸的游戏中,我们并不是以胜利为目的来设计AI的,而是以让玩家有一段美妙的游戏体验而设计的。在这种目的的引导下,我们有时故意把AI做的不那么强大,甚至通过让AI作弊来获取更多信息。而获取这些信息不是为了击败玩家,而是为玩家提供更好的服务(关于这些,会在后文详细展开)。有时游戏AI也会借助学术AI的方法,但绝大多数时候,他们是不同的。游戏AI关注的是:AI的外在表现,以及给玩家带来的感觉。

创造体验

上文已经提到,游戏是要为玩家创造引人入胜的体验。而游戏AI是为了支撑这段体验(游戏的其他部分其实也是)。接下来要讨论的是为了支撑这段体验,设计游戏AI时,有哪些关键因素。

(1)搁置怀疑

玩家是自愿地加入到这段我们为他创造的体验中来的。因此,他们非常愿意搁置自己对我们所创造的虚假世界的怀疑。而我们的责任是维持玩家“搁置怀疑”的状态。

由于玩家自愿来享受这段体验,也因为人类大脑的工作方式,因此他们是非常宽容的。只要AI的行为基本合乎情理,玩家的大脑就会自然地向自己解释AI的行为,而那种解释往往是复杂的,比实际的AI算法复杂的多。所以,AI设计者可以尽量设计简单但合理的AI。太过于复杂的AI反而会让玩家摸不着头脑,适得其反。

有一种要避免的情况,就是人造蠢货(artificial stupidity)。所谓人造蠢货就是指做一些显然错误,或没有意义的事。确实在很多游戏中出现了这样的AI,但也不是故意的设计,而是一些BUG。比如一直朝着墙走,或完全无视玩家对他的射击。

有些行为虽然也会在真实人类身上看到,但仍然要避免,因为他们不适合AI。例如,人类总是频繁地改变自己的想法,但如果AI也这么做了,就会给玩家一种出现Bug的印象。

解决人造蠢货最简单方法就是增强AI。但是,玩家的品位各不相同,很难同时满足所有玩家。因此还诞生了一些别的方法,解决人造蠢货让玩家无法“搁置怀疑”的问题。例如,在有的僵尸游戏中,僵尸的AI被故意创造成走路缓慢、一摇一晃的样子,但由于他们是长相可怕的僵尸,仍然可以被玩家接受。还有一些游戏中,让游戏的角色喊出一些话。例如,“手榴弹(Grenade!)”,“我发现他了!”。这些并不是用作游戏角色间的交流,而是向玩家解释角色的行为。有些游戏直接在角色头顶放一些图标来向玩家解释(例如模拟人生)。

(2)反应性,不确定性和创作者控制

各种各样的结构,那个对于游戏AI来说才是最好的?这是一个被广泛讨论的问题。

首先要讨论的是,“创作者控制(Authorial Control)”和“自我控制(Autonomy)”之间的权衡。所谓“创作者控制”是指AI的创作者对AI的掌控,创作者能根据自己的意愿调整、控制AI,而AI受环境的影响较小。“自我控制“是指AI受创作者的控制力度小,根据环境的不同做出多变的反应。举例来说,Alpha Go就是高度自我控制的。因为他通过蒙特卡洛树搜索+深度强化学习训练得到,设计者也不知道最终AI下棋的模式是什么样子,可以说他几乎完全不受创作者意愿影响。下图给出了不同算法的“创作者控制”和“自我控制”比例的相对关系。

不同算法的“创作者控制”和“自我控制”比例的相对关系
“自我控制”很多时候称作强反应性(Reactivity)。反应性指的是AI能够根据环境不同做出不同行为的能力。

没有一个确定的答案说哪一种算法更好。这往往是根据需求而定的。例如策略游戏(例如魔兽争霸)就需要较强的反应性。玩家每一局的行为是不同的,AI以不变应万变显然是不合适的。而在像魔兽世界这样的游戏中,AI的行为往往是高度受“创作者控制”的。同一个副本,刷第一遍和刷第二遍,怪物的AI并不会有什么不同的行为。

选择AI结构时,另一个复杂的因素是不确定性(nondeterminism)。很多时候游戏中的随机性能够带来更多的快乐(例如Roguelike)。和反应性不同,反应性要求的是对不同环境作出不同的行为,而不确定性是指同样的情况下也能作出不同的行为。在这一点上,behavior trees 和 utility-based AI 是比较好的。

总得来说,结构是根据游戏需求选择的。

(3)简单和可扩展

如果熟悉游戏AI常用的算法,可以发现他们本身是非常简单的。而已这些算法为框架,在框架之上建立的结构才是复杂的部分。底层算法代码简洁、容易理解、容易debug,这是非常重要的。

有些算法的可扩展性很差,当AI结构越来越大,会越来越难维护。因此,一个好的游戏AI算法,不光要简单,而且要求扩展性好。

(4)技巧和作弊

首先要讲一个魔兽争霸里的剧情AI的例子。AI会等待固定的一段时间,然后产生一波兵攻击玩家。它会选择在战场迷雾的边缘产生这些单位,也就是在你的可见范围外,AI会不停的生成士兵,直到你的防御力量几乎被毁灭,然后AI就会停止,并让你用剩余的兵力赢得战斗。

在这个例子中,可以说AI是完完全全的作弊。他不需要任何建造、采集,可以任意的让单位从天而降。但他的结果是好的,他让玩家体验了一场惊心动魄的战争。

但是,这种作弊有一个弱点,它只在玩家不知情的情况下有效。如果玩家发现了AI在做什么,那么设计者精心设计的游戏体验将毫无意义。

还有一种作弊称作“完全信息”。即AI知道一切。他拥有所有的视野,不需要探索就能知道金矿的位置、敌人的位置。事实上这是必要的。因为目前AI还没有像人类一样的推理能力。例如一个单位出现在AI的视野里,然后消失了,但下一瞬间又出现了。人类能够推断这个单位就是之前小时的单位,但是这对AI来说是困难的。我们不能要求AI在玩家的电脑上存储自己的记忆。

但是,完全信息的AI仍然需要让玩家“搁置怀疑”。即使AI知道金矿的位置,也不能因此而不去探索。让AI有一定的概率去探索一个实际已知,但却不应该知道的地方。这样一来,AI的行为就能更好得被玩家的头脑所解释。

总结

游戏AI只应该关于一件事:如何让开发者为玩家创造一段引人入胜的经历。

本文是对《Game AI PRO》第一章的总结加一点个人想法。有时间会持续更新后续章节。

【Visual C++】游戏开发笔记十五 游戏人工智能(一) 运动型游戏AI 本系列文章由zhmxy555编写,转载请注明出处。  http://blog.youkuaiyun.com/zhmxy555/article/details/7434317作者:毛星云    邮箱: happylifemxy@qq.com    欢迎邮件交流编程心得我们常常听闻AI(Artificial Intelligence人工智能)这个名词,比如Dota里面的AI地图。写这篇文章的时候,最新版的Dota 阅读详情

相关推荐

当人工智能遇上游戏,会擦出怎样的火花?盘点游戏中应用的AI技术!

说起人工智能,相信大家对于这个概念并不陌生,随着人工智能的高速发展,人工智能逐渐应用到了生活中的方方面面:AlphaGo战胜李世石,图像美化,直播中的一键换脸等。同时,人工智能在游戏中也有诸多应用,在游戏里领域扮演了相当重要的角色。 那么,人工智能在游戏开发中具体是如何运用的?能给游戏行业带来什么? 在2019网易游戏开发者峰会上,学院邀请到网易游戏人工智能实验室技术总监Weldon Zhang,为我们分享人工智能实验室在游戏AI上的探索和成果。 以下是分享实录: 众所周知,中国是世界上最大..

NetEase_Game的博客 4716

深度学习的游戏AI:如何使用深度学习进行游戏人工智能

1.背景介绍 游戏人工智能(Game AI)是一种利用计算机程序模拟人类智能行为的技术,旨在使计算机游戏角色具有智能和独立思考的能力。随着深度学习(Deep Learning)技术的发展,它已经成为游戏AI的重要组成部分。深度学习是一种模仿人类大脑工作方式的人工智能技术,旨在通过大量数据和计算来学习复杂的模式。 深度学习在游戏AI领域的应用主要包括以下几个方面: 智能控制:通过深度学习算法...

AI天才研究院 2105

触手可及的人工智能,大师级游戏AI正在进化

目前是人工智能技术发展最为蓬勃的时代,各行各业无数人都想给自己添上“AI加持”的标签。但说起当下人工智能真正肉眼可见的应用,很多时候又会进入到某些非常专业领域的圈子里。

m0_55289267的博客 3064

游戏开发——游戏AI的简述

一.游戏AI 游戏AI(Game AI),是指在游戏中,由已经写定好的程序控制的“类人化玩家”,俗称电脑玩家。一般的游戏AI能够拥有对真实玩家的一系列操作感知的能力并对此作出交互行为,比如:攻击(Attack),逃跑(Run away)等。而且AI所做出的反应并不是凭空生成,而是通过模仿真实玩家的操作使其行为富有“智能化(Intelligent)”。 需要注意的是,一般的游戏AI与我们讨论计算机视...

Jekin_KE的博客 1万+

【Visual C++】游戏开发笔记十五 游戏人工智能(一) 运动型游戏AI

【Visual C++】游戏开发笔记十五 游戏人工智能(一) 运动型游戏AI

yttyffggh的博客 1055

游戏AI(Game AI)原理与代码实战案例讲解

1.背景介绍 游戏AI(Game AI)是现代电子游戏中的重要组成部分,它的主要目标是创建能够在游戏环境中做出"智能"决策的算法。这些决策可能涉及到角色行为(例如敌人的攻击策略)、游戏状态(例如电脑玩家的决策)或者游戏世界的建模(例如自然环境的模拟)。在这篇文章中,我们将深入探讨游戏AI的原理,并通过实际的代码实战案例来讲解其应用。

AI天才研究院 1459

人工智能与游戏:AI对游戏设计与体验的影响

1.背景介绍 人工智能(Artificial Intelligence, AI)和游戏(Games)是两个广泛的领域,但它们之间存在密切的联系。随着人工智能技术的不断发展,游戏设计和体验也逐渐受到了AI的影响。本文将探讨人工智能在游戏领域的应用,以及它们如何影响游戏设计和体验。 1.1 游戏的发展历程 游戏从古代的棋类游戏(如中国的象棋、印度的चौरासी等)开始,逐渐发展成为现代的数字游戏...

AI天才研究院 2500

人工智能与网络游戏:AI与游戏设计

人工智能与网络游戏:AI与游戏设计 作者:禅与计算机程序设计艺术 / Zen and the Art of Computer Programming 1. 背景介绍 1.1 问题的由来 随着人工智能技术的飞速发展,人工智能(AI)

AI天才研究院 467

人工智能与游戏:AI在游戏开发中的应用

1.背景介绍 人工智能(Artificial Intelligence, AI)是一门研究如何让计算机模拟人类智能行为的科学。随着计算能力的提升和数据量的增加,人工智能技术在各个领域得到了广泛应用。游戏开发也不例外。在这篇文章中,我们将探讨人工智能在游戏开发中的应用,包括背景介绍、核心概念与联系、核心算法原理和具体操作步骤以及数学模型公式详细讲解、具体代码实例和详细解释说明、未来发展趋势与挑战以...

AI天才研究院 2675

用AI免费制作30分钟电影:完整工作流与实操解析

AI视频生成技术正大幅降低影视创作门槛,但真正制作一部完整电影并非一键生成,而是涉及剧本、分镜、画面、配音、剪辑的复杂流水线。理解其基本原理,是将文本转化为连续视觉叙事的关键。对于创作者而言,掌握角色一致性控制、素材批量管理、免费额度合理分配等技术价值,能有效避免生成结果崩坏与资源浪费。该能力可广泛应用于短视频创作、独立电影预演、教学演示等场景。本文以30分钟AI电影制作为例,拆解从工具选择到成片输出的全流程,重点分析免费方案下的时间与积分成本,以及最容易翻车的环节,并给出基于实践验证的排查与优化策略。

weixin_29056865的博客 326

HDR视频技术之七:逆色调映射

HDR 技术说是继 4K 之后视频领域的又一次重大技术突破,不仅提高图像的动态范围,同时也提供了更宽的色域,并提升了画面在高光和暗部的细节信息,带给观看者更加真实的视觉体验。但作为 HDR 产业链的核心,内容短缺的问题仍然是 HDR 普及和成熟的重要限制因素。众多电视厂商将 HDR 技术作为其产品规划中的重要技术,主要是在硬件方面进行提升。而由于 HDR 内容制作对于设备要求较高,对采集、调色、显示等多方面都需要较高的质量要求,内容制作的复杂度和周期长等因素,导致了 HDR 内容的匮乏。

多媒体开发者 2422

游戏ai人工智能_AI与游戏,第1部分:游戏如何推动了两门AI研究流派

游戏ai人工智能 国际象棋和象征性AI (Chess and Symbolic AI) Today, AI based on deep learning and neural networks is taking the world by storm. However, many of the algorithms that guide our web searches and driving d...

weixin_26632369的博客 1302

10xGenomics官方可视化工具——Loupe Browser

Loupe Browser是⼀款10xGenomics开发的交互式桌⾯应⽤程序,⽤于探索10x单细胞数据,可以用来找出感兴趣的细胞、找出显著差异表达的基因、鉴定细胞类型、探索细胞亚类和数据共享。

weixin_47195452的博客 3358

游戏开发笔记十五 游戏人工智能(一) 运动型游戏AI

我们常常听闻AI(Artificial Intelligence人工智能)这个名词,比如Dota里面的AI地图。写这篇文章的时候,最新版的Dota AI是6.72f,估计过几天6.73的AI也要出来了。很多Dota玩家喜欢玩AI地图练练感觉和补刀,可以这样说,Dota 地图成功的加入了AI元素,是近几年Dota风靡全球不可缺少的因素之一。 一、知识点讲解 那么,到底什么

永不放弃_浪子文---------------黑客文化 893

用AI从0开始量化交易-制定学习计划安装学习环境

量化小白,利用AI从零开始学量化

weixin_52285994的博客 2112

从零拆解快手Web端__NS_hxfalcon:JS逆向签名参数定位与复现

在JS逆向与前端反爬攻防中,签名参数总是绕不开的核心环节。无论是接口加密还是请求签名,其本质都是通过在客户端收集环境信息、时间戳与业务参数,经特定算法计算后生成用于服务端校验的动态令牌。理解这类参数的生成原理,不仅能提升逆向分析效率,也能帮助前端开发者更好地设计自身接口防护方案。在实际工程中,面对经Webpack打包且高度混淆的代码,直接全局搜索参数名往往难以奏效,需要结合请求抓包、调用栈跟踪、环境适配等方法逐步定位。此类签名参数广泛存在于现代Web应用的GraphQL或REST接口中,是接口数据安全的重要

weixin_29474431的博客 336

网易游戏人工智能实验室分享:游戏中应用的AI技术

https://www.fgba.net/sitemap.xml

wangchewen的博客 2023

手把手教你学Simulink--智能控制算法的控制算法领域仿真建模实例:基于Simulink的遗传算法优化控制仿真模型

通过上述步骤,你可以设计并仿真一个基于Simulink的遗传算法优化控制模型。这种方法适用于许多复杂的优化场景,尤其是当传统方法难以找到最优解时。随着经验的积累,你可以进一步优化遗传算法的参数设置,或者结合其他智能优化技术(如粒子群优化、差分进化等)提升优化性能。

MHD0815的博客 208

人工智能在游戏领域的应用:从AI对手到游戏设计

1.背景介绍 游戏领域的人工智能(AI)应用已经存在很多年,从最基本的游戏规则检查到复杂的游戏对手和游戏设计,AI已经成为游戏开发人员不可或缺的工具。随着人工智能技术的快速发展,游戏中的AI变得越来越智能,这使得游戏更加有趣和挑战性。在这篇文章中,我们将探讨人工智能在游戏领域的应用,包括AI对手、游戏设计等方面的内容。 2.核心概念与联系 在探讨人工智能在游戏领域的应用之前,我们需要了解一些...

AI天才研究院 1128

【Bluedroid】BLE连接过程详解

Bluedroid BLE的链接过程包括扫描、连接和通信三个基本步骤。通过这些步骤,中央设备和外围设备之间可以建立起稳定、高效的通信链路,实现数据传输和控制操作。

byte轻骑兵的技术小窝 1876

突破Cloudflare 5秒盾:Python爬虫+GPT分析JS混淆,零基础也能爬

传统突破Cloudflare 5秒盾的门槛极高,需要精通JS逆向、浏览器指纹伪造、行为模拟,而本文的“Playwright+GPT”方案,彻底降低了门槛——无需懂逆向、无需手动改指纹、无需写复杂JS代码,只需3步就能突破大部分网站的防护。低门槛:新手1小时内就能上手,无需逆向工程知识;高成功率:覆盖80%+的普通防护网站,15%的中等防护网站;易扩展:适配不同类型网站,可结合代理、打码平台升级为高可用系统。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1163

游戏里的人工智能AI

最近在写读书笔记,刚好涉及游戏AI这一块,就在这里总结一下,有什么问题请随时指出。 首先基本概念,人工智能AI(Artificial Intelligence)是指由人创造的一些模拟人的行为的系统,这适用于游戏中角色对人物的模拟。我们可以认为,AI系统的强大也决定了一个游戏是否惊险/有趣。反正总结就是一句话吧,太简单的AI会让人觉得索然无味,太难的AI会让人wocao,然后弃坑,所以尽量

cute_wen的博客 1872

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

游戏AI-人工智能

<br /><br />一说到电脑AI(人工智能),就会有人认为它是高深莫测东西。其实并没那么复杂,电脑AI其实是一组if语句。各类型游戏有各类型的AI,RPG(冒险类)游戏的AI最简单,只要用函数产生随机数在对攻击对象取余即可,稍微复杂点的也只增加了道具、魔法攻击,其AI性质都是一样的。例如:<br />attack(((unsigned)biostime*rand())%3);/*电脑攻击函数*/<br />这是一个虚拟的函数,代码省略了。我们关心的只是它的入口,我们定义它的入口为要攻击的对象。选择对象

xixiaohui2010的专栏 2345

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

游戏中的人工智能(AI)和行为树科普

什么是角色游戏中的AI?   玩游戏的人都知道,有些游戏中的AI实在是弱智的要死。即使是在WOW这样顶级的游戏中,AI也是有限得掉渣,绝大部分NPC都像一个木桩一样,哪怕是精心设计的BOSS也就只有一些战斗AI。尽管有很多人把动画,或者自动寻路之类的功能也叫做AI,但是我们并不讨论这种基本功能。我们讨论的AI是指,可以使得NPC好像一个真人一样活动的AI。拥有这样AI的NPC看起来就

虚拟现实开发 3169

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

游戏行业的人工智能设计:AI的设计和实施

文 / Donald Kehoe在过去的几十年中,游戏行业取得了巨大发展。 从 Pong* 和Pac-Man*等让游戏玩家短暂逃离现实的简单游戏发展为魔兽世界* 和使命召唤 4*这样让游戏玩家真正喜爱的复杂游戏。 娱乐软件协会 (ESA) 曾指出,如今的游戏玩家平均有 13 年的游戏经验,已经习惯于看到每款新游戏变得越来越复杂、吸引人且智能。 如今,游戏开发人员的挑战在于如何不断突破极限,开发出越来越引人注目的游戏。 计算机控制的人工智能 (AI) 已经发生了多种形式的演变,以满足测试要求。 然而,...

wubaohu1314的博客 1444
上一篇: 我的独立博客链接
下一篇: Global Game Jam作品 《搞事男孩》
QZQmmmm
博客等级 码龄11年 77粉丝 110原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值