游戏邦在:
杂志专栏:
gamerboom.com订阅到鲜果订阅到抓虾google reader订阅到有道订阅到QQ邮箱订阅到帮看

开发者分享制作《SpaceChem》的经验教训

发布时间:2012-07-15 08:37:29 Tags:,,,

作者:Zach Barth

发行《The Codex of Alchemical Engineering》不久后,这是款关于建造能够创造和改变炼金化合物的机器的Flash游戏,我开始思考化学主题的续作。由于《Codex》已是简化版分子键合内容,扩充至化学元素多半会带来更多机制(例如原子之间的多种化学键)和谜题(不同化合物,从水之类的简单元素到苯之类的复杂元素)。尽管如此,但立即制作续集不是我的风格,所以我将此想法暂搁一旁,继续向前迈进。

约1年之后,我拜访了西雅图的油库公园,深受其被遗弃的化学处理管道的启发。

回想起化学主题的《Codex》续集,我忽然想到将“Codex”的低级操作同高级管道构建机制结合起来。于是《SpaceChem》的构思便诞生了。

游戏构思在随后6个月里获得逐步发展,造就一个包含boss战斗的宇宙恐怖故事。

我开始携手同事利用业余时间开发这款游戏,最终在《SpaceChem》发行前,团队成员扩充至7人。

the codex(from gamaustra)

the codex(from gamaustra)

表现突出之处

1. 我们制作开放式的谜题

虽然我们做出许多存有疑问的开发决策,但游戏的开放式谜题无疑是我们做出的最明智之举;没有这些元素,《SpaceChem》就不是《SpaceChem》!

《SpaceChem》的标准玩法“模式”是,给予玩家系列工具(指令和反应器),包含清晰终止条件的挑战(制作分子X、Y和Z),以及创造解决方案的空白区域。因此我们能够设计出各种不知要如何破解的谜题,确保各个挑战在逻辑上具有独特性,无法通过重复之前的解决方案进行破解。

测试完关卡后,我们重新进行排序,移除逻辑“复制品”,填充“缺口”,进而创造线性难度曲线。从某种程度上来看,这令谜题设计变得更加简单,因为这避开同时设计谜题及其解决方案所产生的争论不休难题。

以此方式制作谜题的一个有趣副作用是,它们最终变得更加开放,更像是工程师和设计师在现实生活中所遇到的难题。虽然有些玩家觉得这令人望而生畏,但其他玩家则觉得这令他们有所收获,能够在解决方案中找到其他游戏所没有的主人公感觉,迅速促使《SpaceChem》跻身“最受欢迎游戏”之列。

gasworks(from gamasutra)

gasworks(from gamasutra)

2. 我们降低风险

虽然这不像全职游戏开发那般诱人,但参与《SpaceChem》的多数人员都在身兼游戏领域之外的全职工作之余,利用业余时间进行游戏开发。这让我们能够完全基于利润分成获得报酬。

通过同国际外包商合作,填补我们的人才空缺,运用手边的免费工具和软件,发行《SpaceChem》的非时间投资变得微乎其微,且风险很低。虽然这显然不适合“谨慎”的游戏开发者,但它让我们能够满怀激情地踏入游戏领域,无需担心遭遇失败!

3. 我们选择杰出的平台——PC!

对《SpaceChem》这类作品而言,PC是最佳平台。相比苹果App Store 和Xbox Live Indie Games之类的类似“开放式”平台,PC的准入门槛较低。几乎所有在电脑上读到你游戏的用户都能够通过若干点击购买和体验游戏。利用这点,我们得以分若干阶段呈现《SpaceChem》:

a. 当《SpaceChem》发行时,玩家只能够通过Zachtronics Industries(游戏邦注:专为销售《SpaceChem》而创建的网站)商店购得。我们选择创建自己的商店,因为这让我们能够瞄准3个PC平台(Windows、Mac和Linux)出售内容,因为它让我们能够获得100%的收益(扣除PayPal费用),因为我们无法入驻Steam。尽管我们的用户基础比其他在线商店小很多,但通过《Codex》和《Infiniminer》等先前作品所建立起来的Zachtronics Industries用户基础很快接受《SpaceChem》,给予我们强有力的开始。

b. 在游戏尚未发行前,PC游戏网站Rock Paper Shotgun在2011 IGF的入围名单中发现《SpaceChem》,撰写了一篇推崇游戏的文章。游戏发行后,该网站发表了一篇评论和访谈内容,显著提高游戏的关注度,促使游戏获得其他游戏资讯网站的评论及获得采访机会。这里的经验是:作为营销预算甚微的独立游戏开发者,游戏新闻工作者是你的最佳朋友!

