2048,成功和我

jopen 10年前

        英文原文: 2048, success and me

        过去的几周对我而言是一次狂野之旅。在 3 月份,我为了娱乐开发了一款名叫2048的游戏,在 GitHub 上作为开源软件发布了。在接下来几周里,它出乎意料地成为世界级的成功,它已经被 2 千 3 百万用户玩过了。

        这段时间已经成为我生活当中最令人激动的一部分,也是压力最大的。知道数百万人在玩,且享受你开发的东西是一种非常棒的感受。对于很多人(包括 我)来说,它给了你继续创造新发明的动力。同时,当你在世界出名时,你不得不面对一整套新的挑战。你得到的关注和人们开始期待的东西会变得巨大,如果你从 来不必处理它们的话。

        本文,我将分享这种体验的情况,以及在个人和专业层次上,我是如何处理的。我也要解释引导我改变去开发这个游戏移动版的历程。

        真的很长,不过我希望本文能提供一些有意义的观点,希望对可能面对相似问题的人有所帮助。

        如何开始的

        我在一个周末开发 2048,纯为娱乐。我痴迷于两款其它游戏,叫1024!2048。我都爱玩,我想创造我自己的版本,有不同的视觉样式和更快速的动画,只是为了看看我能否做到。当时,我不知道 Threes,所有其它游戏(包括 2048)都起源于它。

        Asher VollmerGreg Wohlwend,它的发明者,已经在里面倾注了大量时间和努力。他们最近就他们游戏体验克隆版的流行程度表达了他们的沮丧。我理解他们的感受,我对他们投入到开发 Threes 中的大量工作和热爱表示巨大的感激。2048 感激它的存在。

        在开发 2048 时,我决定,我应当只是放在 GitHub 上。既然它与其他人的作品有着高度相似,我也想把他开源出来。

        我把它发布在了 GitHub Pages 上,也发布到了 Designer News

        爆炸

        第二天,我收到了朋友发来的消息,他告诉我去看看 Hacker News 首页。有人在那里发布了 2048,它排到了第一名。Google Analytics 统计到网站有成千上万的用户。我几乎不敢相信当时发生的一切。

