
4. 游戏开发中的人工智能
文章平均质量分 96
Jurbo
努力努力再努力,保持一颗求知的心
展开
-
游戏开发中的人工智能(七):A* 路径寻找算法
接上文 游戏开发中的人工智能(六):基本路径寻找及航点应用本文内容:介绍路径寻找算法的主力——A* 路径寻找方法。A* 路径寻找算法路径寻找是游戏软件AI 最基本的问题之一。A* 算法是当今游戏软件开中,相当常用的一种。A* 算法之所以会如此吸引人,是因为它可以保证在任何起点及任何终点间找到最佳的路径。我们可以尽量使用 A* 算法,除了某些特殊情况的场景。例如,如果起点和终点之间没有障碍物,有明确的原创 2017-07-20 15:53:45 · 6334 阅读 · 1 评论 -
游戏开发中的人工智能(十二):概率概论
接上文 游戏开发中的人工智能(十一):规则式 AI本文内容:游戏开发人员时常使用简单的概率,使游戏较难预测。这种简单的不可预测性让游戏开发人员可以拥有对游戏的实质性控制。本章要谈这种用途的基本概率,顺便作为更高级方法的基石。概率概论开发人员在游戏中使用的概率可分为:击中概率、损害概率以及性格概率(比如攻击或逃跑倾向)等。游戏使用概率可以增加一些不确定性。本章我们要学习概率的基本原理,讨论如何把这些原原创 2017-07-25 17:42:36 · 2925 阅读 · 0 评论 -
游戏开发中的人工智能(十一):规则式 AI
接上文 游戏开发中的人工智能(十):模糊逻辑本文内容:技术上而言,有限状态机和模糊逻辑都落在基于规则的方法这个大伞之下。本章将谈这些方法,以及其他变化的方法。规则式 AI本章我们要研讨基于规则的 AI 系统。基于规则的 AI 系统可能是真实世界和游戏软件 AI 中最为广泛使用的 AI 系统了。规则系统最简单的形式由一连串的 if-then 规则组成,用来推论或行动决策。从形式上来说,在第九章的有限状原创 2017-07-25 14:40:02 · 5456 阅读 · 0 评论 -
游戏开发中的人工智能(一):游戏人工智能简介
本系列文章对《游戏开发中的人工智能》David M.Bourg / Glenn Seemann 一书进行解读。这本书谈了很多游戏软件 AI 的主题,内容深度适合初涉开发人员。所以,无论你是游戏开发新手还是资深游戏开发人员,如果需要尽快掌握 AI 技术,比如有限状态机、模糊逻辑、神经网络以及其他议题,这本书都非常适合。针对游戏软件 AI 的初学者,假定你没有任何 AI 背景知识,但是假定你知道怎么用原创 2017-07-15 20:44:59 · 21591 阅读 · 5 评论 -
游戏开发中的人工智能(完):遗传算法
接上文 http://blog.youkuaiyun.com/jurbo/article/details/76526683本文内容:遗传算法提供游戏软件 AI 演化的可能。虽然遗传算法不是经常被应用于游戏中,但是它们在某些特定应用方面的潜力是值得令人期待的,尤其是结合其他方法使用的时候。遗传算法在真实世界中,物种会不断进化,使其能更好的适应环境,这些物种也是最适宜继续存活下去的生物。遗传算法(Genetic A原创 2017-08-02 14:53:46 · 6479 阅读 · 0 评论 -
游戏开发中的人工智能(十四):神经网络
接上文 游戏开发中的人工智能(十三):不确定状态下的决策:贝叶斯技术本文内容:“神经网络”技术让游戏具有学习和适应的能力。事实上,从决策判断到预测玩家的行为,都可以应用。我们会详谈最广泛使用的神经网络结构(三层前馈神经网络)。神经网络人工神经网络(artificial neural network,即ANN),简称神经网络(neural network,即NN),是一种模仿生物神经网络的结构和功能的原创 2017-08-01 22:15:37 · 8690 阅读 · 3 评论 -
游戏开发中的人工智能(十):模糊逻辑
接上文 游戏开发中的人工智能(九):有限状态机本文内容:开发人员经常把模糊逻辑和有限状态机结合起来使用,甚至取代有限状态机。本章将会学到模糊逻辑为什么优于传统的逻辑技术。模糊逻辑在生活中,我们经常会用“有一点”“差不多”“几乎没有”“接近于”这样的描述词,会模糊边界。在传统逻辑中,非黑即白,就是0或者1,不是0,就是1,不存在其他的情况。而模糊逻辑,可以存在0到1之间的其他情况即灰色地带。比如高矮原创 2017-07-23 23:20:18 · 8052 阅读 · 3 评论 -
游戏开发中的人工智能(六):基本路径寻找及航点应用
接上文:游戏开发中的人工智能(五):以势函数实现移动本文内容:游戏开发人员使用很多技术在游戏环境中寻找路径。本章要谈几种方法,包括航点应用。基本路径寻找及航点应用寻找路径的问题有很多不同类型。没有一种解决方法可以适用各种类型的路径寻找问题。解决办法和每个游戏特定的路径寻找的需求细节有关。例如,目的地会移动还是静止不动?有没有障碍物?障碍物是否会移动?地形是什么样的?最短路径解决办法是不是一定是最佳解原创 2017-07-19 20:01:22 · 4575 阅读 · 0 评论 -
游戏开发中的人工智能(三):移动模式
接上文 游戏开发中的人工智能(二):追逐和闪躲本文内容:许多游戏中经常出现固定模式的移动,比如守卫的巡逻行为,宇宙飞船的降落等。开发者可以将移动模式技术应用于特定行为的程序的编写中。移动模式本章主题是移动模式。移动模式是制造智能行为幻觉的简单方式。基本上,计算机控制的角色会根据一些预先定义好的模式移动,使其看起来好像是在执行复杂而绞尽脑汁的策略。实现移动模式的标准做法是选取想要的模式,再将控制数据原创 2017-07-17 15:58:15 · 5440 阅读 · 1 评论 -
游戏开发中的人工智能(五):以势函数实现移动
接上文: 游戏开发中的人工智能(四):群聚本文内容:靠势能移动在游戏 AI 程序中还算相当新颖。这个方法的最优越的地方在于可以同时处理追逐、闪躲、成群结队和避免碰撞等行为。我们专门研究的这个势函数叫做 Lenard-Jones 势函数。以势函数实现移动势函数的优点:1、只用一个函数处理追逐和闪躲,不再需要先前介绍过的算法所牵涉到的其他条件和控制逻辑,也可以替我们处理避开障碍物的问题2、操作起来很简单原创 2017-07-19 15:38:18 · 4345 阅读 · 1 评论 -
游戏开发中的人工智能(九):有限状态机
接上文 游戏开发中的人工智能(八):描述式 AI 及描述引擎本文内容:有限状态机是游戏软件 AI 的基本要素。本章探讨有限状态机的基础,以及如何予以实现。有限状态机有限状态机是一种抽象机制,是处在各种不同的预定状态下的其中一种状态。有限状态机也可以定义一组条件,以确认何时应该改变状态。实际的状态会决定状态机的行为。本章我们要讨论有限状态机的基础,教你如何实现它。状态机的基本模型有限状态机模型,如图9原创 2017-07-23 11:49:46 · 4424 阅读 · 1 评论 -
游戏开发中的人工智能(四):群聚
接上文 游戏开发中的人工智能(三):移动模式本文内容:群聚方法是 A-life 算法的实例。 A-life 算法除了可以做出效果很好的群聚行为外,也是高级群体运动的基础。群聚通常在游戏中,有些非玩家角色必须群聚移动,而不是个别行动。举个例子,假设你在写角色扮演游戏,在主城镇外有一片绵羊的草地,如果你的绵羊是一整群的在吃草,而不是毫无目的的在闲逛,看起来会更真实些。这种群体行为的核心就是基本的群聚算法原创 2017-07-18 13:32:02 · 7929 阅读 · 1 评论 -
游戏开发中的人工智能(八):描述式 AI 及描述引擎
接上文 游戏开发中的人工智能(七):A* 路径寻找算法本文内容:程序员通常只写描述引擎,而由设计者使用工具创建内容和定义 AI。本章探讨一些开发人员把描述系统应用在游戏中的技巧,以及他们所得到的益处。描述式 AI 及描述引擎本章讨论某些技巧,让你把描述系统应用到游戏软件 AI 的问题上,以及这样做以后所能获得的好处。从最基本的层次上来看,你可以把描述机制想象成非常简单的程序语言,专门为与游戏问题相关原创 2017-07-20 19:39:59 · 5066 阅读 · 0 评论 -
游戏开发中的人工智能(二):追逐和闪躲
接上文 游戏开发中的人工智能(一):游戏人工智能简介本文内容:讨论基本的追逐和闪躲技术,以及进级的拦截技术。我们也谈及这些技术在砖块环境和连续环境中的变化。追逐和闪躲本章的焦点是追逐和闪躲,这是一个十分常见的问题。无论你开发的是太空战机射击游戏,策略模拟游戏,还是角色扮演游戏,游戏中的非玩家角色都会试着追逐或者逃离玩家角色。追逐和闪躲由以下三部分组成:追或逃的决策判断(后文谈论到状态机和神经网络时原创 2017-07-17 15:47:08 · 9015 阅读 · 4 评论 -
游戏开发中的人工智能(十三):不确定状态下的决策:贝叶斯技术
接上文 游戏开发中的人工智能(十二):概率概论本文内容:贝叶斯技术是概率技术,本章解释如何运用,以便在游戏中做决策并适应游戏。不确定状态下的决策:贝叶斯技术本章要介绍贝叶斯推论和贝叶斯网络,教你怎么把这些技术应用在游戏中。准确的说,是使用这些技术让 NPC 在游戏世界处于不确定状态下做决策,也会讲解简单的贝叶斯模型,让你的 NPC 可以适应变动的情况。我们会用到大量的概率,如果你不熟悉概率,可以先读原创 2017-07-29 13:26:28 · 3581 阅读 · 0 评论