【转载】浅谈游戏开发之2D手游工具

浅谈游戏开发之2D手游工具

来源:http://www.gameres.com/459713.htmlhtml

游戏程序
平台类型: iOS Android 
程序设计: 其它 
编程语言:  
引擎/SDK: 其它 

        全球手游行业规模将突破250亿美圆,愈来愈多的开发者开始进入手游研发领域,而做为一名菜鸟,不少时候,若是没有其余开发者的建议,会走不少弯。独立工做室Sheado.net公司的Chad Ata在博客中分享了他们从一开始进入手游研发到现在四年多以来积累的经验,但愿能够给新入行者提供一些帮助。编程


浅谈游戏开发之2D手游工具

 


  如下为译文:架构


  一开始进入游戏研发领域的时候,你很难知道该选择什么工具、什么程序语言以及哪些框架,你会面临许许多多的选择和建议,我和个人团队总能发现其余游戏公司的经验是有用的,因此这里提供一些咱们的经验,但愿给作手游的新手们一些帮助。框架


  初入手游行业编程语言


  虽然在其余行业有过10多年的编程和策划经验,但当我开始作手游研发的时候,依然以为本身是一只菜鸟。咱们的第一个游戏Furdiburb(宠物冒险游戏)最初是在2009年开始研发的,当时是专门为Android而作的。对于毫无游戏研发经验的咱们来讲,Java是惟一可用到编程语言。做为一个2D游戏,咱们很是不明智的没有使用OpenGL就开始进行非硬件加速图形开发。随着Furdi受到了更多人的欢迎,咱们的游戏项目也获得更多的注意,最终咱们遇到了性能和移植问题。若是咱们此前学习了其余开发者的经验,不少问题都是能够彻底避免的。编辑器


  找到更好的方法工具


  在完成了Furdiburb的研发,而且使用playn缓慢的把游戏移植到了iOS平台以后,咱们决定开始第二款游戏(Eras of Alchemy)的研发。咱们当时但愿摆脱Java语言,找到能够普遍使用的跨平台研发工具,最好是将来还能够支持主机游戏平台。post


浅谈游戏开发之2D手游工具

 


  随后咱们开始了搜索,我用了将近一个月的时间对框架、工具以及引擎进行对比,最后,我和个人团队很是满意新的研发方式,直到如今也很是不错。这里我不会说为何要选择这些,框架是常常变化的,一年前选择它的理由可能到如今就已经再也不是考虑的主要因素了。因此,这篇文章的其他部分只会对咱们选择某个工具的缘由进行简单的描述。如下就是咱们当初选择并对比了一个月以后的结果:性能


  编程学习


  咱们所列举的都是在研发咱们游戏的时候用到的,并且只是咱们作游戏的方式而已,不少工具和框架的结合也是很是完美的,须要开发者们自行发现。


  框架


  咱们选择的全部架构,要么是开源的,要么就是有开放的代码。这是很是好的,由于咱们在必要的时候能够进行紧急修改和优化。


  Cocos2d-x:咱们全部的跨平台研发都是使用开源Cocos2d-x框架完成,在Eras Of Alchemy的研发过程当中,咱们使用了版本2,咱们的下一个游戏正在使用的是版本3,进行了大幅度的API以及性能提高。总体来讲,Cocos2d-x的2D表现很是好,并且文件管理很是方便。


  Spine:咱们使用Spine作了动画,因此咱们加入了C语言为基础的Cocos2d-x插件。


  Box2D:咱们尚未发布一款使用该引擎的游戏,但咱们的下一款游戏A Quiver Of Crows将会使用,咱们目前研发就使用了这个工具。


  SQLite:Cocos2d-x自己也提供数据存储方案,但咱们更喜欢使用SQLite,由于它的读写速度和表现更好。


