总结半年的游戏开发经验

版权声明:本文为 宇不语 原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35064774/article/details/51945076

如有转载,请申明:

转载至 http://blog.csdn.net/qq_35064774/article/details/51945076



转眼我做游戏开发已经半年多了,回顾这半年,印象最深的是当初一心想学游戏什么都阻挡不了我的决心。记得那会为了学游戏,网上找了好多资料,才确定从cocos2d入门。然后下了好多入门的电子书和视频。那会刚好是学校课程最多的一个学期。基本每天都是满课,一周晚上4天有选修。为了挤出时间学习,养成了一个习惯,吃饭的时候看一集教学视频。这个习惯持续到现在,感觉还不错。好了,不多说往事了,这里给新人们介绍一下游戏开发的经验。

 

1 游戏开发是什么样的

这里说的游戏开发是指客户端开发,服务器端的没接触过。

我理解的大概游戏开发过程是 策划核心玩法-确立项目(大致和软件开发的流程差不多,如果是自己做一个十几天工作量的小游戏,就没必要了)-制作demo(不知道其他人是不是从头到尾完整开发)-逐步完善-内测-公测。

谈谈具体开发分工。大致分为策划、程序、UI、原画、建模、特效、音效。还可以往细分,比如策划分为总策划、关卡策划、数值策划等。什么?你跟我说只有你一个人做游戏?那么恭喜你未来的路异常艰辛。并不是说你很难身兼所有重任,主要是因为你不在歪(mei)(guo)。作为独立开发者,最好不要惦记着国内这块蛋糕。

 

2 做游戏开发需要会什么

如果你只是负责客户端程序这块,那么大概是掌握一个游戏引擎。

大致分为哪些类的知识呢?(因为我只做过2D游戏,这就是按照2D的范畴来说的)

游戏框架基本原理、图像处理API、游戏引擎的坐标系、物理引擎、动画处理API、有限状态机、一门编程语言、设计模式、数据库。

 

下面具体介绍一下我所学过了两款游戏引擎。

 

Cocos2d:这款引擎是开源的代码框架,还有cocos studio编辑器,2016年还推出了组件化的Cocos Creator。这引擎和传统的软件开发很像,通过代码来创建场景、图层、精灵等。对于熟悉软件开发的人来说,上手应该不难。这引擎用的是c++,所以熟悉c++的学cocos2d也是比较合适。但今年cocos推出了Creator,采用的是js作为开发脚本,底层还是用的cocos2d-x那套代码。如果是用cocos2d-x直接开发的话,可能要面临以下问题:有限状态机需要自己写,物理引擎用起来比较麻烦,官方的动画编辑器不太好用,要预览游戏效果需要重新编译运行,容易导致内存泄漏等问题。不过也有相应的优点,运行效率高,灵活性强等。

 

Unity3d:这是一款组件化的游戏引擎,用来快速开发小游戏比较合适。采用的是c#作为主语言,当然也支持js。引擎最大的优点当然是组件化,很多东西只需要在面板上设置,不用写代码去实现,可以说省了很多事。对于创建一个场景来说,只需要菜单中点击一下保存到一个文件夹中就建好。当然这不是最大的优点,最大的有优点是,重用性得到了飞跃性的提升。对于一个脚本,只要内聚不是太松散,我们可以用很多次,而在cocos2d-x中,则需要精妙的设计才能实现。当然缺点也很明显,比如灵活性差(相对的),打包的安装包体积大,运行效率低等。

 

3 怎么学习效率高

从我阅片无数的经历来看,先找个简单的视频入门为好,因为有人给你讲比自己看书简单。我认为入门视频讲得好的,一般都不会把全部琐细的知识都提出来,这也符合人的认知习惯,先整体,再细节。如果一开始就告诉你当一个优秀的程序员,需要学.........此处略去几张A4纸。大部分人都会被吓跑。一开始学得简单点能让你更有信心走下去。

入门之后,要做的是先找个小项目练练手,当然项目中不可能所有知识点都照顾到,但用来熟悉常用的知识点已经够了。

当你可能轻松的写一些小项目的时候,就可以开始看书补充遗漏的基础知识。然后就是找进阶的书。进阶的视频其实也可以,但是比较少,不好找,你能找到当然学起来更轻松。当你把这些知识补充完之后,可以尝试着大一点的项目(这里略去项目管理方面的东西,作为新手,应该先学会写代码。等你自己觉得项目难以维护的时候,自然会去学习规范管理的东西啦)

 

最后在这里长叹一句,阿爸终于可以从坑中“逃出生天”了。

游戏有风险,入行需谨慎。

阅读更多

没有更多推荐了,返回首页