蚂蚁在沙滩上的赫伯特·西蒙的理由

现在,我们的团队Candango游戏正在开发一款PC游戏中恐怖的风格。我们计划很快推出它(顺便说一下,去创造我学习恐惧的成分)。所以这是的,我想在这场比赛中,以实施最重要的特点之一 - 一个系统,提供全面进驻效果。而且,我们知道,要实现这个任务,最重要的事情 - 是创造高品质的AI。






思考如何做到这一点,我才意识到,为了创建一个架构,适合AI启发式方法。下面我将告诉你更多关于这一点。

在知识的一些理论说,我们看不到现实是什么。相反,我们看到的是创造和我们的大脑处理现实的虚拟化“复制”。这是我们在著名的柏拉图式的<一见的判断href="https://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D1%84_%D0%BE_%D0%BF%D0%B5%D1%89%D0%B5%D1%80%D0%B5">«Мифе洞穴»。

乍一看,这跟我们如何处理AI的实施:我们的程序代理根据这些数据做出决定,以接收和处理信息,对世界呢。因此,我们现在采取他们对世界的看法人工智能 - 强制代理以同样的方式行事,就好像他们是作用于人的大脑。我们不能说这种做法是完全没有意义的。

然而,特别是在视频游戏领域还有一个细节:有“真实世界”相当于已经虚拟的,也就是说,它是纯粹的信息。为什么又做了virtualizovyvat代理商进入大脑,然后导致大脑处理信息?为什么我们想使世界进入大脑代理,如果你可以做相反:动脑子剂在世界上?所以,我决定做这样的:世界将“想”将是“智能”和知识。和平,而不是代理。

我们决定去这个方向,因为这种方法更适合于我们的目的 - 创造AI一个很好的音箱一>游戏。试想一下,游戏的顺序如下:

因为你是被追逐一些的房子。当您运行在大厅,你会注意到一个敞开的门通向卧室。你拍摄在那里,锁好门。追兵开始打破锁,而你知道,不久他们将被包含在这个房间里。环顾四周,你会看到一个封闭的窗口,一张床和一个衣柜。你打开窗户,床底下躲起来。门打开后,追兵的一个推门而入,来到开放的窗口,看起来出来。然后,他喊他的同伙,你跑了,跳出窗外,消失在黑暗中。这时候你设法逃脱。

这里是你可以使用基本的启发式方法一个简单的代码做什么“的美誉转移大脑”。和代码很简单,只要吃豆子为一个代码。特殊性在于该代理(死缠烂打)根本不知道发生了什么事情闭门的,他不知道盒子,这意味着什么,它会导致,即使它会导致什么样的地方。代理人没有注意到这些事情和想法。他所做的一切 - 它应该是可用的标志和说明

现在想象一下以下事件:

你坐在电脑前,游戏,突然发现自己在厨房在一个开放的冰箱前面。你要找的东西或者有返回到您的计算机一杯咖啡,虽然这是没有欲望喝你没有经历过的咖啡。

它是怎么发生的?你故意起身,做了吗?你为什么要这么做?

所以在这种情况下,“智能”是不是一个代理,和窗口,和脑不属于该代理,和世界。窗口代理说,我们需要做的,在哪里看,哪里去了,说给其他代理商什么,来说明如何“,他的”决定的球员。当代理推门而入,周围的事物告诉他该怎么做。床,它隐藏播放器提供了他在这看看。柜内还提供了一个样子。在新打开的窗口告诉他到外面去。接收这些建议之后代理接收
的合理的这些任务的优先级的基础上的解决方案。<溴/>
与窗口交互,玩家增加其在连接重要性与该任务的优先级增加,并且代理它选择,而不是其它实施例 - 在窗口控制方案。这里,例如,如果玩家被藏在衣柜里,坐在那里静静的,其任务是“在衣柜里看”的优先级会自动降低,所以代理会选择选项“床下看,”和球员,再次将难逃。这一切都取决于游戏设计师的选择:它是谁,他决定如何工作的每一个项目。