2048,成功和我

        虽然它看起来像是在兴趣上的突然飙高,很快就会散去,但我还是花了一整天看统计数据。看到总数持续上升,让我激动不已,同时有一些担忧。

        我对我在评论里得到的大量积极反馈感到惊奇。每个人都在讨论他们玩这款游戏时根本停不下来,甚至以牺牲他们工作效率为代价。

        接下来的几天

        我认为对 2048 的兴趣很快要消退了,不过几天后它仍然没有停下来。事实上,它恰恰变得更大了。从某种程度上看,2048 已经从 Hacker News 读者之间的热门话题演变成了在 推ter、非死book,甚至线下的讨论。看到它变成了一个世界范围内的现象,我感到了一点点不安。

        同时,随着对游戏感兴趣的人们发来的邮件,我的收件箱开始膨胀,还有开发者索要把 app 放到手机并从中获利的授权。

        我面对的首要问题是考虑清楚我应当围绕 2048 做什么,以及我应该如何答复那些邮件。虽然 2048 对我来说,只是一个小的业余项目,我没有特别的期望,我周围的人建议我应当抓住用它赚钱的机会。

        就个人讲,既然 2048 差不多是建立在其它游戏上的,我对于从这个概念获利的想法不太感冒。

        还给我带来巨大压力的原因是,知道那以后,为了集中精力在 2048 上,我不得不放弃我的所有其它承诺。那时候,我正忙于一个自由职业者项目,集中在 2048 意味着我不得不暂停该项目或者完全终止。

        我不得不把游戏移植到移动端,一个我没有经验的领域,足够快地完成是第一位的。做移动的前景让我心有余悸,因为那是从我的习惯状态迈出了一大步,而不知道前面是什么。

        在那段日子,这两种因素给了我很多压力。我感到好像没有出路了,我可以做出的每一个决定只会带来更多麻烦。

        一方面,我能够拥抱机会(这像是“一生只有一次‘的交易),获取回报,代价是对原创概念背后的人们的不公正。

        另一方面,我什么也不做,继续我的生活。我知道,当将来有人说我错失了我的机会,我会遗憾。

        最终,我说服我自己,我应当什么也不做,因为我认为那是结束我遭受压力的唯一方法。我决定这款游戏保持开源,我不会把它移植到移动端。

        在做出决定后,我瞬间开始感觉好多了。这让我觉得,我在做着正确的事情,我不会对此遗憾。

        回到原地

        在接下来的几天里,我感觉好多了。

        当时,该游戏的第一个移动版本开始出现了。它们当中的一些版本甚至没有归功于我或他们依据的其它游戏,一些游戏完全模仿我的。在看了 Threes 背后的人们反应之后,我认为不要让这纠缠着我一直是正确的选择。

        然而,我身边的很多人不这样认为。我朋友和父母认为,我的选择是值得尊重的,但同时我很可能放弃了我不会有第二次的机会。

        最初,他们的意见没有影响到我。我知道选择这条路,可以把我从以前感受到的压力中解救出来,我认为这比金钱和名气重要得多。

        然而,这种感受没有持续多长时间。几天以后,我认为我已经克服的所有这些问题比以前更加猛烈地砸到了我身上。我开始遗憾”浪费“了这次机会,我 感觉周围的人们对我的行动非常失望。让我感觉更糟的是看到了其他人开发的一款 2048 app 在 APP Store 的排行榜排到了第一名。

        一线曙光

        由于我的处境,我快发狂了,但是我也有理由开心。

        即使有人不在意拿走别人的成果并从中获利,在开源社区还是有很多创新精神的人们去关心优化不足的地方。他们只是想拿走并使之变得更好,或者甚至把它完全带到新的水平。

        看到已经出现的、不计其数的 2048 衍生版(这里这里这里这里这里,和这里)让我极为开心。我带着极大的乐趣把玩它们当中的每一款,看到其它版本的推出,感觉是非常棒的。

        人们在调整游戏上投入了大量创新,完全将其塑造成了新的事物。知道其他人把时间花在你已经开发的东西上面,是非常得意的,尤其是最激励你的地方在于只是让人们因你的作品而开心。

        改变我的主意

        感谢我父母和朋友的帮助,我意识到,排除一切、不再感觉我错失了一次机会的唯一方法就是拥抱它、并推出一个 app。虽然我不是为了盈利才做的。事实上,那不是让我在意的东东。所有在意的地方就是搞清楚我没有浪费一次机会,不管我将来成功还是失败。

        那么,人们会如何看待我呢?在每一次采访中,我说过,出于道德上的原因,我不会试着从中获利。我想如果我改变了主意,我将被看做一个伪君子,我真的不想成为那种人。

        这个决定最困难的地方是,我觉得这是对其他人对我期望的背叛。毕竟,我将改变主意并去做我公开反对过的事情。这花了我几天时间,但是最终导致我接受的原因是,改变的初衷不是受到贪婪驱使的。我选择这样做是为了在余生里,把我从错失良机的遗憾中拯救出来。

        由于我的选择,那些把问题放在心里并感激我之前的立场的人们,很可能认为被欺骗了。这是我为什么选择写下这篇文章的原因之一:我想就这项有争议的决定给出我的视角,一种在极端情况下强制执行的决定。

        希望做出这个决定的上下文能够足以解释我的行为。如果不能,我希望至少以某种方式帮助人们理解事情的来龙去脉。

        开发程序

        我一直认为只是保持游戏原来的样子、打包成一个应用会是一件糟糕的事情。2048 不再是真正意义上的、属于我的游戏。它属于坚信它的不计其数的贡献者,我没有权利用它谋私。如果我想让我的决定感到合理,我将不得不投入相当多的努力到创造这个应用上。

        最终我花了整整一个月从零开始开发这款应用,将其带入一种全新状态,以激励其存在。

        做为一名 web 开发者,没有移动开发技能,我还不能开始为 iOS 和 Android 开发应用,也不能期待创造出得体的东西。鉴于此,我决定使用 Phonegap。Phonegap 让你用同样的方式来使用 HTML、CSS 和 JavaScript,你会开发一个移动网站的。

2048,成功和我

        Phonegap 的问题是如果你想开发一个原生应用,你将面临一条漫长的、困难重重的道路。幸运的是,我在试着开发一款游戏,这意味着我不必严格遵循每个操作系统的视觉样式。

        我想给应用加个菜单,是因为当启动应用时把玩家丢给一个游戏,不是一个好的体验。这个菜单也可以让我介绍新的游戏模式,给游戏增值。

        我想让游戏逻辑足够通用,通过产生”hook“进核心游戏、修改必需的行为来产生新对象的方式,以包含新的游戏模式。

        我没有从头写大量应用程序的代码。和 2048 的开源版本唯一相同的地方是移动格子的逻辑,以保持相同的原始体验。现在由于 app 是闭源的(但是我可能在将来公开),如果使用其他人贡献的代码就会不公平。

        代码库差不多是 web 版的 3 倍,大部分代码是新的。

        在开发 app 时,我找到很多提高代码和接口效率的方法。我真的希望把这些回馈给开源社区,回馈给 2048 的开源版本。我也想最终重构它的代码,让它成为开源社区更好的东东。

        如果你对我最终做的东西感兴趣,你可以下载 iOSAndroid 应用。希望你能喜欢。

2048,成功和我

        结论

        真的希望,随着 2048 的流行,本文能够提供一种分享我的经历的、新的、有意义的视角,即使我处理这些情况的方式可能不是最好的。

        大多数我在每一步做出的决定都是基于我的感受,都是为了阻止个人问题,而不是从项目本身获取什么。

        我希望本文能够稍微解释我是如何、以及为什么做出每个决定的,帮助可能面临同样问题的其他人更好地理解他们或许要面临的东西。

        感谢阅读!