c. 有关《SpaceChem》如何杰出的消息传开后,我们得以重新接洽Valve,商讨Steam平台的推广事宜。通过投入些许工作,将《SpaceChem》同Steam平台进行整合,融入成就和好友排行榜元素,游戏顺利于Steam发行,让我们得以利用他们庞大的用户基础,惊人的季度销售成绩,以及轻松的更新过程。虽然过去1年,我们已于许多推广渠道发行《SpaceChem》,但没有平台像Steam如此成功。

d. 2011年底,我们同Humble Bundle展开合作,将《SpaceChem》纳入Humble Frozen Synapse Bundle之中,这由于我们瞄准Windows、Mac和Linux而具有可行性。

4. 我们采用C#语言

在《SpaceChem》中采用C#语言让我们在各开发阶段都取得突出表现,尤其是当我们做出后发行决策,将游戏移植至全新平台——iPad。

我们的所有开发者都非常精通C#,这使得这一语言成为我们显而易见的选择。杰出工具支持和快速编译时间显著降低尝试新构思所需耗费的时间。

这些功能让我作为一位设计师,能够随意浏览和调整游戏的所有元素,无需通过开发者的协助。我们的语言决策同时还意味着,我们能够基于相同语言编写所有内容(游戏邦注:游戏引擎、游戏脚本语言和工具)。

初期阶段,我们担心采用托管语言会带来运作问题,但这在实际操作中并不成问题。

采用C#语言也让我们能够将《SpaceChem》移植至所有平台。起初,我们计划通过XNA同时瞄准Windows和Xbox。当我们随后决定锁定Mac OS X和Linux平台,而非Xbox时,我们转投OpenGL和SDL,进而能够轻松瞄准3个平台开发内容,在非Windows平台中采用Mono。

当我们随后决定尝试将内容移植至iPad时,我们得以利用MonoTouch,而且只需重新编写游戏针对具体平台的元素。多数移植工作都集中在更新UI,以配合触控界面,而非传统的鼠标和键盘。

5. 我们在“社区功能”上具有创新性

两个之前基于Flash的开放式|“编程游戏”《Codex》和《KOHCTPYKTOP》都引入允许玩家以文本块保存和加载解决方案的功能。虽然这带来糟糕的保存/加载体验,但它带来出乎意料的结果:让玩家能够在Kongregate和Zachtronics Industries网站中展开评论,进而创造出最高效的解决方案(游戏邦注:以保存/加载文本作为根据)。由于《SpaceChem》将成为类似的开放式游戏,我们初期就清楚我们需要提供方式让玩家评估自己的解决方案,亲自参与其中。

《SpaceChem》的柱状图用于取代总体排行榜。它们解决两个常见问题:

a. 让你的名字出现在排行榜顶部是奇妙的欺骗刺激手段。

b. 对于多数玩家来说,总体排行榜积极向他们传递的唯一信息是,他们糟透了。

和总体排行榜不同,《SpaceChem》的柱状图让你快速、客观查看你的解决方案和整体形势的比较情况。我们发现,多数玩家都知晓他们的解决方案糟透了,但在查看柱状图后,他们很快制定个人挑战,重新体验谜题,以提高分数。由于我们引入3种敌对参数(游戏邦注:循环数量、符号数量和反应器数量),基于某种标准进行优化的玩家通常在其他情形中都表现糟糕,以低分填充图表,这令超越单个类型中的平均值变得更加轻而易举。

在《SpaceChem》的所有功能中,分数柱状图是最热门的内容之一,也是我最喜欢的内容之一。鉴于这一功能的执行并不比排行榜复杂,我们没有理由不在游戏或社区平台中植入这一要素——我们瞄准你,Steam!

graphs(from gamasutra)

graphs(from gamasutra)

为了让玩家能够亲自参与,我设计这样的功能:在此有效解决方案能够导入我们的网站,作为系列包含嵌入分数信息的可浏览截图,这些内容能够轻松移植至论坛、Twitter或互联网的其他位置。除让玩家参与外,它还融入游戏广告,协助促进“潜在病毒式传播”。

但在落实这一功能的过程中,我们发现,我们无法追踪《SpaceChem》的截图。我们转投记录视频,将YouTube当作“托管解决方案”,这恰巧包含社区功能。

当我们开始落实游戏视频录像功能时,我们发现基于C#语言落实跨平台视频录像非常困难,无论是在技术,还是授权方面。我们最终编写出能够让我们将原始RGB信息(通过帧缓冲器抓取)植入Ogg Theora视频文件中的小型本地工具(针对各平台所编辑的)。这些视频文件随后或保存在玩家的桌面,或通过玩家认证上传至YouTube。

