微信号:infoqchina

介绍:有内容的技术社区媒体

花7年时间发布一款测试版游戏是种什么体验?

2018-08-06 08:29 Ben Porter
作者 | Ben Porter
译者 | 薛命灯
值得钦佩的独立开发者。

从辞掉上一份工作差不多有 7 时间年了。2011 年,我还是墨尔本一名新鲜出炉的研究生。当时我已经进入了而立之年,那时也是独立游戏的复兴时期。在学习合同结束时,我决定离开学术界,在游戏行业寻求发展。然后,我开始研究一款名为 Moonman 的游戏。几年之后,这款游戏更名为 MoonQuest,并在 Steam 和 itch.io 上发布。

那么,开发一款游戏怎么就用了 7 年的时间?以下是一些重要的提示和技巧,希望它们能够伴你度过一段愉快的时光。

构建自己的引擎

这可能是最重要的部分。如果你拥有一颗好奇的心,并想了解游戏每个部分的原理,那么做到这一步就很容易。你只需要打开代码编辑器,下载基本窗口层,比如 SFML(我们不是野人,现在不是纯手工制作的年代),然后开始编写资源管理器、事件系统、动画系统、物理系统(你最终会抛弃它并使用 Box2D 替代)、场景管理器、GUI 代码、序列化框架、构建工具链、实体组件系统和纹理管理器,等等。在这个阶段,你将拥有游戏的所有功能,但它们还不是游戏。

为了延长开发时间,可以考虑使用一门会在开发过程中引入主要版本更新的编程语言(如 C++ 11)。

坚持构建自己的引擎。当然,你也可以构建自己的工具,比如自定义精灵编辑器,因为现成的精灵编辑器都不能完全满足你的需求。

不清晰的游戏理念

在开发之前,对你正在开发的游戏类型一定不要有清楚的想法。这将延长引擎的开发时间和游戏的设计时间。

例如,假设你想要开发一款游戏,它的游戏场景是无限的,玩家可以一直在一个方向上行走,永远不会到达边缘。这需要强大的技术的支持。几年后,你意识到(从游戏设计的角度来看),不,你实际上并不需要一个无限的世界。于是,你丢弃了之前开发的所有数据结构和算法。那么花了 3 个月开发的那个用在无限网格上的流体系统呢?扔掉它!使用简单的流体单元阵列就可以了!

你的游戏理念并不存在于真空中,如果是,它可能会蒸发掉,因为它没有固定的形状。这对于我们来说是有利的,因为我们可以通过以下方式来延长开发时间:不断监控已经发布的同类游戏,并把自己的游戏改得尽可能不像它们。那些游戏有在描述中提到“沙箱”吗?如果有,那你就将无沙箱作为游戏开发的目标,这样肯定会让你的游戏在市场中脱颖而出。那些游戏都是可改装的吗?如果是,那么你就抛弃任何改装的想法,专注于提供更多独特的内容。最重要的是,要不断改变游戏的想法,跟上市场的变化节奏。

进行众筹

有一天,你发现你的钱用完了。你可以尽快发布游戏,但这违反了你的目标,所以或许你可以进行众筹?

首先预留 3 个月时间进行准备,你需要一个很棒的预告片,并花费大量时间来宣传你的活动。你得到的反馈意见将会非常棒,每个人都会挺你。如果众筹顺利,你现在就可以用这笔钱加快开发速度,并尽快发布游戏!但请等一等!花了 7 年时间开发出来的测试版,说什么也不能再把钱花在加快游戏开发速度上了,而是要开发出更好的游戏。

你可以通过提供像 T 恤这样的实物众筹奖励来累积额外的时间。这取决于你的完美主义的程度,因为你可能决定在当地生产这些 T 恤,这样你就可以进行更多的质量把控。所以,你绝对会这么做!

在博客上宣传游戏

像 TIGsource 这样的论坛是结交朋友、获得鼓励和游戏反馈的好去处。自己开发一款游戏可能是一项很孤单的工作,所以你可能会创建一个开发日志。这是消磨时间的好方法。一定要频繁地发表与你的游戏有关的深度文章,赢得最受欢迎开发日志的奖励(因为那些时间都不是花在游戏开发上),并最终成为最大且最受欢迎的开发日志。这绝对应该成为你的目标。

在游戏发布的前一天,在 Hacker News 上发布回顾性文章可以获得额外的时间调整点数。

自己完成所有的测试

每个产品和功能都需要进行测试,而且你要亲自上阵,在所有可能的条件下、所有可能的平台上进行测试。记住:如果你修改了一个地方,所有其他东西都必须重新测试,因为你的修改可能已经破坏了一些东西。

警告:众筹者和你的朋友可能会为你提供一些获得额外测试人员的可能性。我犯了这个错误,并缩短了我的开发时间,但你绝对不应该这样。

参与编外项目

随着岁月的流逝,日复一日地开发同一个项目难免会感到无聊。为了确保你可以在同一个项目上干得更久,你必须参与其他的编外项目。

现在可以使用无尽的游戏卡,你完全可以花几天时间参与编外游戏。比如一款名为 No Mario's Sky 的游戏?但要小心,你花三天开发出来的蹩脚游戏获得的关注有可能比商业版的正式游戏还要多。

游戏开发涉及到很多不同的学科,你一定要努力掌握它们。我首选的学习方式是参与线社区举办的比赛和活动。如果觉得这样太简单,可以尝试建立自己的社区。或许可以给社区取个名字叫作 Pixel Dailies,等它发展壮大之后就需要 2 位全职版主。我想你一定有空余的时间做这个!

写在最后

这些只是开发人员可以做的一些用于拖延项目的事情。其他的还包括举行非联盟赛、发布 iOS 游戏、开发无限的星球大战爬行生成器、创建 Twitter 机器人,以及……我想你知道我想说什么了……

英文原文

https://medium.com/@eigenbom/how-to-take-7-years-to-ship-a-beta-4fcfc2428d88

今日荐文

点击下方图片即可阅读

这门编程语言名叫 Rockstar




前网易游戏引擎架构师蔡能,结合自己二十余年的游戏领域实战经验,手把手带你梳理游戏开发流程,教你从零开始学习游戏开发。

「从 0 开始学游戏开发」专栏共 36 期,从游戏开发最核心知识讲起,配合一款经典游戏的实战练习,帮你可以顺利做出一款属于自己游戏。

扫描下方二维码,即可免费试读专栏


 
InfoQ 更多文章 他们发明了一门编程语言,名字叫:摇滚明星 Rockstar 苹果市值破万亿美元;日本单身程序员制作相亲网站,检索结果都是自己;谷歌或重返中国的报道不实;Kafka 2.0发布丨Q 独家丨对话AWS CTO Vogels博士:第一朵“Cloud”出现的故事 Java程序员必读的入门&进阶书单丨文末送书福利 京东架构师告诉你:如何快速成长为一名技术专家?
猜您喜欢 【南京站】CODING 技术小馆:数据淘金时代 Android自定义Lint实践 有哪些命令行的软件堪称神器?第 4 期技术微周刊出炉了 2017年12月Python网络爬虫实战案例研讨会圆满落幕 如何利用高德地图API 为你的APP应用添加环保数据功能