True时游戏的创造者:了解()游戏开发,VR问题和ML模拟的知识



几年前,在我看来,Oleg Chumakov(当时仍来自Nival)是最著名的游戏开发程序员。 他经常表演,主持Gamesjam,并经常担任播客的节目主持人。

随着VR在市场上的出现,Oleg带领公司成立了一个新部门-NivalVR。 但是你们都知道,使用虚拟现实,出现了问题。

长期以来,我对游戏开发人员不感兴趣,然后再看一看,我发现Oleg的团队变得更加有趣。 现在它被称为Luden.io及其机器学习专家模拟器,而True:learn()已成为其利基市场的热门话题,周围有许多很酷的故事。

我们与奥列格(Oleg)进行了交谈,但我不能只选择一个话题-他的道路太丰富和多样。 因此,程序员在谈论编程时不必担心会被误解,因此在我的朋友,同事和经验丰富的fillpackart开发人员的支持下进行了对话。


奥列格·楚马科夫(Oleg Chumakov)

我在玩True时玩过:学习()。 很棒的游戏,我没事了。

远不见了?

不行 我从晚上开始玩,被困在一个副任务上。 他坐着,直到他决定之前不能上床睡觉。 你跟她怎么样

事情非常好,我们没想到她会这么大。 我们计划了一个小项目。 我们是这样想象的:吸引世界上所有的游戏玩家,切断那些只玩拼图的人。 从那里,切断那些准备好处理程序的人。 然后是另一种机器学习……结果只是一小部分观众。 但实际上,在这里。

这是两个月以来第一次出现比我们计划的更多的比赛。 在开始时-第一夜比我们想要的多六个月。 因此,从那时起,我们过着非常有趣的生活。 我们本地化,尝试以某种方式保持稳定,并与Discord上的一千人同时交谈。


您在Discord中进行的聊天-据我了解,所有人都对此感兴趣,所有内容都涉及机器学习。 讲一个关于其中一位球员的有趣故事。

那里有一个球员,他的名字叫弗洛比先生(我不知道他的名字实际上是什么)。 他以封闭的阿尔法来找我们。 我们允许一定数量的人玩耍,我们得到了大概的反馈,我们可以调整。

我们在游戏中有一只猫-喵喵叫,坐在监视器上。 并且按照最初的想法,猫应该被干扰。 当您编程时,它不断地出现,在那里“中风了”,它爬入了显示器。 通常,Floppy先生在玩耍时,他的真猫活着来到他身边,以阻止他进行游戏编程。 他发送了这张照片,一切开始了。

然后他变得感兴趣,成为我们社区的活跃成员。 他开始在家中用3D打印机在游戏中的各种衣服中生产这些猫,然后将它们自己发送给最佳玩家。 相对而言,他免费制造商品。 他只是喜欢它。 这是对我们社区如何组织的非常热烈的回忆。 这在我们的项目中从未发生过。 有角色扮演,狂热爱好者,但人们可以在游戏上打印玩具并彼此共享-这是第一次。

有些玩家想直接深入学习机器学习。 游戏消除了他们对进入ML的困难门槛的担忧。 比赛结束后,他们去了Coursera,寻找对他们的知识水平来说很难的比赛。 现在我们正在积极关注他们,我们都在等待第一个获得机器学习领域的工作。 在这一天,我们显然将庆祝

也就是说,还没有收到?

他们仍在训练中。 游戏于三月发布,时间还不够。 因此,总的来说,发生了很多事情。 YouTube上的人还使用该游戏教机器学习。 现在在学校中一直在使用它-在俄罗斯,英国,美国和澳大利亚很多。 因此,我没有足够的决心选择最美丽的故事。 每周有两个。


Stanislva Semenov-数据科学家和Kaggle的最大用户之一-在WTL中比赛

好吧,好的,我们将回到机器学习。 现在,准确告诉我您目前在该项目上正在做什么,您的职责,您的一天。

我现在的责任是从核心团队中找出他们的计划-他们接下来两到三个月的工作-并且在我脑海中有了这个计划,以便与来我们这里的每个人一起工作。 来回集成游戏,到这所学校,到那所学校。 成为开发人员与外界之间的桥梁。