失误之处

1. 我们错误评估用户

在《SpaceChem》之前,我已通过之前的“编程”游戏建立小规模但稳固的粉丝基础。在Kongregate平台,《Codex》有超过40万的体验次数;将其中一定数量的用户转变成《SpaceChem》玩家,填补我们的开发成本,同时获取些许收益并非难事,因为游戏定价20美元。

所以当我们开始思考这款游戏的目标用户及适合内容时,我们将其假定成想要更持久、更精致的“编程”谜题游戏的标准Zachtronics用户。应注意的是,这是和《KOHCTPYKTOP》粉丝相同的用户群体,这是款围绕集成电路设计和布局的苏联主题谜题游戏。

快进到2011年3月:发行3个月后,《SpaceChem》顺利入驻Steam,覆盖更广泛的用户群体,我们开始期望实现前所未有的收益目标,只要我们能够说服公众他们会喜欢这样一款化学主题的游戏。

我们做出的首个错误假设是,认为所有人都喜欢自然科学。虽然因《Portal》之类的游戏,互联网似乎颇喜欢“Science!”,但看起来像是真实化学内容的游戏会让多数玩家回想起化学课堂。

我在和《SpaceChem》有关的话题中反复听到“但我不擅长化学”之类的话语。某位游戏设计同事反复声称,如果我们将游戏命做“SpaceGems”,内容围绕炼金术主题,我们的销量能够提高两倍。虽然我喜欢围绕现实知识制作游戏,但我不确定自己是否同意他的观点。

我们做出的第二个错误假设是,认为谜题游戏需要非常复杂、冗长,才算是优秀内容。虽然挑战元素对于制作谜题游戏来说必不可少,但源自《SpaceChem》机制的复杂内容令人感到迷惑,即便这令谜题变得如此开放。内在复杂性同谜题的丰富性(游戏邦注:“完成”游戏需要解决所有这些谜题)的结合赋予《SpaceChem》沉重的40小时难度曲线,其中只有2%的玩家能够到达终点。

2. 我们搞砸参数

在我们的首次私下测试中,我们的参数抓取机制未能抓取任何数据,现在回过头看,这代表我们在《SpaceChem》的主要数据收集策略。我们沉浸于修复后发行漏洞,几周后我们才发现,我们的演示样本没有上传参数数据。

随后我们发现,由于我们只在游戏开始上传参数,我们没有从只体验一次的用户身上收集到任何信息,这多半包含许多困在指南内容,然后放弃体验游戏的用户群体。待到我们解决这一问题后,我们接着发现若干显而易见的严重问题,例如《SpaceChem》难度很高。

值得庆幸的是,我最终制作出若干清晰的信息图表。

completion_rate(from gamasutra)

completion_rate(from gamasutra)

average(from gamasutra)

average(from gamasutra)

3. 游戏过于冗长

制作游戏时,尽量提供充足内容非常重要,是吧?

《SpaceChem》和我之前的作品存在的最大不同之处是,这是款商业作品。第二大不同在于内容的数量上——50个谜题+完整故事,而非以往的5-15个无故事元素的谜题。虽然游戏早期的若干谜题能够在几分钟内解决,但许多谜题都需要耗费数小时。有些谜题,例如游戏最终的boss战斗通常需要玩家耗费几天时间破解——前提是他们有步入这一阶段。

在谜题游戏中植入复杂谜题没有什么问题;玩家的能力、兴趣和耐性天差地别,所以复杂谜题能够让优秀玩家始终面临挑战,给予其他玩家他们所期望的内容。但当故事进展受到玩法进展阻碍时,游戏过于复杂会阻碍最佳玩家意以外的玩家完成故事,以及伴随其中的满足感和趣味性。待到我们意识到这点时,为时已晚。由于我们的故事和谜题紧密相连,将它们分离以让故事尽早结束需要重新改造整个方案。

《SpaceChem》的谜题分成两类:活动谜题和用户生成的“ResearchNet”谜题。虽然有许多玩家将自己在活动中鲜有进展的情况描述成“未完成游戏”,但鲜有玩家会因无法完成各ResearchNet谜题而觉得自己未完成内容。这似乎说明,玩家会自然将故事结尾和“完成”节点挂钩。所以若你打算制作进展困难的故事推动型谜题游戏,那么你应该将最复杂的内容放在故事结尾!

在决定于何处结束演示内容时,我们遇到相同困境。由于《SpaceChem》和其他游戏截然不同,确保玩家在购买内容前充分享受于游戏当中合乎情理。《SpaceChem》谜题分布在不同星球(游戏邦注:各星球分别包含6个谜题),前两个星球主要包含指南谜题。