然而,并非所有的问题来自外部源的起源。或附连到该代理也可以给问题的内部元件。例如,如果代理有一个急救包,突然他受伤了,该套件(他有),以使用代理。这个问题的重要性是成正比的伤害的严重性。同时损坏系统代理(内部)为了他摆脱的事实剂造成伤害。相反,在这种情况下,代理,每个任务的重要意义的基础上,跑的路程,找到一个安全的地方疗伤,要么继续战斗或逃跑。这是很容易实现:只需要通过知识给急救箱,在没有任何治疗作用,不能采取会导致治疗中断的脆弱性剂的现状。因此,优先任务。

这是启发式方法的根基,我真的使用它享用。我们能够使系统以确保存在的全部效果,我们创造了它的安全性,挑战性,但在同一时间,在代码方面非常简单。此外,该系统具有足够的灵活性,可方便的变化,修改和添加任务。例如,我们可以创建在车内,锁或楼梯不改变代理程序的形式问题的新来源。或者我们可以改变或改善了控制大脑环境,只有一个特定的任务或部分,而不会影响其他元素的系统。定制功能的行为似乎真的很有趣,创造一个良好的游戏 - 尤其是对游戏中恐怖的风格,因为有时玩家自己成为环境的受害者

然后,我想补充的文字识别系统,看看它是如何能在启发式方法中使用。喜欢文字说明“把蓝色球的绿色盒子”,这给了各自的筹备将确定,分别为绿色方框中蓝色球,他们将给予任务的代理,所以他捡起球,知道在哪里把它。这给人的印象是代理明白告诉他做球员。

到现在为止一切都显得非常漂亮。然后,制作游戏的初始阶段已经过去,我面临着一个事实,即这些问题必须以某种方式实现代码。工作的一个阶段。在这一点上我的系统是这样的:



行为 - 是代理与环境的相互作用 I>

当我开始系统的一致性方面编程,我每天都不得不付出一些时间AI的基础。不仅人工智能视频游戏,但在一般的AI。我只是想确保我不会花时间浪费比如发明已经发明了车轮。

我开始学习一些非常有趣的概念,以及旧的研究和实验,其中一些已经半个世纪。其中我可以调用«信仰体系»实验海德和齐美尔动画(1944),“人工科学“赫伯特·西蒙(1969年)与轶事<一href="http://kunden.eye.ch/~robots/docs/AL%20in%20general/96.08/Tok-AI-96-final.html#RTFToC2">«Муравей在海滩上»,以及库列绍夫实验(原追溯到区于1919年),这是我想那个时候没有见面的时间。随着时间的推移,这些信息已经变得越来越完全捕捉我和剥夺睡眠的我。

最后,我意识到,从另一端出发,我来到这个知识马路中间。我去一个稍微不同的观点:我想创造一个“聪明”的世界,因为在我看来,这是很有效的,因为我们在虚拟化,我们生活的世界,并且代理已经生活在一个虚拟的世界。但是,这只是一个基础,做一些更强大的和严肃的。但当时我没有看到这些机会。

所有这些研究都同意一件事:简单,再加上复杂的给出了一个复​​杂的结果,我们的大脑解释为更加复杂化和智能化比他真的是​​

当然,我们在游戏设计的目标是AI强迫因子看起来很复杂,合理使用各种招数。但我不关心这个基本方法,并公式的简单VS复杂的,这是在重复这些实验 - 这正好在所有的研究,无论其特异性。

之后,我注意到,在所有这些实验和研究这方面的存在,我开始寻找其他领域的类比,因为认为这方面可能存在在许多情况下,我不知道这件事。最重要的是,我一直在寻找在我们的AI系统的空白相似之处。然后我开始问了很多关于设计的问题问题,并试图找到使用相同的系统和配方的答案。

•如果任务在模块化系统创建的,并已获得对指令和任务的优先级的信息代理,为什么不增加这种信息的数量,而不是使之更加?给她的个性,背景,情绪,感情,社会动态,然后创建一个任务来分析这些信息,而不是只停留在健康和库存。

行为创造谁是出生在丛林中,并知道在哪里可以找到食物和水,和城市没有这种知识的字符可能只是问题的根源,它寻找食物和水后,将执行以下任务进行背景检查一个字符。如果角色在这里 - 这个问题应给予,如果不从这里 - 这个问题给出。

•为什么我认为世界上只有一个特定的侧面并没有考虑,似乎是有抽象的东西,但我们不能看到他们?比如像戏剧,悬念,喜剧?为什么我需要创建的行为源自东西,而不是从人的想法?为什么不从一组东西创建任务,从科学和故事场景?