有时,我从我钟爱的客户开发中获得一些收益。 例如,他们发现了这样一个问题:孩子们去参加编程课程-父母问“教室里是什么?”,孩子们说“没事”。 父母不理解,孩子不想告诉屋面毡,屋面毡真的什么也没做。 因此,我们在游戏中提供了自动报告。 也就是说,父母会收到消息-“您的孩子今天学习了感知器”,“您的孩子教过rnn-ku”等等。 这些功能的出现是由于我与外界和游戏之间的互动。

好吧,因此,作为首席执行官,我有一个任务,要使每个人都受到一个宏伟目标的鼓舞,每个人都乐于工作,没有困难,一切都在前进,而无需考虑基本问题。

知道了 也就是说,您自己现在不编程吗?

它发生,但不是很经常。 对于游戏中的初创公司,我有很大的特色。 我很久以前就提出了这个建议,尽管这是我们下一个有关互联网营销的项目的一部分,但是我的手很慢。 而不是在一周的美好时光里,我已经做了一个月了。

关于Game Dev中的编程



好吧,让我们记住过去的美好时光。 告诉我你自己是一名程序员吗?

好吧,我获得人生的最大项目就是游戏Prime World。 这是Nival的一个非常大的项目。 带有社会角色的暴民(被称为城堡)。 我们的团队刚刚与之打交道,有20多人-这只是游戏的一小部分。 这个项目规模巨大,嗯,这个世界上存在着所有的同步多人游戏问题。

菲尔:您在哪个阶段亲自连接到该项目? 他当时在什么位置?

城堡,但是当我到达时,那里什么都没有。

好吧,让读者理解-游戏由两部分组成:战斗本身发生和城堡-游戏进行发展,玩家建造,雇用英雄,发展他们,然后选择英雄并与他战斗。 战争部分已经准备就绪,而社交部分才刚刚开始。

外:你是谁来找他的,谁呢?

我是一名普通程序员。 我还记得我是如何创建一个空的Unity项目的。 我们从一开始就开始。 必须将所有东西与弹头一起创建并整合,该弹头当时正在积极发展。

外:是的,这是团结。 那是什么呀? 优点,C#?

会议部分是优缺点。 我们的工作是团结。 主要逻辑在C#中。 但是由于这是一个复杂技术组合的项目,因此它也是通过Thrift在Python中生成的,因为服务器是在Python中。

F:哦,当然,这会增加C#开发的开销。

好吧,至少可以说。 但是我们非常优雅地摆脱了这一困境。 高级队友是非常有经验的人,因此我们在所有合适的位置进行了代码生成,总体而言,所有内容都生成得很好。 不必直接用手开始一切。

据我了解,这是Thrift,Protobuf等技术的鼎盛时期。 然后,它们被认为是科学人类不可思议的发明-一次,通过以下几种事实来解决您的问题:几种不同的语言和数据必须被发送,并且所有地方都应该一样工作

外:我可以想象这有多少问题。 当您进入该项目时,您是否已经熟悉C#和.net世界?

是的,我很熟悉。 我仍然熟悉Unity 2.6(如果不感到困惑),那是一个非常奇怪的产品。 我本人是在.net上撰写的,但在早期阶段就有Mono。 在这些时候,Miguel de Icaza甚至没有与Xamarin打交道。

我记得单声道是一种罕见的动物,很少有人看到,但是它是Unity内置的,而Unity几乎是单声道使用的最大产品。 因此,在早期阶段,虚拟机世界中发生了所有可怕的事情。 在所有平台上,巨大的模糊内存泄漏是与.net在基本方面不可预测的差异。 始终有任何额外的分配。

F:也就是说,在此之前,您使用的是普通的.net,但是在这里,它们为您提供了另一个运行时,实际上,该运行时仍未正确记录。

我以前开始使用Unity,但是您所谈论的过渡期-在.net和现在的mono中工作-那时还早一些。 我不能说我对.net很有经验。 我有一个主意,有几个完成的项目,但是即使我在那些项目中做错了什么,也没有出现性能问题。 这些项目中所有已加载的零件都是加号,.net与它无关。

外:您能谈谈您在该项目的第一周吗? 因此,您接受了采访,您是一名开发人员。 接下来是什么?

好吧,为了讲故事的纯正,值得一提的是,我们起初所做的并不是Prime World。 在他之前还只是一个项目。 不幸的是,他没有得到释放,有一天我们转到了PW创建了城堡。 那里的一切都如此之快-设计师大致向我们描述了应该发生的事情:“城堡中必须有某种城堡,城堡中的玩家必须自己开发,建造,抽水。”