在第三个星球结束演示内容能够让玩家清楚知晓无指南内容的谜题的难度所在,展示游戏的boss战斗,首个boss战斗直到第三个星球结尾才出现。遗憾的是,这令演示内容持续约4小时之久,这不利于促进冲动购买。

很多人都表示,制作简短的演示内容能够提高游戏销量。即便这一情况属实,我也不会因我们的决策而感到后悔。若玩家在晋升至第三个星球后发现游戏并非瞄准,他们将非常沮丧(如果他们需要通过掏钱意识到这点)。同样,通过第三个星球,想要获得更多内容的玩家会非常喜欢剩余的内容。我们的业务旨在让我们的用户感到高兴——我们怎么会违背这点?

4. 我们制作的游戏太难“理解”

很少有游戏像《SpaceChem》这样如此难解释,尤其是向那些只熟悉更“主流”作品的玩家。更糟糕的是,游戏的表面内容(模拟化学元素,通常被错认为是真正的化学内容)完全掩饰游戏Portal风格的迷人谜题破解内容。将情况进一步复杂化的是,我们呈现的模拟化学缺乏吸引力,无法吸引更多好奇的浏览者。最终结果是,造就难以进行探索、尝试及购买的游戏作品。

所幸《SpaceChem》相当富有沉浸性。和多数沉浸性内容一样,你的好友会将你纳入其中。部分由于我们规划的“社区功能”,部分由于高手玩家通常会这么做。《SpaceChem》的早期玩家有花时间告知好友进行尝试。

虽然我们很怀疑是否有人能够巧妙解释《SpaceChem》,让内容听起来非常有趣,但制作能够促使粉丝说服好友进行尝试的作品将让我们走得更远。

5. 未能制作合理的游戏指南

我对于制作复杂游戏的热爱程度远超越我合理解释这些内容的能力。在此《SpaceChem》也毫不例外。

当我们发行《SpaceChem》时,游戏的指南内容由12个谜题构成,包含基本要素——输入内容、输出内容、联系纽带、脱粘状态、反应器和管道。12个谜题中有2个是“游戏攻略”,这包含带来解决方案的明确指示以及逐步解释各组件的用途。此外,整个游戏还遍布13个“信息页面”,解释玩家在高级关卡遇到的新概念。

玩家在体验完指南内容后的反应各不相同,从立即理解到完全不理解(我认为这在现代游戏中鲜少出现,鉴于游戏设计变成更杰出及玩家的游戏“理解水平”有所提高实况)。在我看来,可能原因如下:

我们未能清晰呈现谜题的目标。《SpaceChem》谜题的主要目标是将“输入内容”转化成具体要求的“输出内容”。对于置身软件领域的人士而言,这是显而易见的举措,但对于普通用户而言,这就不是已知项,尤其是在模拟化学背景下。

虽然首个谜题清楚呈现输入内容和输出内容,但多数玩家在遵循指示时并没有意识到具体操作的目的所在。我们通过引入锁定《SpaceChem》高级目标(游戏邦注:即将输入内容转变成输出内容)的视频指南解决这一问题,在玩家遇到首个攻略时给予他们些许背景知识。

我们无法制作出以简单内容作为开端的游戏作品。要在《SpaceChem》中创建关卡,制作包含最低数量如下元素的“循环机制”非常必要:输入、抓取、移动、降落和输出。由于多数玩家都不清楚他们的目标所在,因此在初期阶段植入至少5种不同任务对他们来说有些棘手。这个问题可以通过改变设计空间,植入小规模的“最底可能解决方案”进行解决,虽然这一选择并不适合作品已发行的情况。

我们过快呈现大量细节内容。《SpaceChem》包含众多细节元素和规则,例如,能够移动的元素,能够预测的内容,解决谜题的必要元素等。虽然这些规则的互动让《SpaceChem》变得开放且出乎意料,但这同时也令玩家感到困惑,尤其是在玩家误解他们所看到的内容的情况下。

关于此的典型例子是“waldos”,这是《SpaceChem》的可编程操作器。反应器的默认配置包含顶部的红色waldo和底部的蓝色waldo;由于这是默认设置,因此多数玩家认为,红色waldo只能够用于顶部,蓝色waldo只能够用于底部。我们调整指南谜题,引入相反示例缓解这一问题,虽然这一问题尚未得到根本解决。

我们在解决内容上运用过多文本。在很多情况下,我们不得不通过文本解释游戏规则及内容的细微差异。现在回过头看,这显然清楚说明,我们需要调整游戏,停止极力解释内容。

