一个2D动作java 2d游戏编程入门需要什么编程知识和软件工具

推荐这篇日记的豆列
······给自学者的建议:想学游戏编程开发,你需要做什么? 真不是广告啊…_游戏开发吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:21,549贴子:
给自学者的建议:想学游戏编程开发,你需要做什么? 真不是广告啊…收藏
给自学者的建议:想学游戏编程开发,你需要做什么? 真不是广告啊,郁闷PS
17:02 Yellow Lee早上看到这个贴吧,看到里面好多人很迷惘,加入置顶的群,聊了一下,发现迷惘的人更多,做点事吧,憋着一口气写了5个小时,到最后自己都晕了,有空再整理整理,想学的可加入Q群: 有空看到我就回在贴吧上看到很多人想做游戏,想进入游戏行业做程序开发,很迷惘,不知怎么办, 到底需要做些什么?我自己从事游戏开发多年,之前也做过程序的培训,找回以前自己的写过的一篇文章,结合,自己的经验实践,给大家一些方向的指导吧首先:你要做好2点思想准备:1,真心喜欢游戏2,路漫漫其修远兮,吾将上下而求索然后:一般从零开始 要经历一下四个阶段第一阶段:学习和计算机沟通的言语 —— C++语言或其他语言
程序是什么?要回答这个问题要从各个方面进行剖析,在计算领域中,程序(program)是指为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合,这个是百度抄的概念,太复杂了,其实程序就是你和计算机沟通的一些命令的集合,也就是你到底要计算机做什么事情的内容的集合。而写程序就是写一段话,让计算机按照你的这段话为你做事,这段话就是程序。只是这段话不是用中文来写,也不是用英语来写,而是用计算机语言来写而已。编写程序就是和计算机进行沟通,而沟通最常用的途径就是语言,就像我们平时和别人沟通一样,只是现在你是和计算机进行沟通,其实你想想和计算机沟通比和别人沟通来得更容易,和别人沟通别人可能不理你,恨你,就是不喜欢你等,但计算机不会,只会按你的要求做事,除非你忽悠它。计算机语言有很多中,如C/C++, Objc-C, Java, AS3,汇编语言,php,asp等,就像我们平时语言也有多种。当你掌握了这样的一种语言,那么你就能和计算机在不同的领域进行沟通。 而C++语言是目前来说较为强大的语言之一,而重要的是现在很多游戏的底层都是用C++语言写的。而同时你要熟悉一种编程开发工具,编程工具就是你向计算机沟通的一种工具,就向平时我们说话用的嘴巴,开发工具让我们和计算机的沟通更加方便,就像平时你和远方的朋友聊天,你可以用QQ,MSN,甚至Email等方式,但目的只有一个,就是沟通,让计算机为你办事。第二阶段:熟练掌握数据结构及各种常用的算法 – 灵活使用语言
单单会语言还不够的,就像我们平时你不是会说话就能和别人很好的沟通,你要懂得沟通的方式和技巧。数据就是计算机内存放记录的内容,你可以认为是我们平时说的词,数据结构就是数据与数据间的关系,你可以认为就是我们平时放话的词与词之间的关系,而常用算法就是对数据处理的方法,其实就是我们习惯性会把这些词怎么放,不同的放法可能会形成不同的意思。你能够用词准备(数据定义得当),说话灵活(算法多样),那你就容易让别人理解和沟通,反过来你说话用词不当,颠三倒四,别人就很难理解你。针对程序来说,你对数据理解,定义,操作熟悉,对算法多样,高效,那么程序就会简洁,运行效率高,这就是为什么要熟练掌握数据结构和常用算法的原因。其实算法就是解决问题的方法,解决一个问题,方法有很多,有些常用的方法是前人经验得来的,我们就要学习。第三阶段:找一个平台,发挥你的语言能力—— Win,Android,IOS目前程序应用的范围广,平台很多,就针对游戏程序目前常见的就有Win,Android,IOS等,平台就相当于语言使用的地域,你会普通话在中国很吃香,沟通没无难题,但你去到美国,那就有难度了,就是你是普通话专家都郁闷。不同的平台对语言及程序架构的要求不一样,因此你要挑一个平台时更好的使用你的语言
游戏开发上海达内12校区,先就业后付款.上海达内游戏开发平均就业薪资达10500元/月
第四阶段:开发游戏Dome – 实践你的技术
如果你前三个阶段都过了 剩下的就是开发游戏Dome,从游戏的logo开始,菜单,到场景,当主角,到NPC,到主角与NPC的交互,到主角与场景的交互等,一步一步写,在不断的开发中积累经验与程序框架。用得越多越熟练。针对不同的热门平台的游戏开发,到底要学习那些内容,自己主要是用windows游戏开发的,重点说说windows游戏开发大致要学习的1, 语言:C/C++,编程工具:VS(不是VS对战平台,是Virtual Studio.Net)a) 数据:字符 – 语言的符号,不同语言有不同的字符,如英文的abc,中文的汉字等标识符 – 字符组合而成,标示不同东西,如杯子,就有“杯”和“子”字组成标示一样物品数据类型 – 数据的分类:整型(整数),浮点型(小数),布尔型(真假),字符串(词,句子),相当于词的分类常量变量 – 量就是标示多少,大小的数,存放数据的方法,在内存中开指定大小空间和规定数据存放方式,规定是否可以被改写数组 – 多个量怎么开指针 – 量在内存中开空间后的地址位置结构体 – 构建新的数据类型,属于自己的数据类型枚举 – 列举同类中的不同项b)操作:表达式 – 常量变量+运算符 让数据计算起来语句 – 表达式+语句逻辑定义符号,让数据按一定逻辑计算起来函数 – 把很多语句做某件事的语句合在一起,然后起个名字,往后通过这个名字,表示让计算机做那些语句的事情,如两脚跟靠拢并齐,两腿挺直,小腹微收,上体正直,两肩要平,两臂自然下垂,头要正,颈要直,口要闭,下颌微收,两眼向前平视,这些动作合起来我们叫立正,而且你要别人做这些动作时,就说立正就行了,这就是函数.c)类a + b: 把数据和操作合在一起,就是类,面向对象的程序-OOP,面向对象程序设计非常重要,它把写程序和我们平时认识事物统一了,举个例子:有没有想过自己是如何开始认识事物的?? 但你看到一个杯子时,为什么说这个是一个杯子,不是一台手机。很多年前,某人告诉过你,这个中间空的,周围抱着陶瓷的东西,用来做水的,叫杯子。这个时候在你的大脑里面你把中间空的,周围包着东西的,作用是装东西的,这样的概念放大脑里,形成杯子的概念,往后你再看到这样的东西,就知道叫杯子,而不是手机,因为手机又另外的样子和作用,往后可能会弄错了把桶叫杯子,从而你有认识了桶,对杯子的概念也进一步加深,从而认识了千千万万的杯子。面向对象就是这样子,把数据和作用,分别用语言描述(数据+函数),从而形成了这类东西-类,再用这个类实例化成一个个对象。从“杯子”抽出“杯子”的概念-》杯类-》再实例化一个个杯,恭喜你,从而认识了杯子了,其他的物体一样(女人除外,这东西无概念,作用众多,比较难认识)。如NPC可以有数据(血量,魔法值,位置,样子等),行为(行走,奔跑,攻击等)组成NPC这类,让就可以用这个NPC类实例化出很多NPC个体。2, 数据结构和算法a) 数据结构:数据与数据的关系零散数据 – 单个常量或变量线性数据 – 把很多数据排成一条线,方便管理,是我们最常用的管理大量数据的方法,有链表,队列,栈等树型数据 – 有一个根,然后分支,有二叉树,堆等图状数据 – 数据间管理复杂,有完全有向图,完全无向图,Hash等b) 算法:对数据操作的常用方法:添加,访问(遍历,比较,查找),删除等,算法是一个很广泛的内容,不是三两句能说明白的,如一堆人中,找到最高的,那就有找最高的方法:如你已经记录每个人身高,那看一下数据就知道,如把大家叫在一起,一对比看就知道,这就是算法。c)STL 标准模板库,常用数据结构和算法的类库:容器,迭代器和泛型算法3,windows平台a)windows程序原理 – 窗口,消息,相应等b)Win32Api – API(应用程序接口),说白了就是实现某一功能的函数名,使用这些函数就相当于我们日常中的专用词,用2~4个字就表示复杂的一样
c)GDI,GDI+
- win API中关于2D画面绘画的APId)其他关于2D图像操作的API,捕获用户输入的API,播放声音的API4, 游戏开发2D游戏开发
2D图形学基础(坐标,向量,点,现,面的数据描述),2D图像渲染读取渲染, 2D图像处理基础算法(淡入渐隐,高斯平滑等),游戏的基本组成和架构 3D游戏开发a)3D图形学基础(坐标,空间,T&L,向量,矩阵,四元数,点线面体)b)DirextX或OpenGLc)游戏的基本组成和架构 这方面和2D很像,其实游戏3D和2D只是渲染方式不同,其他的都差不多5 游戏引擎使用,Unity3D,Orge,UDK等,某一个你用“牛”,在高薪绝对没问题。Android游戏开发1)java语言+ Eclipse (最好还要会C,如果用NDK开发)2)数据结构和算法 (一样的跑不掉)3)Android SDK4) 游戏的组成和架构IOS游戏开发1)Objective-C语言+ XCode 2)数据结构和算法 (一样的跑不掉)3)IOS SDK4) 游戏的组成和架构以上这些只是基础,让你入门,开发小游戏或游戏模块没问题,当要进一步,是那句老话:路漫漫其修远兮!有人说 哇 要学那么多东西啊 要不要好几年啊,如果全部精通是,但如果只是入门,我只能说就得看你用心的程度,有些人一辈子都学不会但如果你用心,够努力,而有人带,9个月左右差不多了,如果你特别聪明而又有程序感觉,那么可能6个月就够了,如果你是天才,那恭喜你,你明天就会了!1,C++ 45天 先不用太深入,够用就好,就像你以前学语文,也不用要你学成一个语言专家啊2,数据结构+算法 45天 这东西比较难懂和花时间3,Windows
30天 主要学会怎样组织程序和怎样查相应的api 懂英文最好 不行就百度4,2D游戏开发 45天 开发基本的可以5,3D游戏开发 75天 看你的3D立体感能力,有些人立体感很差,空间转换转不过来.6, 引擎:30 天 基本会用,要用高级的功能没半年不好说如果你只是有兴趣,那你可以只攻第1,第2和第5阶段,时间会更短。想学学习 顺便把书也推荐了C++ —— 不用问 肯定是谭浩强 《 C++面向对象程序设计》 清华大学出版社 国内大学标准教程 十多年来都是他,目前听说口碑不怎样,呵呵,但胜在符合国人的习惯, 如果想再深入些就《C++ prime》《effective C++》等 最好是买本书,不要用电子版, 还有视频 推荐《孙鑫Vc++视频教程》等, 一步一把教你写,除此外肯定还有最强大的msdn和国内的csdn社区windows ——《Windows 程序设计》第5版上、下册 北京大学出版社,3D: DirectX 3D游戏编程实用教程 郑阿奇 电子工业出版社 (2011-02出版) 这本还行其实程序有了理论更多的还要多写多练针对C++ 那就在学了理论后,在vs上通过控制台程序,干掉C++经典100题而针对windows那你就想想你现在想弄一个怎样的程序可以方便你日常的工作和生活——记事本,记账器,计算器,人品计算器等对于做游戏,你平时喜欢那个,对着做写到后面,我自己都晕了,有空再整理一下吧,想想自己以前学习历程,真的很累!
为什么发了以后不能编辑啊??谁能告诉我怎么编辑啊???
谢楼主分享
貌似没有重新编辑这功能看了之后,收获不少,非常感谢
很不错很不错,幸苦了。!
话说2D比3D更难做是么?我听很多网友说过,想想也觉得的确如此吧~
看过之后,学到了
请问一下 ,jdk怎么下载啊(我是新人,刚开始学习),我点开了官网,然后下载了,但是下载出来的是快播,咋回事啊,求大神指点啊!
谢谢楼主分享经验
让我豁然开朗啊
谢谢,收藏了。
我想学美工之类的的!求推荐专业
大三狗路过,软件工程专业快毕业了,没有就业压迫感,感到前途渺茫啊…
你好,前辈,我是大三计算机专业的学生,很想做游戏,想请教一下你,现在我自学一个开源游戏引擎,想写个格斗类的游戏,结果忽然发现这方面的参考代码太少了,我想找个类似拳皇97的demo都找不到,不知前辈是否有格斗类游戏方面的经验,希望不吝赐教,小生有理了
虚拟世界架构师是什么东东。。。
收藏了,谢谢楼主,我要去一点一点利用自习时间学习去了。好人一生平安。
先学C++ 学精通一门 再转其他的 C++编程也有很多游戏引擎支持的,汇众教育中关村游戏学校为你服务。
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或独立游戏开发者分享2D手游制作该用哪些工具及经验-游戏技术媒体-Dogame游戏兵工厂
DOGAME游戏兵工厂-中国游戏行业第一游戏技术媒体门户|游戏美术|游戏模型|游戏资讯|游戏招聘
找工作?--个人用户
缺人才?--企业用户
要高薪?--高级人才
论坛会员登录--个人求职
论坛会员登录--企业招聘
论坛会员登录--高级人才
独立游戏开发者分享2D手游制作该用哪些工具及经验
【编辑:游戏兵工厂】&&发布日期:日   点击率:3507
游戏兵工厂新闻报道:
随着2015年全球手游行业规模将突破250亿美元,越来越多的开发者开始进入手游研发领域,而作为一名菜鸟,很多时候,如果没有其他开发者的建议,我们会走很多弯路,分享了进入手游研发到如今四年多以来积累的经验,希望可以给新入行者提供一些帮助。
一开始进入游戏研发领域的时候,你很难知道该选择什么工具、什么程序语言以及哪些框架,你会面临许许多多的选择和建议,我和我的团队总能发现其他游戏公司的经验是有用的,所以这里提供一些我们的经验,希望给做手游的新手们一些帮助。
初入手游行业
虽然在其他行业有过10多年的编程和策划经验,但当我开始做手游研发的时候,依然觉得自己是一只菜鸟。我们的第一个游戏Furdiburb(宠物冒险游戏)最初是在2009年开始研发的,当时是专门为Android而做的。对于毫无游戏研发经验的我们来说,Java是唯一可用到编程语言。作为一个2D游戏,我们非常不明智的没有使用OpenGL就开始进行非硬件加速图形开发。随着Furdi受到了更多人的欢迎,我们的游戏项目也得到更多的注意,最终我们遇到了性能和移植问题。如果我们此前学习了其他开发者的经验,很多问题都是可以完全避免的。
找到更好的方法
在完成了Furdiburb的研发,并且使用playn缓慢的把游戏移植到了iOS平台之后,我们决定开始第二款游戏(Eras of Alchemy)的研发。我们当时希望摆脱Java语言,找到可以广泛使用的跨平台研发工具,最好是未来还可以支持主机游戏平台。
随后我们开始了搜索,我用了将近一个月的时间对框架、工具以及引擎进行对比,最后,我和我的团队非常满意新的研发方式,直到现在也非常不错。这里我不会说为什么要选择这些,框架是经常变化的,一年前选择它的理由可能到现在就已经不再是考虑的主要因素了。所以,这篇文章的其余部分只会对我们选择某个工具的原因进行简单的描述。以下就是我们当初选择并对比了一个月之后的结果:
我们所列举的都是在研发我们游戏的时候用到的,而且只是我们做游戏的方式而已,很多工具和框架的结合也是非常完美的,需要开发者们自行发现。
我们选择的所有架构,要么是开源的,要么就是有开放的代码。这是非常好的,因为我们在必要的时候可以进行紧急修改和优化。
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,因为它的读写速度和表现更好。
编程语言:
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平台。
DOGAME游戏兵工厂()打造游戏技术媒体平台。游戏开发专业网站,集合了、游戏开发与商务合作、Dogame、下载、游戏技术论坛等板块。每天游戏媒体资讯,实时更新,掌握游戏行业动态。
&关注DOGAME游戏兵工厂微信获赠VIP会员
最新游戏行业动态、活动请关注
DOGAME游戏人才招聘HNYU GAME 京ICP备号独立开发者:新手做2D手游该用哪些工具
招聘信息:
随着全球手游行业规模将突破250亿美元,越来越多的开发者开始进入手游研发领域,而作为一名菜鸟,很多时候,如果没有其他开发者的建议,我们会走很多弯路,最近独立工作室Sheado.net公司的Chad Ata在博客中分享了他们从一开始进入手游研发到如今四年多以来积累的经验,希望可以给新入行者提供一些帮助。以下是编译的博客内容:一开始进入游戏研发领域的时候,你很难知道该选择什么工具、什么程序语言以及哪些框架,你会面临许许多多的选择和建议,我和我的团队总能发现其他游戏公司的经验是有用的,所以这里提供一些我们的经验,希望给做手游的新手们一些帮助。初入手游行业虽然在其他行业有过10多年的编程和策划经验,但当我开始做手游研发的时候,依然觉得自己是一只菜鸟。我们的第一个游戏Furdiburb(宠物冒险游戏)最初是在2009年开始研发的,当时是专门为Android而做的。对于毫无游戏研发经验的我们来说,Java是唯一可用到编程语言。作为一个2D游戏,我们非常不明智的没有使用OpenGL就开始进行非硬件加速图形开发。随着Furdi受到了更多人的欢迎,我们的游戏项目也得到更多的注意,最终我们遇到了性能和移植问题。如果我们此前学习了其他开发者的经验,很多问题都是可以完全避免的。找到更好的方法在完成了的研发,并且使用缓慢的把游戏移植到了iOS平台之后,我们决定开始第二款游戏()的研发。我们当时希望摆脱Java语言,找到可以广泛使用的跨平台研发工具,最好是未来还可以支持主机游戏平台。随后我们开始了搜索,我用了将近一个月的时间对框架、工具以及引擎进行对比,最后,我和我的团队非常满意新的研发方式,直到现在也非常不错。这里我不会说为什么要选择这些,框架是经常变化的,一年前选择它的理由可能到现在就已经不再是考虑的主要因素了。所以,这篇文章的其余部分只会对我们选择某个工具的原因进行简单的描述。以下就是我们当初选择并对比了一个月之后的结果:编程我们所列举的都是在研发我们游戏的时候用到的,而且只是我们做游戏的方式而已,很多工具和框架的结合也是非常完美的,需要开发者们自行发现。框架我们选择的所有架构,要么是开源的,要么就是有开放的代码。这是非常好的,因为我们在必要的时候可以进行紧急修改和优化。:我们所有的跨平台研发都是使用开源Cocos2d-x框架完成,在Eras Of Alchemy的研发过程中,我们使用了版本2,我们的下一个游戏正在使用的是版本3,进行了大幅度的API以及性能提升。整体来说,Cocos2d-x的2D表现非常好,而且文件管理非常方便。:我们使用Spine做了动画,所以我们加入了C语言为基础的Cocos2d-x插件。:我们还没有发布一款使用该引擎的游戏,但我们的下一款游戏A Quiver Of Crows将会使用,我们目前研发就使用了这个工具。:Cocos2d-x本身也提供数据存储方案,但我们更喜欢使用SQLite,因为它的读写速度和表现更好。编程语言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来完成这项工作,而且我们还使用它的指令功能进行自动化打包处理。关卡编辑器我们使用的关卡编辑工具包括:没有编辑器:如果可以不用的话,我们绝不会使用编辑器。我们可以用代码解决,这听起来非常疯狂,而且有点浪费时间,但如果你的团队非常小的话,有时候为了节约时间可以不必为了一次性的任务专门用代码写一个编辑器。定制化编辑器:有时候我们写了一个非常不好用的游戏内编辑器来做图形或者关卡,我的意思是未经优化的,恐怕也只有我们会这么做。:对于我们的下一个游戏,我们在使用R.U.B.E(Really Useful Box2D Editor)之前,几乎自己研发了一个游戏内编辑器,这个非常强悍的工具节约了我们大量的时间,但如果我们决定要做关卡编辑器的话,我们必须自己研发。音乐和视频:我个人非常喜欢ffmpeg,这个工具非常好用,我们通常使用脚本用它把我们的视频变成各个平台需要的格式。:这是个非常强悍的音乐制作软件,一开始的学习会比较困难。:如果你想给自己的游戏加入管弦乐,Garritan可以带来非常高质量的音乐,我们通常和Sonar混合使用。:一个非常不错的视频编辑和录制工具。以下2个是我们已经不再使用的工具,但可能对于新手来说依然具有推荐意义::如果你熟悉乐器而且乐意学一些音乐知识,并且想要做MIDI格式的音乐,这是个非常不错的软件。:这是个非常不错而且简单的软件,可以制作非常不错的音乐,而且不需要你阅读很多的音乐知识。结论目前做游戏的工具非常多,以上的这些工具只是我们在做2D游戏的时候选择的工具,目前为止,我们对这些工具非常满意,我们最新的游戏发布到了iOS、Android和Windows Phone平台。我们还打算在下一款游戏发布的时候,用同样的工具把游戏扩展到PC、Mac以及Linux平台。(原文: 译者:Gamelook)
微信扫一扫
订阅每日移动开发及APP推广热点资讯公众号:CocoaChina
您还没有登录!请或
点击量6861点击量4428点击量4337点击量4237点击量4111点击量3885点击量3341点击量3232点击量3197
&2016 Chukong Technologies,Inc.
京公网安备89}

我要回帖

更多关于 2d游戏编程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信