我记得在第一周,我们组装了一个摄像头,包括基本单元的结构,构建了它们应如何站立的结构,它们都是单一的。 在第一周之后,当基本图片和基本互动程序组合在一起时,我们必须开始弄清楚它如何使用服务器在架构上工作,如何前往朋友的城堡,看看他拥有的城堡,如何将此上下文传递给弹头。 也就是说,英雄被雇用,建立,购买了合适的人才,现在您需要在战斗中与这个英雄作战。 为了参加战斗,您必须以某种方式从我们的城堡转移到训练阶段。 还有其他语言和其他技术-这个桥梁不是很快建立的。 这些是其中的一些回忆。 但是那是很久以前的事了。

时间线开发Luden.io


  • 2014年,Nival成立了一个独立的团队,致力于开发虚拟现实教育游戏-NivalVR。
  • 2015年1月,他们的第一个项目InMind发行了,该游戏是关于在微观层面前往人脑以寻找引起精神疾病的神经元的游戏。


  • 同年,InCell发布。 她提出了这个想法,但听起来很像一个聊天机器人的文本,它是一款教育游戏,具有赛车和战略元素,具有针对VR设备的程序生成,涉及到人类蜂窝世界。
  • 在Epic Games Mega Jam 2016中,Luden.io制作了VRobot-一个“无用但有趣的游戏”,在这里您必须用巨型机器人摧毁一座城市。 2017年,她于2018年在Steam VR上发布-在Playstation VR上发布。


  • 在2016年,NivalVR更名为Luden.io。
  • 2017年,ARrived发行了-增强现实中的上帝模拟器,基于Google ARCore,Apple ARkit和CoreML技术。


  • 在2018年3月,她进入True:Learn()的抢先体验,这是ML的模拟专家,但没有VR和AR。

关于技术公司的管理


好吧,现在您是Luden.io的负责人。 而您呢-哪个更困难? 开发或管理所有这一切,成为世界与开发人员之间的桥梁,是纯粹的吗?

我认为这取决于您与什么样的人一起做。 我很幸运,在那里有像我这样的人,那里非常有趣,也很酷。

如果从理论上比较两个行业-CEO和程序员? 我认为程序员更加周到且较慢。 发明,计划,完成。 外部因素出现的频率较低,而且数量不多。 相对而言,总是有正确的决策,有具体,清晰,可衡量的指标表明正确的决策是指您的计算花费不超过两毫秒并在N个线程中执行。 您肯定知道这些参数,如果适合它们,一切都会很好。

当然,首席执行官的工作中没有这样的事情。 尽管您围绕着目标可衡量的指标来开展业务,但在这个世界上通常没有明确的形式化事物。 始终需要考虑如何做得更好,否则可能会完全不同。 也没有明确的规则。 但这是它自己的魅力



外:您认为开发人员的经验可以帮助您进行管理吗?

我敢肯定 我认为,将来不会有很多技术公司的建立不了解首席执行官负责人的发展背景。 我很难想象这是怎么回事。 我敢肯定,至少一个人应该具有技术背景,以便技术公司以火车的速度向前冲,而现在,这对于维持生存至关重要。 我不会说这是唯一的方法,但可能是最进化的正确方法之一。

您自己进行审查吗?

好吧,不是那样。 是的,在一个大型的PW项目中-还有其他流程,不像我们的流程那样。 当然,在那里所有代码看起来都这样,所有内容都在一个标准中。 PW的规模如此之大,以至于人们可能会忘记一个零件已在其他地方使用。 即使在本地测试也很困难,这个项目有多大。 因此,那里的代码审查具有良好的标准。

大家在这里看看彼此的代码,但主要是在集成过程中,当我们在一个早午餐中收集所有功能时。 我没有在gamedev中看到,当您有5-6位程序员时,会有大量的代码审查过程。 通常,这不是特别必要,产品是主要产品,支持期限不超过十年。

外:有没有统一的发展方法? 他被强加了吗?

有一个标准的代码样式和要结合的基本概念(体系结构规则)。 有一个我们经常工作的项目框架。 它已经过时间的考验,我们可以确定它不会让我们用脚射击(至少是用from弹枪射击)。 从项目到项目都有一组基本模块。 有些是很久以前写的,有些是最近写的。 由于对架构标准的大量重用,以及对代码风格的遵守,我们还没有完全陷入深渊。

