`
bluepeer
  • 浏览: 74479 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

游戏AI 玛尼玛尼轰

阅读更多

游戏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的第一步。

分享到:
评论

相关推荐

    玛尼坚,让青春在水火之中无畏逆行

    1. 玛尼坚的人物介绍:玛尼坚是青海省西宁市城西区西川南路消防救援站的消防员,具有藏族人特有的善良淳朴和消防员的果敢刚毅品质,入职15年,多次完成重大救援任务。 2. 荣誉与成就:玛尼坚曾参与“4.14 玉树抗震...

    mani:玛尼(Mani),是北欧神话中的月神,是月亮的化身

    玛尼 项目设置 yarn install 编译和热重装以进行开发 yarn serve 编译并最小化生产 yarn build 运行单元测试 yarn test:unit 运行端到端测试 yarn test:e2e 整理和修复文件 yarn lint 自定义配置 请参阅。

     西藏地区太阳能LED朵玛尼的设计与实现

    朵玛尼是藏语音译,意为石刻经文。为节约能源,本设计采用LED灯照明,使朵玛尼经文在夜幕下也可以清晰可见。考虑到西藏充足的太阳能资源,用太阳能为整个系统供电,并使用光控电路或手动方式来点亮或熄灭LED灯。通过...

    《记忆中的玛妮》电影解说文案

    电影解说文案-《记忆中的玛妮》 电影《记忆中的玛妮》是一部讲述了一个十几岁的女孩杏奈的故事,她因为父母的去世而被收养,内心感到自卑。最后在外婆的开导下,杏奈终于走出了误区,开始了新的生活。...

    reading-notes:马拉克·莫玛尼(Malak Momani)

    札记表中的内容主题关联Code102阅读笔记Code201阅读笔记| Code301阅读笔记|先进的计算机ABDUL AZIZ AL GHURAIR学校**```这是Malak,我是ASAC的学生,在这里很高兴,我拥有计算机科学的学士学位。...

    matlab代码做游戏-public-free-api:开发领域中的所有公共api

    matlab代码做游戏公共免费API 开发领域中的所有公共api 作者 拉玛尼·希特什 iOS开发者Gmail: 目录 蜜蜂 广告 -通过多种广告格式跨平台获利。 -使用Facebook API管理广告和广告系列。 -免费,灵活的方式从您的网站...

    matlab代码做游戏-awesomelist:全部列出了很棒的技术和非

    拉玛尼·希特什 非技术 – STEM(科学,技术,工程与数学)资源书目和灰色文献。 – GitHub上的Awesome&Marvelous Amas(问我什么) –每年要阅读的东西。 –很棒的乐队名称的开源列表。 –有用的白俄罗斯语在线...

    火纹战棋游戏核心玩法复刻(初版)

    对烈火之剑的初步复刻,实现了战棋的核心功能:人物寻路与怪物寻路以及怪物的AI,同时实现了武器的多元化以及背包物品的交换和使用。 角色只有站立动画,没有攻击等其他动画,攻击的结算都由代码进行提示。用了风花雪月...

    证件照抠图换背景其实很简单,自己写的小程序免费送给大家!

    大家一定会经常照证件照以便参加不同的考试,可是背景却不符合要求,有时候是你是红底他要白底,有时候要你是蓝底人家又要红底,有很多办法可以换背景,但是大多要收玛尼,z本人小白一个一气之下自己做出一个小软件...

    SAR差分干涉测量技术在地震区域形变测量中的应用研究 (2005年)

    本文旨在探讨SAR差分干涉测量技术在地震区域形变测量中的应用案例——以1997年西藏玛尼地震为例。 #### 二、SAR差分干涉测量技术原理 ##### 2.1 合成孔径雷达(SAR) 合成孔径雷达是一种主动式微波遥感技术,能够...

    edbo:贝叶斯优化的实验设计

    李俊Maven(Marvin) 达玛尼,法罕,珍妮,雅各布; 亚当斯(Ryan P.); Doyle,Abigail G.接受“贝叶斯React优化作为化学合成工具”。 文档: : 安装 (0)创建anaconda环境 conda create --name edbo python=...

    Spring-Bloom:在线礼品店

    春暖花开网上礼品店 :bouquet:来自我们的农场 :globe_showing_Americas:因为我们关心您的健康和舒适。我们可爱的Web应用程序提供在线购买和发送礼物,我们还可以提供组织仪式。...汉南4,巴拉·贾哈玛尼5,亚赞·贝克

    axecoin:AXEcoin,未命名为cryptomoneda basada en Litecoin。 25032021.Sólodigo eso

    埃斯佩罗·波德·兰萨尔·玛尼亚纳(Espero poder)¿QuéesAXEcoin? AXEcoin es divia digital basada en Litecoin v0.8.7.5许可被许可的交易信息由cugarquier和lugar del mundo共同发行。 AXEcoin ...

    RobotiqueLejosEv3

    拉玛尼·阿尤布(LAMRANI Ayoub) AIT ABDELOUAHAB哈姆扎 M. Benhouria Younes。 瓦加·阿卜杜拉希姆(M. WAGA Abderahim)。 M. BAICHOU Ayoub。 信息générales Dans ce projet,在通用LEGO EV3机器人上使用...

    高级java工程师笔试题-All-Language-Interview-Question-:所有编程语言面试问答详解

    拉玛尼·希特什 iOS 开发者 Gmail:- 精彩访谈 请阅读 或 如果您想贡献。 目录 编程语言/框架/平台 安卓 AngularJS 角 主干JS C++ C C# 。网 Clojure CSS Cucumber 姜戈 码头工人 EmberJS 二郎 高朗 图Ql HTML 离子...

    mani-nginx:NGINX反向代理歧管

    为什么? Graphql变得非常流行,... 玛尼的例子: 要求POST { " requests " : [ { " url " : " https://jsonplaceholder.typicode.com/comments/1 " , " method " : " GET " , " body " : " base64 string | null "

    GPS地壳形变观测及其在中亚大三角地震构造域的应用.pdf

    近期的重大地震包括1997年的玛尼7.9级地震、2001年的昆仑山8.1级地震、2008年的汶川8.0级地震和玉树7.1级地震等。 为了研究这一区域的地壳形变特征和地震活动的关系,作者采用了高精度、高密度的GPS观测资料,并...

    pyabr:具有Python和Qt的Pyabr轻量级操作系统

    Pyabr:copyright:2021玛尼贾玛利(Mani Jamali)。 免费软件GNU通用公共许可证v3.0 如何贡献? 对于贡献Pyabr,请阅读 什么是Pyabr? Pyabr是一款轻巧的小型软件,可用于: 一个操作系统 android的小主题 在...

    赤峰北部地区Pb地球化学块体特征及铅矿资源评价 (2010年)

    二叠系黄岗梁组、大石寨组及侏罗系玛尼土组、新民组和志留系上统杏树洼组等为主要块体赋存层位;北西向、北东向断裂对块体规模具有明显的控制作用。以已知矿床勘探深度1000m为准则,计算了块体和异常区的

    全国LNG加气站站点分布(图文版).doc

    在内蒙古自治区,LNG加气站众多,如锡盟阿巴嘎旗玛尼图、锡林浩特等地都有多个站点,包括华气集团旗下的多个加气站。此外,乌兰察布市、呼和浩特市以及包头市等地也有布局。这些站点的设立有助于促进内蒙古地区交通...

Global site tag (gtag.js) - Google Analytics