听听「2048」设计者的奇妙故事

 

  2048是最近很火的一款游戏,以设计师们的深厚内力,肯定两三分钟就玩(P)出来了。可是你知道吗?2048的作者是竟然一个Web开发者,而且之前没有任何的手机开发经验。那这款App是怎么神奇诞生的?来了解下他与2048的故事你就知道咯~

  前几周对我来说是一个漫长而疯狂的时间。三月份,我因为好玩,制作了一款叫2048的游戏,然后以开源的形式发布在Github上了。在接下来的几周时间里,它意外成为了世界范围内的热门话题,而且超过了两千三百万的人玩过了。

  这段时间是我生命中最激动人心的一段时间,同时也是压力最大的一段时间。知道你所创造的东西被数百万人玩到并且喜欢,这是一种非常棒的感觉。对于大多数人而言(包括我自己),这会带来继续创作新东西的动力。与此同时,当你创作的东西世界闻名的时候,你必须要面对一堆新的挑战。如果你从来没有面对过这样的压力,来自别人的关注和别人对你的期望会把你压垮。


  在这篇文章中,我会和你们分享我所经历的一切,以及我是如何处理它们的,既站在个人的角度也从专业的角度进行阐述。我也会解释到底是什么样的心路历程让我改变了我的想法而去制作这个游戏的手机版本。

  这是一篇很长的文章,但是我希望这篇文章能够带来一些有意义的想法,并且能够帮助那些可能要面对类似问题的人。

  一切是怎么开始的

  我利用周末的时间写了2048这个游戏,仅仅只是好玩而已。我以前被两个游戏所吸引,它们分别是1024! 和 2048. 。这两个游戏我都喜欢玩,我想用一种不同的视觉展现效果和更快速的动画来创造我自己的版本,只是试试看自己行不行。在那个时候,我还不知道有款叫 Threes 的游戏,它是所有这类游戏的原型(包括2048)。

  Asher Vollmer 和 Greg Wohlwend 作为 Threes 的开发者,已经证明了他们在开发这款游戏的时候投入了大量的时间和精力。就 Threes 的模仿者都大红大紫的现状,他们最近表达了他们的不平。我理解他们的感受,我也对他们在创造 Threes 中付出的努力和心血表示由衷的敬佩。2048确实欠他们的。

  在制作2048的过程中,我决定把项目托管到Github上去,并且通过Github完成项目。由于这是一个大部分都基于别人工作的项目,所以我不想把它设为私有的项目。

  当我完成了这个游戏之后,我就通过Github Pages发布了它,并把它发表在Designer News上,仅仅只是为了看看大家反馈的效果而已。

  爆发


  接下来的一天,我从朋友那里收到了一条消息,让我看看Hacker News的首页。有人把2048发布在那里了,而且现在被顶到了第一的位置。通过Google Analytics的报告可以知道,现在有上千人在Hacker News的网站上。我完全无法相信发生的这一切。

  尽管这就像互联网常见的爆炸新闻一样,来的快去的也快,我还是花了一整天的时间查看这条帖子的状态。看到关注数目持续上升使我非常兴奋,同时还有一点害怕。

  我完全被那些积极回应的评论震惊了。每个人都在谈论他们是如此的喜欢这款游戏,简直就停不下来,甚至在上班时间也在玩。

  接下来的几天

  我以为大家对2048的兴趣很快便会过去,但是接下来的几天,大家的热情始终如一。事实上,大家更加关注这个游戏了。从某种意义上来说,2048不仅仅成为了Hacker News读者中的一个热门话题(它成为了Hacker News历史上被点赞次数排名第三的话题),它还在Twitter,Facebook甚至是在线下被广泛谈论。看到它渐渐成为一个全球范围的话题让我感到一点小小的不适。

  与此同时,我的收件箱开始被那些喜欢这个游戏的玩家的来信占满,也有一些开发者希望能够得到我的授权来开发手机应用赚钱。

  我面临的第一个问题就是我到底应该拿2048这个游戏怎么办,以及我该如何回复这些邮件。尽管2048对于我而言只是一个小项目,而且我也没有对它寄予什么希望,我周围的人都建议我应该趁这个机会拿它好好赚一笔。

  就我个人来说,我不太喜欢要拿2048这款游戏来赚钱的想法,因为它毕竟是基于别人的游戏而来的。

  另外一个让我无比苦恼的是,为了专注于2048这款游戏,我必须要放弃我的其他项目。那时,我正在做一个freelance的项目,而专注于2048意味着我必须要停止那个项目或者是结束它。

  把2048做成手机游戏,那是我不熟悉的一个领域,即使如此,我也必须要足够快,这样才能成为第一款2048的手游。这个想法吓到我了,因为这会让我跳出安逸的生活状态,而我对将要面对的问题一无所知。

  这两个原因在那几天里一直折磨着我。我觉得没有任何可以摆脱这种痛苦的途径,任何我做的决定都会让我陷入麻烦。

  一方面,我可以抓住这个机会(而且这个机会看起来会是一生中唯一的一次)并且获得回报,代价是误导玩家,让他们分不清到底哪个游戏才是最初的创意。

  另一方面,我可以什么都不做继续我的生活。而我知道,事后当别人告诉我,我错过了这个机会的时候,我一定会后悔。

  最终,我说服了自己,我决定什么都不做,因为我认为这是结束我所面临的压力的唯一办法。我决定让游戏继续开源,而且我不会做手机版。

  在做了那个决定之后,我立马就感觉舒服多了。这使我觉得我做了一个正确的决定,我不会后悔了。

  回到原点

  在接下来的几天里,我依然觉得轻松。

  那段时间,游戏的手机版本已经出来了。这些手机版中很多甚至都没有经过我的同意,或者其他参考的游戏的开发者的同意,当然其中的一些也指出了是模仿我的游戏。在看了 Threes 开发者们对此的反应后,我觉得不是由我导致的这一切,真好,当初那个决定果然是正确的。

  我周围的很多人并不这么认为。我的朋友和家人认为我的决定糟糕透顶,但是同时我认为我只是丢掉了一个我不会想拥有第二次的机会罢了。

  最初,他们的意见不会烦到我。我知道,我选择的这种方式摆脱了之前遇到的压力,而且在我的考虑中,这比金钱或者名声要重要的多。

  但是这种感觉没有持续太长时间。几天之后,那些我认为我已经成功摆脱掉的问题都卷土重来了,甚至比以前还要严重。我开始后悔浪费掉了这个机会,而且我感觉的到,我的行为让我周围的人失望了。更让我感到糟糕的是,被别人制作的2048游戏登上了APP Store的榜首。

  一线希望

  我已经被我的状况搞到发狂了,但我还是有理由快乐起来。

  即使有的人不在乎拿别人的劳动成果去赚钱,在开源社区依然有很多有创造力的人在乎游戏从何而来。他们只想让游戏变得更好,甚至是把它带到一个全新的高度。

  看到数不清的各种版本的2048游戏的出现让我感到开心多了。我非常愉快的玩各种各样的版本,开心的看着他们能够创造出什么奇特的游戏。

  人们充满激情的翻版这个游戏,把它做成各种完全不同的版本。发现别的人在努力的把你创造的东西发扬光大是一件幸福的事情,特别是你的作品能带给人们快乐,而你又享受这种感觉。

  改变主意

  感谢我的家人和朋友做出的努力,我意识到,唯一的办法,让我不觉得我失去了一个机会就是去接受它,去创造一个手机应用。我不会为了钱而做这件事情。事实上,钱也对我并不重要。真正重要的是我没有浪费一个机会,无论最后的结果是成功或是失败。

  人们会这么想我呢?在每一次采访中,我都说,因为道德的原因,我不会从游戏中赚取一分钱。我认为,如果我改变了我的主意,我会被认为是伪君子,而我确实不想成为那种人。

  最难受的是,这个决定会让那些对我寄予期望的人感到背叛。毕竟,我改变了我的主意,并做了一件我已经说过绝对不做的事情。这让我难受了好几天,但是最后让我接受这一切的是我知道,我不是为了钱而改变自己的想法。我选择去做是为了不让我在接下来的日子里感到错过了一个机会。

  由于我的决定,那些把我以前说的话放在心上,并且钦佩我所做出的决定的人们很可能会感到被骗了。这也是我写这篇文章的理由之一:我想给我如此矛盾的选择做一个解释,这个选择是在什么样特殊的情况下做出的。

  但愿我做这个决定的前因后果可以解释我的行为。如果不行,我希望至少能够帮助别人了解到这一切是怎么来的。

  开发应用

  我仍然认为保持游戏的原样仅仅只是把它打包成一个应用是不好的。2048本来就不是我的游戏。相反,它是属于那些相信它的无数的贡献者们,我没有权利把它拿来己用。如果我想要这个决定看起来合理,那么我必须认真考虑如何创造这个应用。

  最后,它花了我一个整个月的时间来开发,从最初的一点点开始到最后的细心打磨,精益求精。


  作为一个web开发者,而且没有任何的手机开发经验,我无法一开始就做一个各方面都正规的iOS或者Android应用。所以,我决定使用Phonegap。Phonegap允许你使用HTML,CSS和JavaScript像web开发一样来构建一个手机应用。

  使用Phonegap的问题是,如果你想要构建一个看起来像样的应用,你就要花很大的功夫。幸运的是,我想制作的是一个游戏,这意味着我不需要非常仔细的考虑不同操作系统上的界面效果。

  我想要这个应用拥有一个菜单,因为在应用启动的时候直接把玩家放进游戏里不是一个非常好的体验。一个菜单同样也可以让我介绍新的游戏模式,这会给游戏添彩的。

  我想要游戏逻辑是通用的,这样能够在创建一个新的游戏模式时,只需要定义一个对象,然后用类似“hook”的方式插入到游戏核心里去,并且可以非常容易的修改表现行为。


  我最终从头开始一点点的构建这个应用的核心。我从开源的2048版本里保留的唯一的代码是移动图块的代码,这能够给玩家带来原汁原味的体验。由于这个应用的代码目前是闭源的(但是我也许会在未来把它开源了),所以如果我使用了别人贡献的代码就不公平了。

  代码库最后发现比web版本的要大3倍,大部分的代码都是全新的。

  在构建这个应用的过程中,我发现了很多提高和精简代码和接口的方式。我非常想要把这些优化提进开源的2048版本里。我也想要重构开源2048的代码,使它成为开源社区的一笔财富。

  如果你对我最后实现的游戏感兴趣的话,你可以下载 iOS 和 Android.版本进行体验。我希望你会喜欢它。

  总结

  但愿这篇文章能够给你们带来关于2048火爆背后的一些有意义的新观点,即使我处理这种状况的方式也许不是最佳的方式。

  我所做出的大部分选择是基于我自己的感受来的,并且目的是为了解决自己的问题,而非是从项目中获得什么。

  我希望这篇文章能够合理的解释我是如何又是为什么做出每一个决定的,并希望能够帮助任何遇到这些问题的人,让他们能够明白所要面对的到底是什么。