外:您是否参与雇用新员工?
当然可以

外:大家吗?
全部

您可能不是一个很大的公司,对不对?

是的,不是很大,不是数千人。 因此,至少要感谢上帝一次,但是在每位新员工进入面试10分钟的过程中,我将讨论一个人与游戏行业的关系以及他的游戏方式。 只是了解。

外:但是您自己不会像开发人员那样采访开发人员吗?

你知道,我真幸运。 因此,我认为从事银行软件业务的人没有我们这样的特权和运气。 我们整个说俄语的产业很小。 当您工作数年后,您将结交朋友并结识新朋友。 对于几乎所有员工来说,如果不是学生,总会有某种建议,大致了解他在生产中的工作。

但是,如果我需要在一周内雇用一百个人,那么我当然不能这么做。 我不需要以这样的速度招聘,很可能当我招聘人员时,我已经认识他们。

Gamedev与业务发展




外:还有其他行业的人继续前进的情况吗?

它发生,但不是很经常。 在gamedev中,往绩通常是这样的-人们喜欢在童年时期就制作游戏,然后才继续。

当人们从银行被带走时,进行了几次具有里程碑意义的采访。 在面试阶段,我们有点同意,他们似乎很喜欢,就像“在这里,我在银行工作,我付了很多钱,但我真的不喜欢。 我想做灵魂的谎言。 灵魂在于游戏。”

你喜欢他,他喜欢你,谈判,提出要约,这个人不见了。 有时你问:“你好吗?”,他们对你说:“我要辞职了,老板问我要去哪里。 我说,在这里。 而且他-好吧,让我们提高您的薪水,您将无所事事。” 人们经常屈服于额外的金钱动力,并留在自己的行业中。

但是当然还有其他情况。 非常好的人来自各个行业,包括银行软件。

是的,我记得您在播客中讲过这个故事-一位银行的程序员说“我想变得有创意”,数字写在纸上,他仍然存在。 你一生中有这样的纸吗?

是的,像其他人一样,报价总是来自不同的角度。 你知道,我从来没有真正看过他们。 当然,很高兴他们打电话到其他地方。 但这不是我想要建立的生活。

F:他们说在银行业,商业中,代码质量要比游戏开发人员高。

我认为最好让一个既从事银行软件工作又从事游戏开发工作的对手。 但是我认为,从理论的角度来看,在游戏开发中,经常会发生一个项目突然飞行的情况。

例如,开菲尔奇妙公司拥有游戏《地球上的最后一天》。 绝对是高品质的。 她飞得很快,很受欢迎。 我认为,当它开始腾飞时,您拥有足够的帮助,这是为了梳理代码的质量。

维护项目清洁度的整个过程主要取决于开发人员,高级开发人员的意识,他们在项目的任何阶段都应遵守良好的举止并控制一切。 因为阶段“我们先完成,然后再进行梳理”永远不会到来。

外:我本人在业务开发方面做过很多工作-我们在邪教组织中建立了代码的质量。 我们不必解决问题,我们必须编写好的代码-这是我们的任务。我们没有对该产品的工作原理以及该产品是否存在(当然,作为开发部门)一无所知。据我了解,您的情况恰恰相反。也就是说,您的任务是执行此操作。

当然,这里的产品及其指标是主要的。有时,情况与您所描述的相似。假设我们正在做一个已知IP的项目,我们知道它的未来。从某种程度上讲,我们可以预测它将支持15年。显然,我们立即具有商业价值,因为它的支持不会每年增加。为此,必须为新程序员编写充分的文档并清楚地编写。但是很少有可以支持15年的此类项目-具体行业。魔兽多少钱?到15年后,很快就会到来。从理论上讲,是的。但是我认为15年前,暴雪的开发人员急于完成产品,但并非一切都做得很好。

F:看起来更像是在游戏项目中,最初与业务项目不同,您无法想象它有多长时间。

当然可以

F:在企业中,默认情况下,他们编写的代码必须获得15年的支持,您却不这样做,对吗?

程序员的关键任务并不总是使代码可以轻松支持15年。但是我遇到了非常干净的项目,人们和中央开发人员都非常负责,他们都很喜欢。