浅谈游戏开发之2D手游工具

 


  编程语言


  C++:Cocos2d-x支持多种语言编程,但咱们选择了C++,由于咱们以为目前该语言是最合适作跨平台研发的。


  C:你常常会想要加入一些开源的API,其中有一些就是C语言编程的。


  Java:咱们依然须要用到Java,但也只是在Android平台作游戏内IAP、广告以及特殊系统功能的时候。语言之间的切换能够经过JNI来完成。


  Objective-C:选择它的理由和Java同样,咱们使用Objective-C是为了使用iOS系统的特定功能。


  Scripting:这包括程序化脚本和其余脚本语言,全部的开发者们都要时不时的写脚本,但咱们却不多会谈论这个问题。这个问题是很是容易的,但若是你和我同样并且因为不常使用而不记得一些语法的话,这个工做有是很是耗时间的,咱们要给维护代码、自动音频转换以及纹理打包写脚本。


  开发环境


  Xcode:全部人都告诉咱们说Xcode很是好,因此我进行了尝试,并且我不得不说的是,这是目前我最喜欢的开发环境。这里我并不想说太多具体的缘由,由于我不想引起集成开发环境(IDE)争论,咱们使用Xcode作跨平台研发,也为苹果平台作专门的编程。


  Eclipse:对于IDE来讲慢的可怕,但我看来却很是好用。咱们用Eclipse作了全部的Java和Android研发,包括适配和修复bug。Android目前在推Android Studio而不是Eclipse,但咱们没有那么多的时间,也没有什么特别的理由去转换到新的工具。


  Visual Studio:也是个很是优秀的IDE,咱们用它来作左右和微软相关的编程、Bug修复以及适配。


  版本控制


  即使你的团队只有一我的,你也应该使用版本控制。全部人都会犯错,并且任何一次大改均可能致使游戏神秘的死亡。咱们的团队只有3我的,所以从第一天作手游开始,版本控制就是很是必要的。目前有很是多的方案能够选择,但咱们使用的有如下几个:


  SVN:我我的喜欢SVN,由于能够作到全部我须要的功能,好比合并、同步、恢复等等,但学习起来比较困难。


  Git:咱们使用的不少开源框架都使用Git。咱们使用Git就是为了保持与框架同步,当须要的时候能够进行快速修复。


  电脑


  很明显,你作游戏是须要使用电脑的。最初全部的研发都是在Linux机器上完成的。但咱们开始了iOS平台的研发以后,用两三台电脑变得效率很是低,因此咱们买了一些iMac,并且咱们都很是喜欢用它来作游戏研发。幸运的是,OSX的不少指令与Linux相同,因此咱们的不少脚本都没有作改变。


  图形工具


  Adobe CS:相信这个没有人以为奇怪,咱们的美术师最常使用的是Illustrator和Photoshop。


  Spine:很是推荐这个工具制做骨骼动画,和传统的帧到帧动画相比,骨骼动画能够节约硬盘空间,还能够节约大量的研发时间,提供强大的功能,好比动画混合、蒙皮技术以及网格变形。


  Texture Packer:你或许会想要把图片进行打包得到更大的图像以得到更好的游戏表现。咱们选择Texture Packer来完成这项工做,并且咱们还使用它的指令功能进行自动化打包处理。


  关卡编辑器


  咱们使用的关卡编辑工具包括:


  没有编辑器:若是能够不用的话,咱们毫不会使用编辑器。咱们能够用代码解决,这听起来很是疯狂,并且有点浪费时间,但若是你的团队很是小的话,有时候为了节约时间能够没必要为了一次性的任务专门用代码写一个编辑器。


  定制化编辑器:有时候咱们写了一个很是很差用的游戏内编辑器来作图形或者关卡,个人意思是未经优化的,恐怕也只有咱们会这么作。


  R.U.B.E:对于咱们的下一个游戏,咱们在使用R.U.B.E(Really Useful Box2D Editor)以前,几乎本身研发了一个游戏内编辑器,这个很是强悍的工具节约了咱们大量的时间,但若是咱们决定要作关卡编辑器的话,咱们必须本身研发。


  音乐和视频


  Ffmpeg:我我的很是喜欢ffmpeg,这个工具很是好用,咱们一般使用脚本用它把咱们的视频变成各个平台须要的格式。


  Cakewalk Sonar:这是个很是强悍的音乐制做软件,一开始的学习会比较困难。


  GArritan Personal Orchestra:若是你想给本身的游戏加入管弦乐,Garritan能够带来很是高质量的音乐,咱们一般和Sonar混合使用。


  Audacity:一个很是不错的视频编辑和录制工具。


  如下2个是咱们已经再也不使用的工具,但可能对于新手来讲依然具备推荐意义:


  Anvil Studio:若是你熟悉乐器并且乐意学一些音乐知识,而且想要作MIDI格式的音乐,这是个很是不错的软件。


  Linux Multaimedia Studio:这是个很是不错并且简单的软件,能够制做很是不错的音乐,并且不须要你阅读不少的音乐知识。


  结论


  目前作游戏的工具很是多,以上的这些工具只是咱们在作2D游戏的时候选择的工具,目前为止,咱们对这些工具很是满意,咱们最新的游戏发布到了iOS、Android和Windows Phone平台。咱们还打算在下一款游戏发布的时候,用一样的工具把游戏扩展到PC、Mac以及Linux平台。

相关文章
相关标签/搜索