相对于网络程序员、数据库程序员,游戏程序员似乎显得更为时尚。游戏市场带来广阔前景和无限商机,游戏程序员作为技术的载体,其价值也在不断被放大。
在游戏程序开发方面,大致可以将技术划分为如下几个模块:
游戏架构、图形图像、图形特效、游戏逻辑、游戏界面、人工智慧、声音音效、网络连接、系统优化等。
分工细致的游戏开发团队会将游戏程序员按照每道工序而分为:
图形程序员、声音程序员、人工智能或游戏关卡程序员、物理程序员。
与传统的应用软件编程相比,游戏编程具有自己鲜明的特点:
更加强调计算机图形学的知识和计算机资源的高效利用,这也成为广大有志于进入游戏编程行业的程序员的入门门槛。
不少人认为,单机版游戏比网络游戏要来的简单,通俗点说,网络游戏=单机游戏+网络。
单机版游戏需要在情节、逻辑和AI方面下工夫。
网络游戏开发,技术核心往往在于服务器端技术、客户端的稳定性、反外挂技术等等。
单从程序员角度上讲,我们的平均水平离欧美的程序员的平均水平差距还是很大的。比如3D游戏引擎授权已经演变成了赢利的重要来源,但是市场上流行的几大3D游戏引擎都来自欧美。
随着国内游戏公司正在努力找到了良好的赢利模式,开发人员薪资水平的大幅度提高,肯定也会吸引大量专业的高水平程序员加入。不少资格较老的程序员都是带着热情入行,也使得游戏开发更加规范,人员更加职业化。
游戏编程新人求职功略
日资游戏企业比较喜欢招用刚毕业的新人,所以就要求新人们在学校里学好软件课程。
欧美公司一般希望招聘有项目经验的人,即使不是行业中,若有其他非游戏编程的工作经验,也是相当受欢迎的。
如果没有游戏编程项目经验,良好的编程素养是另一大重要素质,也就是编程的基础是否扎实、学习能力是否很好、对游戏的设计是否有感觉。要获得一个程序员职位,就千万不要忽略了你应聘时用的Demo,因为这里面包含了你对游戏的感觉与领悟。
要胜任游戏程序员,还必须做到以下几点:
1.热爱游戏。激情成就事业,游戏程序员的与众不同就在于,除了研发人员应有的理性之外,还必须对游戏有着无限热爱,如果连自己对游戏都提不起兴趣,又怎会做出让别人感兴趣的游戏呢!当然,若是只有热情那就不能正确理解这个行业,有时反而会做坏,比如在游戏中掺杂过多的个人意愿,忽视用户的需求。
2.扎实的基础。要成为一名合格的程序员,要熟悉包括C语言或C++语言、数据结构、编译原理、算法等计算机知识,同时数学基础也是非常重要的,这些在编制核心级的程序时往往会起到相当大的作用。
3.创新能力。作为游戏程序员,创意是灵魂。计算机本身就是发挥创意的好地方,若能将捕捉到的新事物揉入创意并应用到工程项目中,其中所含的经济价值将不容小视。
4.团队合作交流。程序员的不擅交流似乎已经成为业内公认,但对于游戏程序员,任何个人的力量都是有限的,在游戏开发工作中,一个成功的软件来源于团队的精诚合作。团队精神正是程序员应该具备的最基本的素养。要知道,游戏程序员不单纯是技术的实现人员,更是游戏参与者。
职业生涯之晋升通道
程序员(Programmer)——主程序员(MainProgrammer)——技术总监(Director)
如果要做核心程序员或者是leader就需要技术+游戏天分,否则只能做一些纯技术方面的工作。
“钱慢慢”其修远兮,游戏人才炙手可热,勤勤恳恳钻研技术的游戏程序新人,入行月薪3000+。当然也有入行高薪的,资历深厚的技术人员月薪8000+,对于拥有2年以上游戏开发经验的专业人才,年薪10万以上,高薪是没有封顶的,不过很多游戏程序员还是在付出与收入不平衡中寻求着下一个出口。