如果您想监视清洁度,那么该项目通常都非常漂亮。但是显然,业务并非总是需要这种纯度;它并不总是与产品成功相关。

同时,我很难想象这样一种情况:我们在制作银行软件,却不知道它是否会运行。截然不同的行业。

如何为自己和观众制作游戏




看看luden.io游戏,在我看来,它们似乎是为我自己制作的。通常,不依赖业务人员通常所说的话,而不依赖特定的受众。

这始终是一个双重问题。想象一下,我们制造的软件可以解决用户的特定问题。我们去找这个用户,问他“怎么了?” 我们了解,发现并考虑经济因素-是愿意为解决这个问题付出代价的人。我们创建了可以解决此问题的产品。

游戏也可以视为解决玩家问题的软件。他想找乐子,或者-就我们而言-学习一些东西。但是这里并不是说它很疼,我还是选择了软件-它不再疼了。用户想玩一些充满灵魂和愉悦的游戏。一个人必须对游戏产生化学反应。他必须和她交朋友。如果有一种方法可以与玩家一起研究这种化学反应的形成机理以及研究业务领域中的问题,那么为自己制作游戏可能并不重要。

如果我们说我们不能进行足够详细的研究,那么找出该游戏确实与该用户成为朋友的唯一方法就是该用户。如果游戏对我们来说是出色,美丽,有趣的,那么我们可以假设有不止一个这样的人,这样的人仍然存在,他们也会喜欢。

但这是一条好线。您需要能够自己观察产品,但眼睛会略有不同。一个已经玩了五年的人会如何看待?现在只在命运中扮演的人?就像在掩体里度过一千小时的男人所见。就是这样-但是您必须发挥自己的火花-这是商业动机。

而且抒情动机很简单-制作游戏要花很长时间,而且到开发结束时,任何游戏都会有一种接近仇恨的感觉。您已经见过她那么多,她已经对您感到厌倦。如果您仍然不喜欢它,那么该如何饮用,到最后您将放手。除了制作自己喜欢的游戏,别无他法。否则,您将无法以良好的动机走到尽头,您会变得太累。

好吧,您是否同意您的游戏仍然是利基市场?

当然可以!这是我们所做工作的主要优点。我们真的很想成为小众。不要试图招待20至40岁的男人-这些男人的整个世界都是娱乐的。

我们希望游戏能够向一个人传达一个新主题,告诉他一些事情,成为他一生中有用的伴侣。这个利基市场绝对不如足球比赛那么广泛。但是我们没有朝那个方向瞄准。

按照这一原则开展工作是否有利可图?

我认为这是有利可图的(在我们的示例中为好),但这需要建立市场。四年来,我们已经意识到什么类型,什么格式和如何提交,从而使它有利可图。我们做到了,但这并不是说这是可以从此利基中获取最大利润的点。

直到现在,我们才了解如何与这个市场合作,如何创建这个市场。它发展不佳。现在,再过10到15年,我们必须将其转变为对也有共同目标的其他开发者更开放的游戏-游戏应该是有用的。

我们的任务是确保20年后,在游戏的帮助下,人们学习和做一些可以使他们感到愉悦的事情,并在未来的世界中变得有意义,并在其中发挥最大的作用。然后,大学和学校可以专门从事研究活动。

通常,在游戏和您的课程之间可以看到一条共同的界限-混乱的游戏,讲座,您似乎仍然在教书...

很少。一年最多10个小时。

为什么对教育,教学如此感兴趣?

帮助年轻的专家比我们更酷,更快乐有一些美,经验应该起作用。但是,缺乏远见的动机。你最喜欢什么游戏?现在,我们将按类型直接识别某人。

在所有的?

在所有。任何一年。好吧,你仍然记得一些东西。

来吧,质量效应。

好的,质量效应很好,我也喜欢。那是我们的第二个……

F:可能是哥特式。

该死的,嗯,哥特式也很漂亮。现在我想知道是否应该给它们命名。我也非常喜欢哥特式音乐,我喜欢质量效应,但我只是模拟器和taikuns类型的狂热粉丝。总的来说,我认为Mini Metro是现代游戏艺术的辉煌成就。没有玩吗?


是的,是的,我看见了她。

如果我们将绘画与艺术相提并论,那么这就是Malevich的“零形式”,即只需用最少的精力就可以给深层系统提供巨大的支持。

Taikuns和模拟器是一个领域模型,我们可以在其中交互地进行操作并查看结果。如果您更深入地研究游戏,那么它就是毫无风险地获取经验的方法。也就是说,游戏是最自然的训练形式。在这里,我们有一家名为Luden.io的公司。如果分解,拉丁文的Ludus会以两种方式翻译-游戏和学校。在体育馆附近有这样的废墟,它们被称为Ludus Magnus。在这里,角斗士们进行了学习,在那里他们踢球,战斗,并为在竞技场中的战斗做准备。

, — , , , . , , .

, 20-30 . , Youtube, Twitch, - , , .
— , .

VR




按照相同的原则,第一个项目有一个专注于VR的想法?

关于VR,这是一个有趣的话题……当我们开始时,它才刚刚开始。 当然,VR可以扩展游戏的优势-无风险的体验,可以增强在线状态的效果。 大脑甚至认为这实际上是在发生,尽管这只是额外的排练。 但是,现在市场的增长率面临一些困难。 我们找不到每个人都希望在家中拥有的VR格式。

因此,我们决定将继续朝着我们的目标迈进,但是VR ...我们已经在所有平台上发布了项目。 此外,我们还有已集成到学校的生产VR项目。 如果某个平台上发生了某些变化,并且这将是一个虚拟现实,将有助于制作有用的游戏,那么我们当然会加强在那里的存在。 在此期间,我们有许多参与者,每个人都很高兴和高兴,但是True:学习()-没有虚拟现实。

在E3之后,这张照片刚刚在互联网上发布,与以前相比,新闻界对VR的引用灾难性地减少了。

好吧,很不幸,是的。

您认为发生了什么事?

是否想为自己购买虚拟现实头盔?

不行

好吧 就是这样 人们不想要。 因此,一旦您醒来并意识到自己想要VR,那么临界点就近了。

他们为什么不想呢? 毕竟,一切都很酷。 当它出现时,每个人都很高兴,每个人都说,在5-10年内它将无处不在,我们通常会搬到那里居住。

您无法听取商人的任何复杂分析答案,只能听自定义的答案。 客户将以一种更好的语言更好地回答这个问题。 因此,伙计们,如果您不想要头盔到家,您的动机将比我所有深刻的商业结论更好地描述情况。

这始终会发生-如果该游戏不用于出售,请转到游戏站点并询问未购买该游戏的人。 他的解释要比所有营销人员的解释要好得多。

我认为鸡肉和鸡蛋有问题。 可以在家里买头盔,但问题是如何处理。 而生产此头盔的内容的人认为我会为他生产什么,如果那里没有人,我将停止为钱而发展。 这个问题尚未在VR市场中找到平衡。

但是细分已经出现,我认为它们会得到加强。 首先是狭窄的市场,然后是更大,更大的市场。 就像80年代,90年代控制台的形成一样,VR的出现也可能发生。 但是三年来它一直没有成功-并没有发展到手机的规模。

也就是说,您相信他会在不久之后起飞吗?

问题是什么格式。 很难预测它是将允许同时制作AR和VR的通用设备,还是单独的设备。

我个人的看法是,他将占据一个专门的利基市场,例如今天的平板电脑。 很多人在家里有房子,但很少有人买新房子。 他们仍然在解决一些问题。 使用VR,可能是一样的。 他肯定会占领这个市场的某个细分市场。 唯一的问题是该段的大小。

Sergei Galenkin告诉我,这是一种很好的用法。 一个人买了头盔看电影,因为他有四个孩子。 用例立即明确。

使用虚拟现实很难吗? 从技术上讲。

使用VR时,性能存在巨大问题,通常需要平台要求来支持它。 现在,我们在Playstation VR上推出了老游戏VRobot。 例如,在那里必须保持稳定的60 fps。 在Oculus(包括移动设备)上,您需要支持75 fps。 即使在某些时候它下降了20-30帧-就是这样。 您必须优化游戏,以免游戏失败。

但是我们在底层图形优化方面拥有非常强大的团队。 我们有Nikita,他在这方面超级专业。

外:你有一个单独的家伙来进行优化吗?

好吧,他不仅这样做,而且这是他的主要技能。 他们仍与Dima合作,后者可以将任何3D场景组合成所需的性能指标。 因此,有了他们,一切都美好而美好。