时间: 2024-09-05 18:59:57

听听「2048」设计者的奇妙故事的相关文章

该叫「我的电脑」还是「你的电脑」?

本文讲的是该叫「我的电脑」还是「你的电脑」?, "我的电脑"的变化历程 还记得以前使用 Windows 系统时我的电脑的图标吗?这个经典的小图标表示你在这台电脑上拥有的所有文件,所有的项目.工作资料以及各种数据等等. 而微软将最新 Windows 系统中的这个图标更名为**"电脑"(Computer),然后又将之改成"本机"(This PC)**.这样的修改是否因为"我的"这个用法给人带来了理解的误导.语义的不协调或者是根本没

程序员「奇葩」说

一直以来「奇葩」这个词都是偏贬义的,直到去年有个综艺节目叫「奇葩说」挺热闹,这里的人不一定是奇葩,更多指达人的意思. 「奇葩说」里的达人都是能说会道的,我的主业是程序员,所以只能写写在我职业生涯中碰到的一些「奇葩」程序员. 你懂的,我这里的「奇葩」没有任何贬义的意思. 月在胸襟人在途 我刚入行时的第一位项目经理,70后.那年三十出头,在银行客户现场做项目经理,负责一个二十来人的客户现场团队. 虽然他的职位是项目经理,但实际那时他真是一个名地道的资深程序员. 70 后的程序员大都是从写 C 开始的

细数那些坑人的养生「歪」道

各位看官,大家好,长假还没结束,我就写出了这篇文章,因为被那些披着「养生保健」外衣的歪门邪道气得够呛,实在想呐喊一下. 就这次十一假期回趟家,发现老妈.老爸还有那一大帮亲戚,都或多或少受了养生「歪」道的影响. 从营养补充剂到健康检测仪,从传奇纳米能量水到神秘通血栓古法.假专家教授的讲座,明星的代言,奇奇怪怪毫不严谨的实验-- 这些变着花样的宣传,轮番轰炸,让不少人都有了错误的健康观念.我的一些解释,亲朋好友们反而听不进去了. 但越是这样,就越有必要进行正确的科普宣传.毕竟,良好的生活习惯.对疾病

为何不要用「h5」这个简称?

  最近发现好多人喜欢将 HTML5 说成 h5,甚至是代指移动端的 Web Page 或者 Web App.虽然说起来朗朗上口,但是小编真的不建议这样来使用. 小编很早之前做过一个关于「h5 这个说法你的感受」的调查,总共有 552 位粉丝参与,最终结果是:有 16.7% 的人认为「很好」,37.5% 的认为「无所谓」,有 45.8% 的人认为「不喜欢」.那究竟为什么会有那么多人不喜欢「h5」这个简称呢? 「h5」这个简称非常不专业,容易造成误导. 与 JavaScript 被简称为「JS」不

