网页游戏开服表-9K9K.COM
当前位置:首页 > 页游产业 > 研发经验 > WEB开发者看《2048》如何做游戏
  • WEB开发者看《2048》如何做游戏

  • 来源:cnbeta    日期:2014-05-20 15:13:24
摘要:Gabriele Cirulli是虐心游戏《2048》的开发者,他今年20岁,目前居住在意大利,自学了UI设计和网页开发。他最先将《2048》的开源版本放到Github上,由此引发了风靡全球的狂潮,各种衍生版本层出不穷。从他开发《2048》的过程中,他们的WEB开发者一定可以学到一些东西。

Gabriele Cirulli是虐心游戏《2048》的开发者,他今年20岁,目前居住在意大利,自学了UI设计和网页开发。他最先将《2048》的开源版本放到Github上,由此引发了风靡全球的狂潮,各种衍生版本层出不穷。从他开发《2048》的过程中,他们的WEB开发者一定可以学到一些东西。

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


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


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

一切是怎么开始的

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


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


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


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


爆发与辗转反侧

他花了一整天的时间查看这条帖子的状态。看到关注数目持续上升使他非常兴奋,同时还有一点害怕。


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


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


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


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


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


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


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


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


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


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


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


在做了那个决定之后,他立马就感觉舒服多了。这使他觉得他做了一个正确的决定,他不会后悔了。在接下来的几天里,他依然觉得轻松。


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


总结

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


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


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

  • 将此文分享给好友
相关阅读:
产业新闻
观点报告
行业会议
思想观点
投资信息
行业动态
经验分享