molecules(from gamasutra)

molecules(from gamasutra)

总结

综上所述,《SpaceChem》的开发和发行工作比团队所有成员的预期要好很多。我原本只是想要抵消开发成本,从中获得些许收益,但最终我放弃自己的工作,开始成立工作室,着手新作品。我们的新作品将比《SpaceChem》更加通俗易懂。

数据信息

* 开发者: Zachtronics Industries

* 发行商: Zachtronics Industries

* 发行日期: 2011年1月1日

* 平台: PC (Windows/Mac/Linux), iPad, OnLive

* 开发人员数量: 7人

* 开发时间: 1 年

* 预算: 4000美元及许多业余时间

* 代码行数: 17000 (游戏) + 5000 (实用程序)

* 开发工具: Visual Studio (C#), Subversion, MonoTouch

* 创造的模拟元素: 4

本文为游戏邦/gamerboom.com编译,拒绝任何不保留版权的转载,如需转载请联系:游戏邦

Postmortem: Zachtronics Industries’ SpaceChem

by Zach Barth

[Zach Barth, developer of the cult indie puzzle hit SpaceChem explains what went into creating such a complex, nuanced game -- while still working a day job -- and also what held back the game from finding the audience it might otherwise have found.]

Shortly after releasing The Codex of Alchemical Engineering, a Flash game about building machines that create and transform alchemical compounds, I started thinking about a chemistry-themed sequel. Since Codex was already a simplified model of molecular bonding, expanding into chemistry proper would provide more mechanics (such as multiple bonds between atoms) and puzzles (different compounds, from simple ones like water to more complicated ones like benzene). Despite this, making immediate sequels is not in my nature, so I set the idea aside and moved on.

About a year later I visited Gas Works Park in Seattle and was inspired by its derelict chemical processing pipeline.

Thinking back to the idea for a chemistry-inspired Codex sequel, it occurred to me to combine the low-level manipulations of the Codex with a high-level pipeline construction mechanic. The idea for SpaceChem was born!

The idea evolved over the next six months, picking up a cosmic horror story with boss battles in the process.

I started developing the game in my spare time with a coworker from my day job, eventually growing the team to seven people before shipping SpaceChem.

What Went Right

1. We Created Open-Ended Puzzles

Although we made a lot of questionable development decisions, the game’s open-ended puzzles are unquestionably the biggest thing we did right; without them, SpaceChem would not be SpaceChem!

The standard gameplay “formula” for SpaceChem is to give the player a set of tools (instructions and reactors), a challenge with a clear end condition (create molecules X, Y, and Z), and an empty area in which to create a solution. Because of this, we were able to design almost all of the puzzles without knowing how they might be solved, focusing instead on making sure that each challenge was logically unique and could not be solved by repeating a previous solution.

After playtesting the levels, we reordered them, removed logical “duplicates”, and filled “gaps” to create a fairly linear (albeit steep) difficulty curve. In some ways this makes puzzle design easier, as it avoids the chicken-and-egg problems that arise when designing a puzzle and its solution simultaneously.

An exciting side-effect of creating puzzles this way is that they end up being more open-ended and start to resemble the kind of problems that engineers and designers face in real life. Although some players find this intimidating, others find it intensely rewarding and discover a sense of ownership in their solutions not found in other games, quickly propelling SpaceChem into “favorite game” territory.

2. We Kept Our Risks Low

Although it’s not as sexy as full-time independent game development, most of the people who worked on SpaceChem did so in their spare time while holding full-time jobs outside of the games industry. This allowed us to rely almost entirely on profit sharing for compensation.

By working with international contractors to fill our talent gaps and using free tools and software wherever possible, the non-time investments to bring SpaceChem to market were small and low-risk. Although this clearly wouldn’t work for “serious” game developers, it allowed us to break into the games industry with a good deal of momentum and no fear of failure!

3. We Picked a Great Platform — PC!

The PC was the best possible platform for a game like SpaceChem. The barrier to entry is extremely low compared to similarly “open” platforms like the Apple App Store and Xbox Live Indie Games. Almost every person who reads about your game on a computer is capable of buying and playing the game within a few clicks. Leveraging this, we were able to roll out SpaceChem in a few phases:

a. When SpaceChem launched, it was only available for purchase on the Zachtronics Industries store, a website created solely for the purpose of selling SpaceChem. We chose to build our own store because it let us sell for all three PC platforms (Windows, Mac, and Linux), because it let us keep 100 percent of the revenue (minus PayPal fees), and because we were unable to get on Steam. Despite the fact that our customer base was much smaller than other online stores, the Zachtronics Industries fan base, built on previous free games like the Codex and Infiniminer, quickly embraced SpaceChem and set us off to a strong start.

b. Before the game had even been released, PC game website Rock, Paper, Shotgun found SpaceChem in the 2011 IGF entry list and wrote a flattering post about the game. After launch it posted a review and an interview, drawing additional and much-needed attention to the game, helping to secure additional posts and interviews on other gaming news sites. The lesson here: as an independent game developer with little to no marketing budget, games journalists are your best friends!

c. Shortly after the word got out about how awesome SpaceChem was, we were able to reconnect with Valve about distribution on Steam. After a bit of work to integrate with the Steam platform for achievements and friend leaderboards, SpaceChem was launched on Steam, giving us access to their tremendous audience, epic seasonal sales, and painless update process. Although we’ve launched SpaceChem on many distribution channels in the past year, none have been as successful for us as Steam.

d. Toward the end of 2011, we partnered with the Humble Bundle to include SpaceChem in the Humble Frozen Synapse Bundle, something that was only possible because of our choice to target Windows, Mac, and Linux.

4. We Used C#

Using C# in SpaceChem paid off in every phase of the development process, especially when we made the post-release decision to port to a completely new platform — the iPad.

All of our developers (as well as myself) were proficient in C#, which made it an obvious choice. The excellent tool support and fast compilation times greatly reduced the time it took to try new ideas.

These same features made it easy for me, as a designer, to casually browse and tweak almost anything in the game without a developer’s assistance. Our choice of language also meant that we were able write everything — the game engine, in-game scripting, and tools — in the same language.

Early on, we were concerned that using a managed language could lead to performance problems, but it was not an issue in practice.

Using C# also gave the option of porting SpaceChem to almost any platform. Initially, we planned to use XNA to target both Windows and Xbox. When we later decided to target Mac OS X and Linux instead of Xbox, we switched to OpenGL and SDL and were able to easily develop for all three of those platforms, using Mono on the non-Windows platforms.

When we later decided to attempt a port to the iPad, we were able to leverage MonoTouch and only had to rewrite platform-specific aspects of the game. Most of the porting effort was in updating the UI to work with a touch interface instead of a mouse and keyboard.

5. We Were Innovative With Our “Community Features”

Two of my previous Flash-based open-ended “engineering games”, Codex and KOHCTPYKTOP, included a feature allowing players to save and load their solutions as blocks of text. Although it made for a terrible save/load experience, it had the unintended consequence of allowing players to compete in the comments on Kongregate and the Zachtronics Industries website to build the most efficient solutions, using the save/load text as proof. Since SpaceChem was going to be a similarly open-ended game, we knew early on that we needed ways for players to evaluate their solutions and compete in private.

SpaceChem’s histograms were developed as a replacement for global leaderboards. They solve two common problems:

a. Getting your name at the top of the leaderboards is a fantastic incentive for cheating.

b. For most players, the only thing a global leaderboard manages to tell you is that you suck (and not even by how much).

Unlike global leaderboards, SpaceChem’s histograms allow you to quickly and impersonally see how your solution stacks up against the aggregate. We have found that most players discover that their solution is terrible, but quickly formulate a personal challenge after looking at the histogram and replay the puzzle to improve their score. Because we include three antagonistic metrics (number of cycles, number of symbols, and number of reactors), players optimizing for one criterion often do poorly in the others, padding the graphs with low scores that make it easier to beat the average in a single category.

Of all the features in SpaceChem, the score histograms are probably one of the most popular, and one of my personal favorites. Considering that they’re not much more difficult than a leaderboard to implement, there’s no reason not to include them in your game and/or community platform — we’re looking at you, Steam!

To enable players to compete in private, we designed a feature where a valid solution could be exported to our website as a set of navigable screenshots with baked-in score information, which could then be easily posted to a forum, Twitter, or anywhere else on the internet. In addition to allowing players to compete, it would include advertising for the game, helping to increase the “viral potential”.

However, while implementing this feature we discovered that SpaceChem screenshots were absolutely impossible to follow. We switched to recording videos and leveraged YouTube as a “hosting solution” that happened to have built-in community features.

When we started implementing the in-game video recording features, we learned just how hard it is to perform cross-platform video recording in C#, both from technical and licensing standpoints. We ended up writing a small, native tool (compiled for each platform) that allowed us to stream raw RGB information (captured using OpenGL framebuffers) into Ogg Theora video files. These video files are then either saved to the user’s desktop or uploaded to YouTube with credentials provided by the player.

What Went Wrong

1. We Misjudged Our Audience

Prior to SpaceChem, I had already established a small but strong fan-base with my previous “engineering” games. On Kongregate, Codex had over 400,000 plays; it didn’t seem like a stretch to convert enough of them into SpaceChem customers to cover our costs of development and make a little money, given that the game launched at $20.

So, when we started thinking about who our audience was for the game and what would be appropriate, we assumed the standard Zachtronics audience, who seemingly wanted a longer, more polished “engineering” puzzle game. It should be noted that this is the same audience that enjoyed KOHCTPYKTOP, a Soviet-themed puzzle game about integrated circuit design and layout.

Fast forward to March 2011: three months after release, SpaceChem was available on Steam to a much larger audience and we were looking at the possibility of making far more money that we had ever imagined, if only we could convince the general public that they wanted to play a game that very much appeared to be about chemistry.

The first incorrect assumption we made was thinking that everyone likes science. Although the internet may love “Science!” thanks to games like Portal, games that look like actual chemistry remind most people of chemistry class.

The number of times I’ve read and heard the words “but I’m not good at chemistry” in connection with SpaceChem is staggering. A particular game design colleague has asserted many times that had we called the game “SpaceGems” and made it about alchemy, we would have sold twice as many copies. Although I like building games around real-life knowledge, I’m not sure if I disagree with his assessment.

The second incorrect assumption we made was thinking that puzzle games need to be difficult and long to be good. Although challenge is essential to making puzzle games “work”, the difficulty that emerges from the mechanics of SpaceChem can be bewildering, even if it’s what makes the puzzles feel so open-ended. Combining this intrinsic difficulty with an abundance of puzzles that must be beaten to “complete” the game gives SpaceChem an oppressive 40+ hour difficulty curve that only 2 percent of players reach the end of.

2. We Flubbed Our Metrics

In our first private beta playtest, our metrics capturing system failed to capture any data, an event that in hindsight describes much of our statistics-gathering strategy for SpaceChem. Preoccupied with fixing post-launch bugs, it took us weeks to realize that our demo couldn’t upload metrics data.

Later we discovered that, because we only uploaded metrics at the start of the game, we never captured any information from single-launch customers, which likely included many players who got stuck in a tutorial and then never bothered to try the game again. By the time we got things straightened out, we only managed to learn the magnitude of obvious things, such as the fact that SpaceChem is stupidly difficult.

On the plus side, I got to make some neat infographics!

3. We Made the Game Too Long

When making a game, it’s important to provide as much content as possible — right?

The biggest difference between SpaceChem and my previous games is that it was a commercial endeavor. The second biggest difference was the amount of content — 50 puzzles, plus a full story, instead of the five to 15 story-free puzzles I would usually aim for. Although some of the earlier puzzles in the game can be solved in minutes, many of the puzzles take hours. Some, such as the game’s final boss battle, routinely take players days to solve — if they even get that far.

There’s nothing wrong with having difficult puzzles in a puzzle game; the capabilities, interest, and patience of your players will always span a huge range, so difficult puzzles can keep the best players challenged and give everyone else something to aspire to. However, when progression through a story is blocked by progression through the gameplay, making the game too difficult denies all but your best players completion of the story and the satisfaction and enjoyment that goes with it. By the time we realized this, it was too late. Since our story and our puzzles were tightly coupled, separating them so that the story ended earlier would have required reworking the entire campaign.

The puzzles available in SpaceChem fall into two categories: campaign puzzles and user-created “ResearchNet” puzzles. Although I’ve heard many players describe their lack of progress in the campaign as “not finishing the game”, I’ve never heard anyone claim that, by not beating every single ResearchNet puzzle, they felt as if they had unfinished business. This seems to indicate that players naturally tag the end of the story as the “completion” point. So, if you’re going to make a story-driven puzzle game that gets progressively harder, you really ought to put the hardest content after the end of the story!

We ran into a similar dilemma when deciding where to end the demo. Since SpaceChem is so unlike other games, it seemed fair to make sure that players got a good taste of the game before being forced to make the purchase. The puzzles in SpaceChem are divided into planets (about six puzzles each), with the first two planets consisting entirely of tutorial puzzles.

Ending the demo on the third planet had the benefit of giving players a good feel for how difficult the non-tutorial puzzles were and demonstrated the game’s boss battles, the first of which did not show up until the end of the third planet. Unfortunately, it also made the demo about four hours long, which isn’t good for encouraging impulse buys.

I’ve heard claims from various sources (particularly in the mobile space) that making your demo shorter is always better for sales. Even if that’s true, I don’t entirely regret our decision. Any player who realized the game was not for them when they reached the third planet would have been strongly disappointed if they had to buy the game to learn this. Likewise, any player who made it past the third planet and wanted more would be likely to love the rest of the game. Our business exists to make our customers happy — why would we act against that?

4. We Made a Game That Was Too Hard to “Get”

There aren’t many games like SpaceChem, which makes it spectacularly hard to explain, especially to people who are only familiar with more “mainstream” titles. To make matters worse, the surface appearance of the game — fake chemistry, often mistaken for real chemistry — completely belies the game’s addictive Portal-like problem solving. To complicate things further, our presentation of fake chemistry lacks the appeal (i.e. sexy scientists) to draw curious viewers in! The end result is a game that is nearly impossible to discover, try, and buy.

Fortunately for us, SpaceChem is extremely addictive! And, as is the case with most addictive substances, it is the responsibility of your questionable friends to get you hooked. Partially because of our planned “community features” and partially because it’s just what great fans do, SpaceChem’s early adopters took the time to tell their friends that they had to try it.

Although I doubt anyone was able to explain SpaceChem and make it sound like fun (“You went to university for computer science, right? Well, I have the game for you!”), making a game that our fans demanded their friends try got us pretty far.

5. We Never Got the Tutorial Right

Historically, my love for making complicated games has outpaced my ability to explain them properly. SpaceChem is no exception to this trend.

When we launched, the tutorial for SpaceChem consisted of 12 puzzles that covered the basics — inputs, outputs, bonding, unbonding, reactors, and pipelines. Two of the 12 puzzles were “walkthroughs”, which included explicit instructions for building a solution and explained, step by step, what each piece was responsible for. Additionally, there are also 13 “info screens” spread throughout the entire game explaining new, high-level concepts (such as atoms + bonds = molecules, and what to do on defense missions) as they are encountered.

The responses of players who played through the tutorials ranged from immediate understanding to complete incomprehension (something that I think is actually quite uncommon for modern games, given the combination of better design practices and better “game literacy” among players). Some of the reasons I suspect for this are:

We failed to clearly show the objective of a puzzle. The primary goal of a SpaceChem puzzle is to take “inputs” and convert them into the specified required “outputs”. For anyone in the software industry this is an obvious endeavor, but for the general population it’s not a given, especially in the context of fake chemistry.

Although the first puzzle (a “walkthrough”) clearly demonstrated inputs and outputs, most players follow the instructions without recognizing the purpose of what they’re doing. We partially resolved this by including a video tutorial that focuses on the high-level goal of SpaceChem — transforming inputs to outputs — giving the player some context when they reach the first walkthrough.

We failed to make the game start simply enough. To build a level in SpaceChem, it’s necessary to build an entire “loop” with the minimum following components: input, grab, arrows, drop, and output. Considering most players barely understood their goal, forcing a minimum of five different tasks on them from the beginning is overwhelming. This problem could have been fixed by changing the design space to have a smaller “minimum possible solution”, although it wasn’t much of an option post-release.

We exposed too many details too quickly. SpaceChem is filled with lots of details and rules, such as what can be moved, what can be predicted, and what is required to solve a puzzle. Although the interaction of these rules makes SpaceChem open-ended and emergent, it also makes it confusing, especially when players misinterpret what they see.

A common example of this concerns “waldos”, SpaceChem’s programmable manipulators. The default configuration for a reactor consists of a red waldo at the top and a blue waldo at the bottom; because this is the default setup, many players assume that the red waldo can only be used on the top and the blue waldo can only be used on the bottom. We mitigated this and similar cases by tweaking the tutorial puzzles to include counter-examples, although the problem is by no means fixed.

We used too much text to explain things. There were many situations where we were forced to use text to explain rules and nuances of the game. In retrospect, this is a clear sign that we needed to change the game, not explain it more forcefully.

Conclusion

All things considered, the development and release of SpaceChem went much better than anyone on the team anticipated. I had originally hoped to cover our costs and make a little money, but ended up leaving my job and starting a game studio to work on new titles. New titles, I might add, that are hopefully more accessible than SpaceChem!

Data Box

* Developer: Zachtronics Industries

* Publisher: Zachtronics Industries

* Release Date: January 1, 2011

* Platforms: PC (Windows/Mac/Linux), iPad, OnLive

* Number of Developers: 7

* Length of Development: 1 year

* Budget: $4,000 and lots of free time

* Lines of Code: 17k (game) + 5k (utility)

* Development Tools: Visual Studio (C#), Subversion, MonoTouch

* Fake Elements Invented: 4(Source:gamasutra


上一篇:

下一篇: