这篇文章是为了:想要创造出成功的电子游戏的创业者。通过三个真实案例学习游戏开发工具和技巧。
编剧:亚历克斯·森森,阿什利·伯顿,泰勒·布朗热
对于初创公司来说,电子游戏开发是一项棘手的业务。如果没有行业中一些大公司亚搏体育客户端app下载的资源或品牌知名度,就很难开发出能引起消费者注意的产品。然而,真正独特和创新的产品往往可以在所有的竞争中找到一条成功之路。这些新想法往往来自一个有浓厚兴趣或专业知识的地方。围绕你的激情构建一些东西会让你的创造力达到新的高度,就像在软件开发的其他领域一样。
除了你所想到的全新游戏理念外,你还需要在开发方面考虑更多内容。游戏应该在什么平台上制作?开发它的过程是怎样的?在这个行业取得成功的关键是什么?所有这些都是下面将讨论的有效问题。本文将通过三位电子游戏行业专业人士的不同经历来探讨电子游戏开发的10个重要考虑因素。涉及的十个主题是:
主要议题:
RIC中心个案研究:
- 与Rohan Mahimker的Prodigy
- Unity3D游戏开发与Jon Senson
- 杰夫·兰德的幸运VR
三个案例研究导论
本文探讨了来自电子游戏开发行业的三个经验丰富的专业人士的案例研究,以帮助指导如何解决上述主题。他们来自不同的背景,对于如何处理游戏开发有着不同的观点。下面是对它们的介绍。
Prodigy的Rohan Mahimker
Rohan Mahimker是神童这是一款在线游戏,可以教你与课程相匹配的数学技能。从自己的童年中寻找灵感,Rohan和他的联合创始人在大学机电工程专业的四年级项目中创建了最早的Prodigy版本。他并不喜欢辅导公司用来教孩子们数学的所有页面,他认为将数学整合到Pokémon-esque视频游戏中是让孩子们继续学习的好方法。该公司现已发展到250多名员工,全球有超过3000万1-8年级学生喜欢这款游戏。
Jon Senson (Unity3D游戏开发者和程序员
Jon Senson是一名经验丰富的电子游戏开发者,曾在多家游戏开发公司工作过。他在这些公司的工作包括为内部项目和客户编写和更新游戏。Senson拥有多种语言和开发平台的经验。
来自Lucky VR的Jeff Lande
杰夫·兰德是幸运的虚拟现实这家公司开发在线虚拟现实赌场游戏。他将公司建立在他所热爱的三个方面:扑克、科技和创业精神。该公司利用其创新技术吸引了扑克之星和Unibet等大公司的合作伙伴关系。Lucky VR团队已经扩大到17人左右,并在他们的利基市场建立了很多信誉。自从他们白手起家以来,已经走过了很长的一段路,他们最近的合作意味着Lucky VR别无选择,只能往上走!
原型设计
没有一款游戏可以马上完美地制作出来。软件开发涉及大量的计划,经常涉及线框图,但在整个开发过程中,该计划会经常更改。正因为如此,游戏开发者创造了原型,以便未来的用户可以在向公众推出之前尝试游戏。这类似于创造最小可行产品的想法,在这篇文章因为你发布的是一个未完成的产品,这样用户就可以有一些东西来提供反馈。收集反馈的技巧将在本文后面讨论,但这里有一些来自我们案例研究经验的关于原型设计的建议。
Mahimker:
《Prodigy》最初的原型是一个非常基础的游戏版本,只有很少的屏幕;带有数学问题的基本战斗屏幕,角色简介屏幕等等。原型被带到学校供学生试用,并根据他们的反馈进行改进。比起网页开发人员,他们在构思阶段较少使用线框图,他们更专注于角色、设置和动画的概念艺术。
Senson:
Senson的项目通常都很小,所以他能够在开始开发前“在纸上”规划出整个游戏。他首先会创造一个alpha原型,这是一个几乎完整的游戏版本,可以玩,类似于最终产品。在获得反馈后,他便创造了一个测试原型,即完整执行的游戏设计。然后对产品进行质量和漏洞测试,然后对游戏的最终发行版本进行调整。
朗德:
Lucky VR的技术最初是在贸易展会上以简单的“演示”形式展示,以吸引人们的兴趣。他们最早的产品是与巴塞罗那一家在线老虎机公司的客户合作,随着越来越多的公司接触到他们的演示,他们的合作伙伴也在不断扩大。即使是不完整的产品,使用原型作为演示也是一种传播游戏或技术的好方法。
选择开发环境
拥有一个优秀的游戏理念是一回事,但如何将该计划付诸实践则是创造一款电子游戏的重要部分。在规划你的游戏时,你需要牢记一些技术因素。根据你想要游戏做什么,你的目标用户是什么,你的经验水平是什么,在你计划启动项目时,你有很多选择。
选择游戏编程语言通常取决于你所使用的平台或你的团队最熟悉的语言。c++是电子游戏编程中最常用的语言之一,但在做出决定之前,你应该熟悉许多其他语言.在这篇文章,我们探讨了许多比较流行的编程语言的不同特性。
在开发手机游戏时,你在苹果iOS和Android操作系统之间的选择会影响你应该使用哪种语言,你应该瞄准哪些用户,以及你认为你的游戏最适合哪种硬件。这篇文章概述了在移动软件开发过程中选择正确的操作系统所涉及的许多考虑因素。
也许电子游戏开发框架中最重要的方面是它所基于的平台。根据你所创造的游戏的高级程度,你的经验水平以及你想要如何部署你的游戏,你可以使用各种初级平台和高级引擎。
当你想开始适应游戏开发时,一些初学者学习平台可以帮助你从小处开始。你可以在不需要任何编码的情况下制作出具有专业感的游戏,尽管许多平台都允许你使用代码来扩充游戏。最受欢迎的简单平台包括:Stencyl,GameSalad,构建3,RPG制造商,GameMaker,Clickteam.看看它们,找出最适合你的那一款吧!
更高级的游戏开发引擎是可以使用高级编码能力和全面功能工具包快速有效地构建游戏的平台。大多数允许你导入资产,创建环境,添加音频,定义物理,创建玩法逻辑,调试游戏等等。电晕,AppGameKit,MonoGame是否有更多的中间平台用于创造跨平台游戏团结,不真实的,冻伤引擎用于专业游戏开发。
Mahimker:
在《Prodigy》的头4年里,游戏在不同的平台上重新制作了3次。这款游戏花了一段时间才达到现在的水平,但每次重建都会带来更好的游戏版本。这是一种非常低效且耗时的游戏创造方式。Prodigy最初是在微软Silverlight上开发的,因为最初的创始人之一曾在微软工作过。从那以后,这个平台就被微软淘汰了,所以游戏很难在这个平台上推广。
Prodigy随后转向Java,因此它将作为Java应用程序安装在计算机上。然而,大多数学校的电脑不允许你从网上下载应用程序,而且仅限于Mac和Windows电脑。最后,Prodigy转向了HTML5开发框架Phaser。它对开发人员来说更容易访问,并且可以无缝地进行迁移。HTML5游戏基本上可以在任何设备上玩,这对于学校硬件(从15年的台式机到全新的ipad)非常有用。
Mahimker显然不建议在不同平台之间切换两次,因为切换语言时需要重写大量代码。然而,保留一些基本的结构和组件使得转换更容易,他很高兴自己最终选择了当前的平台。
Senson:
在向新游戏开发者推荐引擎时,Senson会选择Unity,因为它是最友好的。它拥有更健壮的语言,可以跨平台使用,拥有一系列非常“行业标准”的功能。用户论坛也有助于与用户进行有益的讨论,而其他平台没有那么多的机会从公众那里得到反馈。他自己也使用虚幻引擎,尽管这需要更高级的c++语言知识。
朗德:
作为一名非技术领域的联合创始人,兰德在创业之初对该使用哪种引擎并没有太多的想法。《Lucky VR》最终基于Unity引擎,因为这是他的主要开发者所擅长的平台。
导航设备兼容性
如今,从手机到台式电脑再到电子游戏控制台,人们到处都在玩电子游戏。游戏开发者很难让所有用户都满意,因为每个用户都有自己喜欢的游戏设备。正因为如此,游戏开发者通常需要专注于确保他们的游戏不仅能够有效运行,而且能够针对各种平台进行优化。这对于每年发布的具有不同显示尺寸和其他功能的新设备来说是极其困难的。以下是关于我们的案例研究是如何让游戏在不同设备上运行的。
Mahimker:
在HTML5平台上创造了《Prodigy》后,我们便希望能够将这款游戏移植到手机平台上,这样孩子们便可以在家中或学校的ipad上玩游戏。然而,大多数用户都是在学校的台式机或笔记本电脑上玩这款游戏,所以重新编程一个新的手机版本似乎并不是一种有效的资源利用。亚搏体育客户端app下载这款游戏可以在手机上玩,但只能作为桌面版本的“包装”版本,不太适合手机;这足以有效地安抚他们的手机用户。
Senson:
考虑到他在移动设备和桌面设备上开发游戏的经验,Senson认为创造能够适应各种屏幕尺寸或设备功能的游戏非常重要。每一种都有不同的优点和缺点移动操作系统你需要优化游戏的设备。Android用户经常使用旧设备或操作系统,这使得满足每个用户的需求变得更加困难。当你了解到一些罕见设备的兼容性问题时,你通常只需要当场修复设计和错误。总的来说,他更倾向于为PC编写游戏,因为这可以避免移动设备的快速更新特性。
朗德:
在制作VR游戏时,耳机也是一个重要的硬件考虑因素。Lande表示,在决定游戏设计时,他选择了一组既流行又性质相似的耳机;这样他们就不必为不同的耳机编写多种输入程序。Lucky VR产品现在是为PC和移动设备设计的,尽管Lande知道将软件从PC移植到移动设备是非常困难的。他建议,如果你知道你将针对多种设备设计某款游戏,那么从一开始就针对每种设备进行优化,以避免移植带来的困难。
选择发展方法
就像开发任何软件一样,拥有一致的方法是保持团队协调和组织的重要部分。和其他软件行业一样,电子游戏开发公司也开始转向更加敏捷的开发策略。在这篇文章,你可以阅读更多关于选择适合你的创业公司的开发方法。
Mahimker:
Prodigy团队在整个开发过程中都专注于快速迭代。在一到两周的“冲刺”过程中,他们会找出高优先级的功能,构建它们,发布它们,然后重复。这让他们能够更快地回应用户反馈,而不需要在发布前完善所有内容。
Senson:
Senson也认为敏捷方法在电子游戏开发中正在崛起。因为他曾在小公司工作过,那里的开发者都是独自开发游戏,所以他个人并没有经历过严格的方法论。小范围的项目,就像他领导的许多项目一样,可以提前在纸上设计,采用类似于传统方法的方式。
朗德:
Lucky VR在开发过程中使用了半敏捷的方法,尽管Lande建议任何方法都是有效的,只要你坚持执行它。
收集用户反馈
电子游戏是非常以用户为中心的产品,因为只有用户喜欢游戏体验,他们才会回来玩。由于产品本身是为了让用户满意而构建的,用户反馈在创造优化体验方面发挥着极其重要的作用。如果人们不想要,那么制作一些内容就没有意义了,所以没有感兴趣的用户的游戏毫无用处。这篇文章概述了软件初创公司收集用户反馈的一些常见方式,而下面的案例研究提供了一些更独特的视角。
Mahimker:
Prodigy团队收集用户反馈的主要方式是坐在使用他们产品的教室里。他们直接与学生、教师、家长和其他利益相关者交谈,以了解他们的产品被接受的情况,以及需要进行哪些改进。例如,孩子们想要在游戏中建立一个怪物团队,所以开发团队添加了捕捉怪物作为宠物的功能。Prodigy的许多早期功能都是基于用户反馈。
他们还通过游戏中的骑士角色收集用户反馈,该角色要求用户参与调查,并被恰当地命名为“Sir Vey”。每天有超过100万的孩子登录游戏,提供反馈,告知游戏未来的变化。当Prodigy成为一个超过250名员工的更大团队时,专门的用户研究人员被聘请来更好地了解他们的市场。他们甚至试图雇佣一个可以帮助他们更多地了解印度日益增长的市场的人!
朗德:
Lucky VR团队使用他们的Discord服务器来接收产品中遇到的问题的实时反馈。他们在服务器社区中有超过6000名用户被激励在那里发帖并帮助改进游戏。Discord主要用于电子游戏用户社区,所以没有多少其他公司收到这种专门的反馈。虽然在凌晨3点收到一堆消息很烦人,但在错误发生时尽早了解错误是很有帮助的。Lande还使用谷歌表单、电子邮件崩溃报告和通过Unity的自动错误报告来解决Lucky VR的问题。
安全注意事项
软件产品经常与用户接触,甚至存储用户的敏感信息。虽然这可能仅用于改善用户体验,但当数据的安全性被打破时,这可能是灾难性的。如果你的游戏使用了任何敏感数据,包括个人或支付信息,请确保寻找合适的程序以最大限度地提高安全性。亚博88下载
Mahimker:
考虑到Prodigy的用户主要是儿童,安全、隐私和机密性是他们的首要任务。他们有一个专注于安全的内部人员和一个数据团队,确保在处理数据时遵循一致的监管实践。以目前的规模,它们拥有数百万儿童的信息,因此安全问题比以往任何时候都更令人担忧。
朗德:
考虑到Lucky VR主要是基于在线赌博和真实货币,他们使用PokerStars提供的工具来识别作弊行为,以确保没有人串通或其他任何形式的非法行为。由于财务与游戏结果密切相关,确保游戏的各个方面都合乎道德,所有财务信息都是安全的,这一点非常重要。
游戏开发的关键技能
不用说,编程技能对于软件开发的所有领域都是必要的,但是在你的初创公司开发电子游戏时,具体需要什么样的专业知识呢?
了解游戏主题显然是一个巨大的奖励。当你对中世纪一无所知时,你便很难创造出一款关于骑士的游戏。尝试着创造一款利用你拥有丰富经验的主题的游戏。你还应该全面了解电子游戏,特别是游戏的乐趣所在。尽可能多地体验与你想要创造的游戏类型相似的游戏,并从中找到能够吸引你再次回到游戏中的元素。
拥有创新和创造的头脑也绝对是有利的。在构思电子游戏时,你需要考虑机制、环境、美术风格和故事叙述等内容。
做适当的市场调查的能力可能是所有技能中最重要的。正如上文所述,你的游戏是为用户而设计的,应该围绕他们觉得有趣的内容。你要能够识别你的目标用户,与他们取得联系,了解他们的想法,为他们构建原型并提供反馈,让你所创造的游戏成为他们的游戏。
Mahimker:
Mahimker建议电子游戏开发者最重要的技能是能够回应你的用户。起初,他和他的联合创始人都是工科学生,在教育领域没有太多背景。他坐在教室里和学生一起测试Prodigy,获得了必要的专业知识。他们还熟悉了安大略省的数学标准,以便教师在成绩单上使用Prodigy的后端报告。游戏开发者应该尽可能地将游戏整合到用户生活中有用的应用中。
Senson:
在开发电子游戏时,Senson认为“拥有一个优秀的UI设计头脑”是一个关键的专业技能。他的客户通常设计的游戏UI不能很好地转换到手机上,这使得他们的想法很难变成现实。例如,他们设计的游戏按钮太小,用户在玩游戏时无法轻松按下。那些设计或概念化游戏的人需要清楚地了解自己所创造的游戏是什么感觉,这样他们才能站在用户的角度思考问题。
朗德:
开发一款虚拟现实游戏需要比其他游戏更多的现实物理和视觉知识,因为游戏的目标是模拟现实生活。因此,他们不需要有人来设计抽象的环境,而是需要有人将他们的真实物理理念转化为游戏逻辑。开发者还需要了解玩虚拟现实游戏的感觉,并拥有相关经验。特定于vr的考虑因素,如保持帧率低于90帧/秒,以避免用户生病,需要牢记在心。
有用的工具
除了开发游戏本身的平台之外,还有各种工具对开发电子游戏非常有用。
资产创造,包括图像、声音和音乐,在创造沉浸式游戏体验方面发挥着重要作用。资产库可以在互联网上找到,并连接到你的开发引擎,将它们直接整合到你的游戏中。Itch.io有一个伟大的免费图形收集而无畏是一个免费的音频来源。你甚至可以免费使用3D图形建模画三维!Wwise也是导入、混合和应用声音效果的首选平台。
动画图像显然是下一个关键步骤。脊柱是一种使用骨骼结构来动画2D字符的工具,而玛雅LT用于在3D中动画逼真的角色、道具和环境。
线框图工具是规划核心游戏机制(游戏邦注:如菜单、支付系统或社交媒体连接)的有效方法.这篇文章讨论几个可用于开发团队之间沟通的工具。
Mahimker:
Prodigy使用的一个有趣的工具是7鹅,一个客观和关键结果(OKR)框架。它用于公司、部门和员工确定和跟踪每个季度的目标。Prodigy将同事反馈作为优先事项,并通过每月一次的一对一会议来帮助员工实现他们在职业生涯中的目标。
Senson:
Senson在开发过程中的关键沟通工具是松弛,一个供开发团队分享想法、做决定、开会和集中文件的交流平台。
朗德:
朗德使用Trello,一个项目管理平台,用于规划未来的游戏环境和概念艺术。GitHub他是版本控制的首选工具吗Jira用于bug跟踪。有趣的是,他使用一个自动QA机器人来跟踪问题,并将发生的事情制作成视频。这节省了很多时间,因为他们过去必须手动进行QA。
更新游戏
和其他软件一样,电子游戏也需要经常更新。产品总是可以不断改进,并且应该在此基础上添加新功能以吸引用户回头客。游戏通常是在还不完善的时候发布的,因为在发布前几乎不可能找到所有漏洞,所以更新可以让你在遇到漏洞时通过修复漏洞来不断完善产品。版本控制,如中讨论的这篇文章,在跟踪对软件所做的更改方面发挥着重要作用。
Mahimker:
Mahimker相信在产品基础上不断发展的心态。随着时间的推移,你的价值主张变得越来越强,你就能够进入更大、更多样化的市场。
Senson:
特别是在他的手机游戏开发经验中,Senson建议电子游戏应该不断更新。我们很难预测操作系统或硬件将会发生什么变化,所以前瞻性的设计规划往往无法实现;他说,苹果尤其有一个习惯,那就是引入一些改变,让游戏停止运行。对于任何设备来说,遵循关于屏幕布局和系统功能的指导方针是尽可能避免这些问题的关键。随着技术的快速变化,电子游戏应该每年至少更新一次。
朗德:
Lucky VR尝试着继续创新并添加新功能去激励他们的用户不断回到游戏中。虽然扑克游戏没有太大变化,但他们通过制作季节性活动和内容包来保持产品的新鲜感。还引入了其他新主题,包括外太空。他们一直在努力思考新的游戏形式,找出传统扑克的娱乐之处,并将其应用到VR中。
持久性
总的来说,在电子游戏初创公司中不断克服逆境是很重要的。你面对的是数十亿美元的公司,他们拥有无尽的资源和多年的商业经验。亚搏体育客户端app下载建立一个用户社区需要时间。重要的是你要听取他们的反馈,并继续改进你的产品。即使你拥有创造自己所热爱的游戏所需的专业知识,你的用户的集体知识也一定会带给你意想不到的新理念!以下是我们的案例研究如何克服多样性的一些例子。
Mahimker:
当Prodigy刚开始开发时,他们的主要关注点是将游戏与生物识别传感器结合起来,以改善用户体验。第三方面部识别软件将识别你脸上的微表情,人工智能将根据用户的沉浸程度来调整游戏中的刺激。你瞧,似乎没有人想要这个功能。当游戏本身在早期表现良好时,家长和老师都反对在学生玩游戏时被监控。于是,Prodigy团队接受了这些反馈,放弃了这个功能。
Mahimker喜欢制作电子游戏的一个原因是,你可以犯错误。软件可以在出现错误、服务器崩溃或新更新不符合您的预期时进行修复。这就是它的美妙之处!
Senson:
在与非技术客户交流时,Senson经常发现很难与他们沟通他们想要什么,以及如何将其制作成一款用户友好的游戏。他说他们的指导通常是不可用的,他们并不真正理解如何制作适用于游戏开发框架的指导。这让参与其中的每个人都很沮丧。
因此,森森的公司和他们的客户找到了更好地沟通的方法。一种方法便是让项目经理熟悉游戏开发所涉及的组件;这样,他们就可以将客户的想法转化为可用的计划。他还试图告诉客户如何才能做得更好将他们的想法传达给开发者通过熟悉面向对象和用户界面设计的基础知识。
朗德:
在创建Lucky VR的头两年里,兰德一直在努力为这个项目筹集资金。许多投资者避免投资于赌博等恶习,除非他们之前已经在该领域取得过成功。有趣的是,他最后用打扑克赢来的钱自筹资金。
关键的外卖
- 使用原型作为一种方式,让用户试用你的产品,并在发布适合消费者的产品之前传播它
- c++是最常用的开发语言,而Unity是最受欢迎的专业游戏开发平台之一;然而,对于新开发者来说,有一些更简单的平台,不需要编码,但仍然可以制作出精美的游戏
- 让你的游戏与各种设备兼容可以帮助你获得更广泛的用户,但如果你不能独立编写每种设备的程序,就会导致你的游戏在某些设备上出现低质量的版本
- 敏捷方法正在成为游戏开发的标准,但一些小规模项目可以提前在纸上计划
- 收集用户反馈并采取行动非常重要,因为你的成功依赖于用户的乐趣和忠诚度
- 当你的游戏处理敏感数据时,确保你采取了正确的步骤来保护这些数据
- 在开发一款游戏时,你需要了解主题,了解如何制作一款好游戏,以及如何研究用户的需求
- 有很多有用的工具可以让交流、资产创建和线框图更容易
- 通过修复漏洞或添加新功能不断更新游戏能够吸引用户回访
- 作为电子游戏初创公司,你将面临许多逆境;从你的用户那里获得关于如何改进游戏的指导