关于游戏开发中的机器学习


对于那些对游戏开发和机器学习感兴趣的人,Oleg展示了Demis Hassabis的照片作为灵感。 国际象棋神童,神经科学家和DeepMind的创始人也开始了他作为游戏开发者的职业生涯。

他由Peter Moulinje为Black&White编写了人工智能程序。 然后在自己的公司Elixir Studios中发行了债券超级反派Evil Genius的模拟器。

直到那时,它才成为世界上最著名的AI研究人员之一。


而True:learning()是否能显示您的真实经验?

是的,是的,一切都建立在此之上。 在游戏行业中,如何做-如果您开始做某事,那么您绝对应该有一个参考,这是您可以回顾的参考点。 我们正在做模拟,在模拟中有很多小东西,这些小东西需要一个参考点,以免飞到某种抽象上。

虽然是True:learn(),但我们没有将另一个项目作为参考-我们有一个现实。 如果您正在做某事并且不知道该怎么做-看起来就像在现实生活中一样。 游戏的经济性是租用计算服务器。 如果您解决了处理大量数据的问题,则可以租用服务器,考虑租用,然后停止租用。

我们想在游戏中展示从上世纪50年代开始的机器学习发展历程,从第一个感知器到现代无人驾驶汽车,各种胶囊网络等等。

我们布置了所有这些参考点,Vanya专门收集了一个Google表格-机器学习的主要过渡模块,行业如何变化,带来了什么。 并在任务的帮助下按此顺序进行。

在某些版本的游戏中,我们甚至指定了一年。 由于多种原因,我们将其删除了,也许我们会回来的。 但是这个人走了-启动游戏,用感知器进行了数个任务,并为此赚了一些钱。

每年都有一些有趣的事情。 它要么被未来的技术发展所驳斥,要么相反地得到证实。



您可以单击每个块,查看其在游戏中的工作方式以及在现实生活中的工作方式。

总会有两个链接,一个链接到有关此街区的YouTube视频,其中有人对此进行了有趣的讨论。 如果您想深入了解此事的工作原理,则还有一些文章需要更深入地了解。

在团队中,人们以前曾经做过机器学习吗?

是的 True:Learn()是我们与VRobot推出同时进行的,因此我们的VR团队专注于移植到Playstation。 新的小型团队由机器学习专家组成。

并向他们介绍他们,什么样的团队,他们之前从事过的工作?

是的,他们以某种方式收集了它。 当这个想法出现时,我从朋友,朋友和学生中组建了一个团队。

外:您是否接过了机器学习专家?

是的,但是这里有所有年轻人,他们当然没有20年的机器学习经验。 每个人至少在Kaggle玩了几次,他们解决了一些问题。 许多人已经在研究所通过了这项工作。

外:他们做了一场比赛。 但是游戏开发不是机器学习,对吗? 也就是说,它们是全堆的-科学家和产品开发人员全都合为一体。

好吧,你怎么回答。 这些人了解机器学习并了解其工作原理。 然后他们在Unity上开发游戏,编写游戏代码,排版界面等。

只是为了提出某种任务并将其全部放入年表中,您需要了解上下文。 但是显然他们没有为每个任务启动ipython Notebook。

我们那里有一个特殊的库,它考虑了卷积网络以及在Sharpe中可以在Unity中工作的一些非常基本的东西。 它还发布了我们的AIDraw绘图游戏。 玩家在那里绘画,神经网络猜测他所绘画的东西。 这个库计算整个事物,并围绕着整个游戏。

F:ML和游戏开发者最近开始重叠。 例如,我有一个带有机器学习功能的游戏。 哪个堆栈合适?

我还没有看到很多与机器学习和游戏开发相交的项目-特别是产品使用,从而使游戏客户端中发生了某些事情。
Unity有自己的强化学习系统。 它允许您执行少量操作,但是它直接内置于Unity中,因此进入阈值较低。

有许多与其他领域相同的库,以及用于神经网络的框架。

在移动技术中,他们经常使用Apple的CoreML,它使您可以直接在GPU上计算设备。 我们采用该模型,在同一TensorFlow或Yandex CatBoost中对其进行训练,将其打包到一个特殊文件中-现在它已经可以在iPhone的GPU上直接启动,我们将得到的预测结果反馈给我们。

