作为程序员如何进入游戏行业以及我对游戏行业的看法

avatar 647936
chilimosun
28506
72
第一次发帖. 看到之前地理有几篇关于游戏开发的帖子,想以不同的角度向大家分享一些我自己的看法.

简单自我介绍与我的求职经历
楼主本科CS毕业后进了一家当地的银行做SDE写C#开发工具. 一直对游戏开发感兴趣,投了简历但是最后都是面试挂掉了.主要原因还是对C++的了解不够深入,游戏开发经验少,引擎知识缺乏. 经常想到毕业典礼校长对我们说的一句话Find a job you like and when you retire you can say “I never work a single day in my life.” 嗯…我就信了… 后来我就辞职读了一个与游戏相关的Master,学到了很多从零开始开发引擎的经验. 毕业后就成功的进入了游戏行业.

游戏公司分类
游戏大致可以划分为 3A和非3A. 行业里定义3A是以投入的资金来衡量的. Indie game和3A 游戏不仅仅是从游戏规模与投入资金上不同,所运用的技术也有挺大的差别的(当然也有特例). 3A游戏很多都是已经做出口碑的title, 所以他们可有充足的时间与资金去开发自己的底层技术,游戏引擎与工具,便于做各种优化. Indie game则不同,因为资源有限,一般都要依靠第三方引擎,如Unity. Unity使用C#作为脚本语言. 所以Indie game studio或者一些小的游戏公司都是需要candidate掌握C#和熟悉Unity引擎. 3A公司则要求C++并且对于内存管理,多线程系统,图形学,线性代数等等都有深入的了解. 小公司门槛相对低,有些人可能觉得先进入小公司用Unity然后攒足了经验就能进大厂. 其实照我和同行的讨论看来这样是比较难的, 因为主要还是因为用Unity一般不需要接触底层引擎的东西,这样就照成了缺乏引擎开发或者缺乏custom引擎的一些经验.
我认为Indie game 和3A公司的分化在以后会越来越大,Indie Game的资金一直会是一个比较难解决的问题, 而且App时代感觉已经过去,越来越少看见像Angry Bird, PVZ这种突然爆火的手游了. 而3A公司和他的Publisher 在资金和技术上会越来越处于一种垄断的状态.

是否应该考虑进入游戏行业
我觉得一定要慎重考虑,如果本身很喜欢做游戏的人尽量进入中大厂而且技术栈最好是C++的. 小厂工作不稳定,没有下一个项目的资金就会有整个工作室解散的情况. 游戏行业招人少,如果暂时没机会,可以找跟C++相关的SDE的工作,然后平时做一些游戏相关的side project,再找机会进入行业.

如何进入游戏行业
1. 学好C++,了解以及学会运用modern C++的功能(smart pointer, move sematic 等等)
2. 了解内存管理的知识,可以自己写一个Memory Manager练练手
3. 掌握线性代数和图形学的知识,自己可以阅读一些游戏开发的资料然后做Technical Demo放在自己的portfolio上,会大大的增加自己得到面试的机会!
4. 了解multi threading programming
5. 学习一些游戏引擎架构的内容,如果能自己尝试开发一个Mini Engine 会非常加分!

游戏行业发展
我举得未来5到10年北美还会是主机市场而且索尼在这个方面占有很大的优势. 4k 60fps会是新的标准. 图形学和显卡的发展会让游戏画面进一步提升. 显卡的提升也会带来底层渲染API的更新,现在的趋势就是API越来越底层与复杂这样才能让开发者能过更多的进行底层的优化与控制。如果能过掌握好图形学这方面的技术其实在行业还是挺吃香的,并且这方面的技术也是已经衍生到别的行业比如电影行业,未来的VR和AR也是会运用到. 如果想跳槽游戏以外的公司完全是可行的. 平时我自己也会留意其他科技公司相关的职位,NVIDIA, AMD和 苹果就经常有这方面的职位.

薪水
平均薪水肯定的比科技公司要低的. 楼主在西雅图据我自己了解Entry Level稍大一点的厂可以给到10万左右. 像EA也能给到接近大厂的水平. 当然不同的厂区别很大,工作强度也不一样. 刚毕业而且有身份问题的小伙伴我觉得可以考虑先刷题进普通大厂
  • 132
72条回复