游戏AI(artificial intelligence,人工智能)成为近来讨论较多的主题,这是有充分根据的。随着游戏中画质与音效的稳步提高和改善,游戏控制的玩家(game controlled players)的行动不以“聪明的”方式进行变得越来越明显。
比游戏控制的玩家的“聪明”更重要的是他们的愚蠢。多数游戏玩家不期望去运行一款最新的第一人称射击游戏,用射钉枪(nail gun)与莫里亚蒂教授[1]对抗。他们更不希望去对抗一个被复杂的拐弯搞得不知所措的先天性白痴病人。
[1] 英国作家柯南道尔《福尔摩斯探案集》里的人物,被福尔摩斯喻为“犯罪界的拿破仑”。
单位活动AI(Unit Behavioral AI)
游戏AI不总是标准含义上的AI。单位游戏AI是为设计出具有提供某种挑战或某种真实体现的生命特征的一次真正的尝试。
在游戏中,只站在一处、从不移动的警卫会显得非常不真实。不过,如果你创建一个例行程序(routine),使他不时的朝四周张望,或变换他的姿势,他会
看起来更具活力。通过创建一个在预设的路径上行走的警卫偶然停在站岗的警卫前,并好像与他谈话这样的情景,真实的体现能被极大地提高。
在单位AI中,动作分为反应性(reactionary)与自发性(spontaneous)两类。
在反应性的方式下,单位随时会对自身环境中的变化做出响应。如果一个敌人发现了你,开始向你跑来,并朝你射击,那么他们已经做出了看到你的反应。
在自发性的方式下,单位做出行动时并不依赖于自身环境中的任何变化。一个单位决定从其所站立的岗哨移向基地周围的某个游动岗哨,则这个单位已经做出了一次自发性的行动。
通过在你的游戏中使用这两种类型的单位活动,你就能创造出你拥有自主“聪明”的单位的假象,而不一定是简单的机器。
反应性AI(Reactionary AI)
反应性输入应当总是基于单位的感觉。当依照人类的特征对AI建模时,你需要考虑单位的视线范围与距离,他们的听觉,如果适用还有嗅觉。
制定警报级别是处理不同感觉输入的一种有效方法。如果一个单位在其视野中直接看到了敌人,那么单位应切换到与如何对抗敌人相符合的警告模式。如果单位没有看到敌人,而是听到了脚步声或枪声,那么单位应转到适用于与间接情景相一致的警报级别。
这里有一个警卫单位的例子。听到枪声时,会使其采取行动去调查枪响的区域;听到脚步声时,可能会使其守候着去伏击移动的单位。所有这些不同类别的活动和警
报都能被一个基于规则的(ruled-based)或模糊逻辑的(fuzzy
logic)系统所建立,以便你能对每个单位产生的每次声响或目击做出解释,并使他们采取适当的方式做出反应。
一个具有普遍意义的警报也是游戏中真实与智力体现的一个重要因素。假如你一直东奔西跑的朝充满敌人的基地开火,并不断的遭遇新的敌人,而这些敌人对过去持
续10分钟的炮火这个事实竟然一无所知,这会显得非常不合适。通过为所有的单位建立一个警报系统(alert
system),或一个警报方案(alert plan),能够在你的游戏世界中增强真实的体现。
一个警报方案应该由有警报时各单位应共同遵循的规则组成,而非由无警报情况下的规则构成。例如,如果出现警报,你要能使所有处在安全区域内的单位快速移向基地入口以加强防御。
自发性AI(Spontaneous AI)
在你的游戏世界中,自发性AI对于创建生命的感觉(sense of life)极为重要。如果你遇见的每个人只是站在那里等着你与他们交谈或杀死他们,抑或更糟,毫无目标的漫游,这将不会使玩家非常信服。
解决上述问题(standing around
problem)的方法之一是为每个单位设置一组非警报状态时的目标。这些目标可能包括预设移动路径,随机移动到预设区域,当路过其他单位以及与其他单位
移动到预设目的地时,偶然停在其他单位旁。在所有的这些情景中,我总是说预设(pre-set),因为除非你提出一个很好的设置目的地与路径的算法,否则
你的单位看起来会像是在毫无目的地漫游。
单位行动(Unit Actions)
真正让一个游戏单位看起来很聪明的是他们的行动。如果他们以玩家可能的方式移动,或在玩家可能的情景下做如闪避这样的动作,那么单位看起来会很聪明。你不一定需要很多的动作来创建聪明动作的假象,你只需要包含足够的与你的单位相关联的任何基本情景。
如果你处理的恰当,且包含的范围越广,你的玩家相信你的单位在“聪明地”行动的机会就越大。把自己放在你的单位的位置上,在他们的情景中你会怎么做?你将怎样回应各种各样的攻击或遭遇敌人?如果什么事都根本没发生,你又将会做些什么?
如果你回答了这些问题,并针对你的单位将遇到的每种情景正确的实施了它们,你将把你拥有看似聪明的单位的机会最大化,这也是创建一个优秀的、稳健的游戏AI的第一步。
分享到:
相关推荐
在青海省西宁市,有一位藏族消防员,他的名字叫玛尼坚。这个名字,在藏语中意为“坚如磐石”,而他的人生也正如这名字一般,坚毅而充满力量。在水火之中,他无畏逆行,用自己的行动诠释了“能打仗、打胜仗”的誓言,...
玛尼 项目设置 yarn install 编译和热重装以进行开发 yarn serve 编译并最小化生产 yarn build 运行单元测试 yarn test:unit 运行端到端测试 yarn test:e2e 整理和修复文件 yarn lint 自定义配置 请参阅。
朵玛尼是藏语音译,意为石刻经文。为节约能源,本设计采用LED灯照明,使朵玛尼经文在夜幕下也可以清晰可见。考虑到西藏充足的太阳能资源,用太阳能为整个系统供电,并使用光控电路或手动方式来点亮或熄灭LED灯。通过...
电影解说文案-《记忆中的玛妮》 电影《记忆中的玛妮》是一部讲述了一个十几岁的女孩杏奈的故事,她因为父母的去世而被收养,内心感到自卑。最后在外婆的开导下,杏奈终于走出了误区,开始了新的生活。...
札记表中的内容主题关联Code102阅读笔记Code201阅读笔记| Code301阅读笔记|先进的计算机ABDUL AZIZ AL GHURAIR学校**```这是Malak,我是ASAC的学生,在这里很高兴,我拥有计算机科学的学士学位。...
matlab代码做游戏公共免费API 开发领域中的所有公共api 作者 拉玛尼·希特什 iOS开发者Gmail: 目录 蜜蜂 广告 -通过多种广告格式跨平台获利。 -使用Facebook API管理广告和广告系列。 -免费,灵活的方式从您的网站...
拉玛尼·希特什 非技术 – STEM(科学,技术,工程与数学)资源书目和灰色文献。 – GitHub上的Awesome&Marvelous Amas(问我什么) –每年要阅读的东西。 –很棒的乐队名称的开源列表。 –有用的白俄罗斯语在线...
对烈火之剑的初步复刻,实现了战棋的核心功能:人物寻路与怪物寻路以及怪物的AI,同时实现了武器的多元化以及背包物品的交换和使用。 角色只有站立动画,没有攻击等其他动画,攻击的结算都由代码进行提示。用了风花雪月...
大家一定会经常照证件照以便参加不同的考试,可是背景却不符合要求,有时候是你是红底他要白底,有时候要你是蓝底人家又要红底,有很多办法可以换背景,但是大多要收玛尼,z本人小白一个一气之下自己做出一个小软件...
本文旨在探讨SAR差分干涉测量技术在地震区域形变测量中的应用案例——以1997年西藏玛尼地震为例。 #### 二、SAR差分干涉测量技术原理 ##### 2.1 合成孔径雷达(SAR) 合成孔径雷达是一种主动式微波遥感技术,能够...
李俊Maven(Marvin) 达玛尼,法罕,珍妮,雅各布; 亚当斯(Ryan P.); Doyle,Abigail G.接受“贝叶斯React优化作为化学合成工具”。 文档: : 安装 (0)创建anaconda环境 conda create --name edbo python=...
埃斯佩罗·波德·兰萨尔·玛尼亚纳(Espero poder)¿QuéesAXEcoin? AXEcoin es divia digital basada en Litecoin v0.8.7.5许可被许可的交易信息由cugarquier和lugar del mundo共同发行。 AXEcoin ...
春暖花开网上礼品店 :bouquet:来自我们的农场 :globe_showing_Americas:因为我们关心您的健康和舒适。我们可爱的Web应用程序提供在线购买和发送礼物,我们还可以提供组织仪式。...汉南4,巴拉·贾哈玛尼5,亚赞·贝克
拉玛尼·阿尤布(LAMRANI Ayoub) AIT ABDELOUAHAB哈姆扎 M. Benhouria Younes。 瓦加·阿卜杜拉希姆(M. WAGA Abderahim)。 M. BAICHOU Ayoub。 信息générales Dans ce projet,在通用LEGO EV3机器人上使用...
拉玛尼·希特什 iOS 开发者 Gmail:- 精彩访谈 请阅读 或 如果您想贡献。 目录 编程语言/框架/平台 安卓 AngularJS 角 主干JS C++ C C# 。网 Clojure CSS Cucumber 姜戈 码头工人 EmberJS 二郎 高朗 图Ql HTML 离子...
为什么? Graphql变得非常流行,... 玛尼的例子: 要求POST { " requests " : [ { " url " : " https://jsonplaceholder.typicode.com/comments/1 " , " method " : " GET " , " body " : " base64 string | null "
近期的重大地震包括1997年的玛尼7.9级地震、2001年的昆仑山8.1级地震、2008年的汶川8.0级地震和玉树7.1级地震等。 为了研究这一区域的地壳形变特征和地震活动的关系,作者采用了高精度、高密度的GPS观测资料,并...
Pyabr:copyright:2021玛尼贾玛利(Mani Jamali)。 免费软件GNU通用公共许可证v3.0 如何贡献? 对于贡献Pyabr,请阅读 什么是Pyabr? Pyabr是一款轻巧的小型软件,可用于: 一个操作系统 android的小主题 在...
二叠系黄岗梁组、大石寨组及侏罗系玛尼土组、新民组和志留系上统杏树洼组等为主要块体赋存层位;北西向、北东向断裂对块体规模具有明显的控制作用。以已知矿床勘探深度1000m为准则,计算了块体和异常区的
泰文奇·伊玛尼(Tellvinch imani) 描述 这是一个允许用户创建音高类别(如果不存在)并添加音高内容的应用程序。 一个用户还可以对另一个用户的音高发表评论。 截屏 设置/安装要求 克隆此存储库并导航到该文件夹...