例如,我们在具有增强现实的ARrived游戏中使用了该游戏,在该游戏中,有必要从摄像机中识别图像并说出摄像机上的内容。

如果我们不是在谈论产品使用,而不是在游戏客户端中,那一切都是经典。 在服务器上,人们驱动着最通用的技术,这些技术遍及ML。 但是,它用于报价的分析或个性化。
著名的案例-他们试图预测玩家何时会退出《战车世界》,以及如何处理这些信息。

或预测何时向玩家提供某种报价-以一匹的价格购买两匹马。 他极有可能会购买,以后会很高兴。 这些都是服务器的东西,堆栈没有任何限制。

数据集的收集可以站在游戏设计的中心吗?

好吧,这就是西方世界的概念。 也许她拥有生命权,但我没有立即看到玩家行为中的哪种数据集会有用。

好吧,例如,我们正在与您一起制作关于在城市环境中行驶的游戏,我们正在制作莫斯科道路的真实模型。 在这里,我们看到-这里的许多玩家不断崩溃,在这里他们违反了速度模式。 从该数据集中,您可以了解问题所在。

如果它是抽象游戏,而不是域模拟器? 也许数据集将有助于解决公司的问题。 如果她制作相同类型的游戏,则此类游戏中玩家行为的数据集可能对他们有用。 但是为此,已经创建了单独的项目,但我尚未见面。

这是AIDraw中的问题吗?

嗯,很好。 如果我们有30万倍的规模,我们可以不去做。 例如,谷歌在类似的游戏中收集了一个数据集,它对此有所作为。 我认为出于研究目的。 在这里,它们可以成为一项任务。

F:假设您构思了一款将以某种方式使用ML的游戏,并且在开发过程中您了解了如何构思它是行不通的,但结果却完全不同。 你有没有遇到过这种情况?

例如,我们知道虽然True:learn()将是有关自动驾驶汽车的重大更新。 玩家将教机器如何骑行,绕过其他汽车,换档,加油,刹车。



通常,在游戏开发人员中,游戏设计师编写dzdock;内容是在dzdok上生成的(当然,就其他领域的技术要求而言)。 但是有了打字机,我们立即了解了-我们将有几个阶段,几种技术。 遗传学会学习。 玩家将了解遗传学正在研究中,但这不是很好。 然后将有不同类型的加固。 玩家将了解,对此任务进行某些强化会更有效。

这些都是管理不善的事情。 知道一切都会出错,我们首先编写了一个技术样本-原始,丑陋,难以理解。 交给游戏设计师。 游戏设计师和她一起玩,写了一个dzdok,我们将对其进行完善和完善。

更准确地说,不仅是游戏设计者,我们在Discord中拥有一个由密友组成的封闭社区,我们可以在任何状态下为他们提供功能,他们会玩游戏并说出他们的想法。 现在他们已经在玩这些车了两个多星期了。

有了汽车,我们来到了什么? 最初,我们指出了用于指导汽车驾驶的数据输入,可以更改的参数(各种阈值,损失。在遗传学中,例如,世代大小,突变)。 结果发现有些互动性不强。 一个人进来,改变一些参数,然后他变得愚蠢,看着汽车如何行驶。 对于上下文相关的开发人员来说,这很有趣。 对于外面的人来说,它是不互动的。

外:感觉不到他的贡献吗?

是的,没有即时反馈。 因此,我们对设计进行了一些更改。 玩家将开车。 就像教车一样,自己开车。 当你教她的时候,她在你后面重复。

如果不断地仅在右侧重建玩家,则无法在左侧重建机器,因为他没有这样教书。 它立即变得互动。 因此,再进行几次迭代,便可以解决问题,

也就是说,我们认为ML总是会出问题。 在设计阶段几乎不可能事先考虑一下。

F:也就是说,您基于这样一个事实,您必须制作一个原型,看看它的行为,然后从本质上重做一次?

当然可以

F:但这不是开发的标准。 这个功能是ML,对不对?

你可以说是。 因为在其他领域和游戏中,我们可以大致预测。 这不是我们第一年这样做,所以我们知道玩家会做什么,他会经历什么样的情感。

我们牢记的预测基础可以应付这项任务。
但是ML仍然无法应对。

Source: https://habr.com/ru/post/zh-CN417107/


All Articles