`
yuanlanxiaup
  • 浏览: 896289 次
文章分类
社区版块
存档分类
最新评论

游戏AI基础

 
阅读更多

GameRes游戏开发资源网 http://www.gameres.com

游戏AI基础

作者:Geoff Howland

出处:http://www.lupinegames.com/articles/basicai.htm

译者:张戴维

译者Bloghttp://www.5DBlog.com/user1/Davidz

译者E-mailDIVSupport@163.com

游戏AIartificial intelligence,人工智能)成为近来讨论较多的主题,这是有充分根据的。随着游戏中画质与音效的稳步提高和改善,游戏控制的玩家(game controlled players)的行动不以“聪明的”方式进行变得越来越明显。

比游戏控制的玩家的“聪明”更重要的是他们的愚蠢。多数游戏玩家不期望去运行一款最新的第一人称射击游戏,用射钉枪(nail gun)与莫里亚蒂教授[1]对抗。他们更不希望去对抗一个被复杂的拐弯搞得不知所措的先天性白痴病人。

[1] 英国作家柯南道尔福尔摩斯探案集里的人物,被福尔摩斯喻为“犯罪界的拿破仑”。

单位活动AIUnit Behavioral AI

游戏AI总是标准含义上的AI。单位游戏AI是为设计出具有提供某种挑战或某种真实体现的生命特征的一次真正的尝试。

在游戏中,只站在一处、从不移动的警卫会显得非常不真实。不过,如果你创建一个例行程序(routine),使他不时的朝四周张望,或变换他的姿势,他会看起来更具活力。通过创建一个在预设的路径上行走的警卫偶然停在站岗的警卫前,并好像与他谈话这样的情景,真实的体现能被极大地提高。

在单位AI中,动作分为反应性(reactionary)与自发性(spontaneous)两类。

在反应性的方式下,单位随时会对自身环境中的变化做出响应。如果一个敌人发现了你,开始向你跑来,并朝你射击,那么他们已经做出了看到你的反应。

在自发性的方式下,单位做出行动时并不依赖于自身环境中的任何变化。一个单位决定从其所站立的岗哨移向基地周围的某个游动岗哨,则这个单位已经做出了一次自发性的行动。

通过在你的游戏中使用这两种类型的单位活动,你就能创造出你拥有自主“聪明”的单位的假象,而不一定是简单的机器。

反应性AIReactionary AI

反应性输入应当总是基于单位的感觉。当依照人类的特征对AI建模时,你需要考虑单位的视线范围与距离,他们的听觉,如果适用还有嗅觉。

制定警报级别是处理不同感觉输入的一种有效方法。如果一个单位在其视野中直接看到了敌人,那么单位应切换到与如何对抗敌人相符合的警告模式。如果单位没有看到敌人,而是听到了脚步声或枪声,那么单位应转到适用于与间接情景相一致的警报级别。

这里有一个警卫单位的例子。听到枪声时,会使其采取行动去调查枪响的区域;听到脚步声时,可能会使其守候着去伏击移动的单位。所有这些不同类别的活动和警报都能被一个基于规则的(ruled-based)或模糊逻辑的(fuzzy logic)系统所建立,以便你能对每个单位产生的每次声响或目击做出解释,并使他们采取适当的方式做出反应。

一个具有普遍意义的警报也是游戏中真实与智力体现的一个重要因素。假如你一直东奔西跑的朝充满敌人的基地开火,并不断的遭遇新的敌人,而这些敌人对过去持续10分钟的炮火这个事实竟然一无所知,这会显得非常不合适。通过为所有的单位建立一个警报系统(alert system),或一个警报方案(alert plan),能够在你的游戏世界中增强真实的体现。

一个警报方案应该由有警报时各单位应共同遵循的规则组成,而非由无警报情况下的规则构成。例如,如果出现警报,你要能使所有处在安全区域内的单位快速移向基地入口以加强防御。

自发性AISpontaneous AI

在你的游戏世界中,自发性AI对于创建生命的感觉(sense of life)极为重要。如果你遇见的每个人只是站在那里等着你与他们交谈或杀死他们,抑或更糟,毫无目标的漫游,这将不会使玩家非常信服。

解决上述问题(standing around problem)的方法之一是为每个单位设置一组非警报状态时的目标。这些目标可能包括预设移动路径,随机移动到预设区域,当路过其他单位以及与其他单位移动到预设目的地时,偶然停在其他单位旁。在所有的这些情景中,我总是说预设(pre-set),因为除非你提出一个很好的设置目的地与路径的算法,否则你的单位看起来会像是在毫无目的地漫游。

单位行动(Unit Actions

真正让一个游戏单位看起来很聪明的是他们的行动。如果他们以玩家可能的方式移动,或在玩家可能的情景下做如闪避这样的动作,那么单位看起来会很聪明。你不一定需要很多的动作来创建聪明动作的假象,你只需要包含足够的与你的单位相关联的任何基本情景。

如果你处理的恰当,且包含的范围越广,你的玩家相信你的单位在“聪明地”行动的机会就越大。把自己放在你的单位的位置上,在他们的情景中你会怎么做?你将怎样回应各种各样的攻击或遭遇敌人?如果什么事都根本没发生,你又将会做些什么?

如果你回答了这些问题,并针对你的单位将遇到的每种情景正确的实施了它们,你将把你拥有看似聪明的单位的机会最大化,这也是创建一个优秀的、稳健的游戏AI的第一步。

分享到:
评论

相关推荐

    探寻 AI 创新之路-游戏科技与人工智能创新发展报告.pdf

    《探寻 AI 创新之路:游戏科技与人工智能创新发展报告》深入剖析了人工智能(AI)在21世纪的快速发展,特别是在游戏科技领域的贡献。报告指出,游戏科技不仅是科学探索的重要推动力,而且在AI的创新发展中起着至关重要...

    AI游戏引擎程序设计

    《AI游戏引擎程序设计》是一本深入探讨人工智能在游戏开发中的应用的专业书籍,结合了PDF文档和配套的源代码光盘,旨在帮助读者理解和实践AI技术在Unity3D(U3D)游戏引擎中的实现。这本书主要涵盖了以下几个关键...

    天津大学人工智能基础上机实验

    随着人工智能的浪潮席卷全球,天津大学紧随时代步伐,推出了面向初学者的人工智能基础上机实验课程。该课程设计全面,内容丰富,涵盖了人工智能领域的多个重要知识点,是学生深入了解和掌握人工智能基础理论与实践...

    初级游戏AI(人工智能)设计理念

    ### 初级游戏AI(人工智能)设计理念 #### 1. 增加玩家的挑战性 在游戏设计中,引入高级的人工智能(AI)能够显著提升玩家的游戏体验,特别是对于那些希望在游戏中寻找挑战的玩家而言。传统的游戏设计往往缺乏动态的...

    人工智能基础.ppt

    【人工智能基础】 人工智能(Artificial Intelligence, AI)是计算机科学的一个分支,旨在创造智能机器或智能系统,模仿人类的智力行为。它结合了计算机科学、控制论、信息论、神经生理学、心理学、数学、哲学等多个...

    人工智能基础上机实验一

    在"人工智能基础上机实验一"中,学生们会学习如何用编程语言实现这些搜索策略,以解决8-puzzle问题。实验可能包括以下步骤: 1. **状态表示**:首先,需要定义一个数据结构来表示棋盘的状态。通常,可以使用一个...

    电脑游戏中的人工智能制作[含代码]java/c++

      电脑游戏中的人工智能制作   棋类编程 部分1: 开始   棋类编程 部分2: 数据结构   棋类编程 部分3: 产生移动   棋类编程 部分4: 基础搜索   棋类编程 部分5: 高级搜索   棋类编程 部分6: 评估函数   工人...

    人工智能与游戏的基础知识.pptx

    要理解人工智能如何在游戏世界中实现这些改变,首先需要掌握人工智能与游戏的基础知识。 人工智能,简而言之,就是使计算机具备模拟人类思维过程的能力,从而能够执行复杂的任务。它涵盖广泛的研究领域,包括自然...

    游戏人工智能课件

    首先,游戏AI的基础是决策制定。在C++环境下,我们通常会用到状态机(Finite State Machine)来设计角色的行为模式,例如敌人在巡逻、攻击或逃跑之间的切换。状态机通过不同的状态和转换条件,使游戏对象能够根据...

    游戏AI之FSM(1)

    - 在游戏AI中,FSM可以帮助设计复杂的智能行为,如角色的攻击、防守、探索或交互等。 2. FSM 结构 - 状态:定义了AI实体在某一时刻的行为模式,例如“行走”、“攻击”、“逃跑”等。 - 转换:描述了在特定条件...

    Phaser引擎开发:单位控制与AI-(10).单位控制与AI优化:性能优化与调试技巧.docxPhaser引擎开发:单位控制与AI-(11).实战项目:开发一个具有复杂单位控制与AI的游戏.doc

    游戏AI基础:状态机与行为树.docx Phaser引擎开发:单位控制与AI_(6).游戏AI进阶:寻路算法与路径规划.docx Phaser引擎开发:单位控制与AI_(7).游戏AI高级:群体行为与 flocking算法.docx Phaser引擎开

    游戏人工智能源码

    通过分析这个"游戏人工智能编程"的源码,开发者可以学习如何将上述理论应用到实际项目中,理解游戏AI的内部工作原理,并可能从中获取灵感,为自己的游戏项目开发出更具挑战性和吸引力的AI系统。同时,源码学习也是...

    人工智能-项目实践-C#-基于C#的游戏平台.zip

    然而,结合游戏平台的背景,我们可以推测可能涉及到的人工智能技术有游戏AI(Artificial Intelligence),如敌人的行为模式设计、玩家的预测算法等。这些通常通过有限状态机(Finite State Machine)、行为树...

    人工智能 五子棋游戏实例

    人工智能(Artificial Intelligence,简称AI)近年来在各个领域展现出强大的潜力,特别是在游戏开发中,AI技术的应用让游戏体验更加丰富和智能。本文将围绕“人工智能五子棋游戏实例”这一主题,深入探讨AI在五子棋...

    AI-游戏类资源算法-机器学习.zip

    1. 游戏AI基础:游戏AI通常分为规则驱动和学习驱动两种。规则驱动AI基于预定义的行为模式,而学习驱动AI则通过机器学习自我优化和适应。 2. 游戏中的决策系统:AI角色需要能够做出决策,例如选择移动路径、攻击策略...

    人工智能基础与应用-ppt

    《人工智能基础与应用》是一本深入探讨人工智能领域的书籍,其配套的PPT讲稿涵盖了从基础知识到实际应用的广泛内容。这些章节的标题虽然没有直接给出,但根据一般教材的结构,我们可以推测每一章可能涉及的主题。 ...

    人工智能基础

    《人工智能基础》是一套针对初学者的ITPub基础教程,旨在深入浅出地介绍人工智能这一前沿领域的基础知识。在这个数字化时代,人工智能已经渗透到我们生活的方方面面,从语音助手、自动驾驶汽车到推荐系统,无不体现...

    人工智能的吃豆游戏代码

    总的来说,这个项目不仅展示了神经网络在游戏AI中的应用,也为开发者提供了一个深入理解和实践AI技术的平台。通过对代码的研究和调试,开发者可以进一步理解神经网络的工作原理,以及如何将这些理论应用于实际问题中...

    Programming Game AI by Examples

    《编程游戏人工智能示例》不仅涵盖了游戏AI的核心概念和技术,还提供了丰富的实战案例。无论是初学者还是有经验的游戏开发者,都能从中获得宝贵的知识和灵感。通过深入学习本书的内容,开发者将能够更好地理解如何...

Global site tag (gtag.js) - Google Analytics