游戏开发人员需要掌握什么能力
市场要求越来越大,开发人员的要求也会越来越高,在这个优胜劣汰的社会发展情况下,游戏开发人员也需要很强的能力才能应对千变万化的市场发展,到底有哪些能力是游戏开发人员需要具备甚至是必不可少的呢?下面就让我们一起来看一看游戏开发人员需要具备什么能力吧。
客户端的话以图形学为主~要学习图形学的相关理论~之后要懂至少一种图形API,游戏公司的话建议是DirectX~当然,如果同时会OpenGL ES就更好了,专门在手机上的~然后是了解部分AI的内容。
服务器端的话,最核心的是要懂网络协议~整个TCP/IP协议~它是一系列的协议~网络部分比较杂,协议和架构是两大核心~只要弄懂了这俩,无论什么样的服务器,用什么做都没有问题~协议的部分正常学就可以~架构部分比较复杂,需要在实际的工作中不断积累~不过可以学习一下像什么mangos之类的开源服务器架构~除此之外你要懂网络编程,会用linux平台,网络编程部分包括linux网络编程和windows网络编程,这俩东西的内容都不少~如果你做手游的话可能还需要会node.js~客户端的部分计算机图形学,主要学三维观察部分,有能力的话可以学图形学算法~~DirectX游戏编程入门~OpenGL ES的源码Sample和文档~AI直接学那两个算法就够了~书的话自己找一下游戏AI编程~图形学和DirectX会了以后Ogre大致看一下源码就行,这个东西要求不高~Unity3d和cocos2d-x最好能熟练掌握一个,自己百度一下有都是教程~oc的话有个object-c2.0编程入门~IOS这部分要有真机才能学~android NDK的东西比较少,自己琢磨吧~我就是自己琢磨的,期间还会用到cygwin,要求你懂一些unix的东西~jni是java的东西,主要是为了在java下调用c++的库用的~自己百度一下怎么用就好~客户端这部分如果你有能力可以把学到的图形学算法用shader实现一下
主要是各种贴图和纹理映射的,还有就是LOD的算法和实现,以及八叉树空间管理这部分~再NB点的可以学骨骼动画,先学蒙皮动画~想挑战一下学反向动力学~骨骼这部分网上有国外的论文,都是英文的~难度不是特别大~剩下的,如果你都掌握了,就可以开始挑战一下高度了~推荐10本书,GPU精粹(GPU Gems)1到3和游戏编程精粹1到7,这两个系列都是有一定难度的~
服务器这部分是各种协议每个字节代表什么要懂~然后是Unix环境高级编程,windows网络编程~剩下的书都太厚了,不需要现在看~这两个看懂了以后看一下mangos源码~自己研究一下node.js~不难~如果都懂了,想研究到极致的话,可以把理查德斯蒂文斯(Rechard Stevens)的书全看一遍~没有几年的时间基本看不完的~但是他写的每一本都是经典~偶尔可以研究一下算法和数据结构,可以看看编程之美什么的~这部分主要是动手~然后要熟悉STL,这个自己学就可以了~如果想挑战一下++和数据结构与算法的能力,也想多了解一些STL的话,可以看侯捷的 STL源.
上述中提到的所需要具备的这些能力都是市场的不断发展稳定下来后前辈总结的经验,当然市场每天都在变化,所以光光依赖经验是远远不够的,所以学会了解市场,感受市场变化从而及时学习新的储备知识才能够应对未来所面对的新问题和困难,才能更好的完成游戏开发。