对初阶体验设计师「影响力」构建的浅思

  国内一些刚刚从业.甚至已经从业好几年的用户体验设计师,在做了一段时间设计后,会或多或少产生一些困惑:自己似乎缺少足够的话语权和影响力,总是被产品经理和技术团队牵着鼻子走;花大量时间做一些技术含量不高的「体力活」,却又得不到对等的回报;产品上线了成功了,大家都觉得是产品经理或者技术团队的功劳(尤其是一些UI存在感不强甚至没有UI的产品),而有些忽视UED在背后的付出--于是很多渴望有更多「影响力」的设计师,最终纷纷选择转为产品经理,虽然有一些人在新的岗位做得很棒.让我心悦诚服,但我却从来不觉得

如何把谷歌的「思源黑体」作为WEBFONT使用?

  想让你的网站瞬间提升质感?试试谷歌和Adobe联合推出的「思源黑体」!现在只要加入一段 Typekit 程序代码,就可以把思源黑体作为网页字体(Webfont)使用了,附上具体的使用教程,来收! 相信大家对「思源黑体(Source Han Sans)」都不陌生,这是 Adobe 和 Google 合作,于 2014 年推出的开放原始码免费字型,提供七种粗细设定,完整支持日文.韩文.繁体及简体中文,有鉴于免费中文字型选择不多,在开发上也颇具难度,一推出便受到许多人关注,修改版字型也陆续出现,例

20个简单易上手堪称「神器」的可视化工具

  国外的可视化行业发展得相当成熟,这催生了不少在线信息图表制作工具,介绍比较好用的几个,利用它们,五分钟你就可以做出一张超屌的信息图表: 1]infogr.am 这是较早的一个在线制作工具,亮点是支持实时数据刷新,而且制作的信息图表支持在多终端展示. 2]Venngage 这款工具的亮点是自带超多免费模板,超多的版式选择,配色潮流大胆. 3]Piktochart 跟上一款非常相似,但免费模板不够多~ 用多了你会发现,这些傻瓜型工具的功能都大同小异,他们唯一的区别就是:各有各骚气的模板,各有各屌

教你阅读图书的「方法论」- 评《如何阅读一本书》

引言 最近常圳给我推荐了 <如何阅读一本书> 这本书.这本书最初出版于 1940 年,然后于 1970 年进行了增补改写.到现在已经面世 70 多年,在我写这篇笔记的时候,该书在京东上的 销售排名 位于社会科学销量榜第 2 名,可见该书是多么畅销. 在花两周读完本书之后,我最大的收获是学会了如何更加科学地阅读.在本书中,作者将阅读分为四个层次,并且逐条讲解每一个层次的阅读方法,以及需要达到的目标.本书将阅读分为如下四个层次: 基础阅读 检视阅读 分析阅读 主题阅读 我一直对这 4 个偏学术的名

网站实时分析-Qzone:①独立博客可否获取到其cookies/session进而统计;②其「浏览」是如何统计的?

问题描述 Qzone:①独立博客可否获取到其cookies/session进而统计:②其「浏览」是如何统计的? ①独立博客可否获取到Qzone来路的cookies/session进而统计访客信息(比如QQ号) (也可以说,从A站访问B站后,B站能否获取A站的cookies/session信息?): ②Qzone「浏览」是如何统计的?指的是动态的阅读数量. 解决方案 获取不了cookie,但是可以用js 解决方案二: 这个怎么可能,你如果可以拿到session,那么QQ空间不是要被盗 了,别人直接