我们可以进行动态的叙事场面重振行为。场景可用于特定的英雄和显示,这取决于每个字符如何各自的作用。
的情况下,可以有计划,挂,或运行,根据具体情况和情节发展的特定点。例如,创建一个共同的僵尸电影场景里的人物之一,已被咬伤或受伤,而其他人物在争论是否要帮助他,离开他或者你只需​​要杀掉他,并用它做:情况不取决于谁被咬或受伤。问题(故事)的来源仅仅是如何评价自己的角色适合每一个字符,并为他们提供了各种任务每个角色,导致剧情自然发展他们的决定的基础上。否则,我们可能会对任何字符会从场边看着球员的表现在关键情况下,以改变惊悚的情节高潮的情况。

•为什么不使用这些动态的故事情节和分配上的故事显著改变的可能性未来事件的影响?

如果玩家徘徊四周,发现轮胎上车NPC,他不显示标准的过场动画“党”。相反,那么NPC会开始与一些浪漫的意图跳舞(因为在舞蹈场面,他是从非玩家角色列表换成另一种),和一个三角恋爱会改变两个英雄之间的情况来确定身份,导致一些更不寻常结果。
或者字符谁承担领导小组组长的作用,在沙漠中迷失开始失去了理智,或绝望,抽象的想法/社会动态“领导小组”采取的NPC,因而负责对他们的决定。同样,如果组是满意的决策领导者,这种情况的社会动态可能导致新的动态场景,他们首先对系统的斗争,然后分裂成两个阵营。

•但是,为什么要停止呢?为什么不能让故事线来确定玩家选择什么样的角色,然后适应每个球员的情况?

情节所选字符第二的领导者的角色(或它是开放了一段时间,以确定是否一个球员为这个角色或没有),那么其他表达他们对任何一方的支持,有人表示有意停止敌对行动,并团结。

•但字符可以打,即使逃离僵尸,或在关于谁是领袖,还是社会大众可以决定抛出伤员领导人的说法。那么,为什么不提高决策系统,并添加文字多任务?



的代理有“psihoresursy”,使他们能够同时选择多个任务(并优先考虑这些决定基于任务的群体,而不仅仅是执行任务一个接一个):浓度限值,手,足,口,眼... < / I>

如果行为 - 它总是互动剂和环境,为什么不延长的个性和情绪一词的含义?难道我们的行为在主场以同样的方式,在工作中,在各种场合,在朋友和陌生人的公司?如果某个地方,我们看到幸福的人,我们自己并没有成为一点点快乐?如果有严重的一切,我们也正在成为严重吗?也是一样适用于其他事件和情况?

当前模式 H4>
 经过许多困难和问题进一步研究没有复杂的代码,而仅仅是为了更好地理解与启发式方法创建AI,保持所有的基本制度不变,最后我们得出一个结论:



的一切,发生一次可能永远不会发生。但所发生的一切两次会发生第三次。“计划总是可以扩展到创建新任务 I>

这是我们的系统现在的样子,而这点,将创造我们的恐怖游戏,而我在本文前面讲了话。这场比赛并不意味着这个系统的限制,因为系统有足够的灵活性,以进一步发展。另一件事是,在此之前,我们需要学习如何实现劳动和时间成本最优的更高级的任务。

我谈了很多更多的关于这个项目以后的文章。现在,我不能这样做,因为没有足够的信息。

最有趣的事情总是说在最后:我们的游戏发布之后,我们将有可能被释放在Unity资源商店的免费模式,并透露她计划让人们能够做到这一点对其他系统。我们也将记录所有我们了解系统的使用条件下,一定要解决的技巧和窍门与它的工作,看看什么可行,什么不可行,而且会令你可以用这个系统做了一些有趣的选项。

我们也希望通过这个系统来发挥你爽游戏!我们想开发一个视频游戏照常进行,而且最终他们会来的,应该是什么游戏。我们要加快艺术形式的演变,我们认为AI将是下一个转折点,在这方面。

感谢您的阅读!订阅我们的博客 ,我们都在等着大家来我们的beta测试的 VirCities ! i>的

资料来源:<一href="http://habrahabr.ru/company/ilkfinkom/blog/256237/">habrahabr.ru/company/ilkfinkom/blog/256237/

标签

另请参见

新&值得注意