对游戏行业的管中窥豹

通过“拾人牙慧”,来对这个行业“管中窥豹”一下。

未来发展

进入游戏行业,未来能做什么?

服务器

我相信大部分想要进入游戏行业的人,很少考虑这个方向。

客户端

也就是 Gameplay,上手难度低于引擎岗,而且不乏人吐槽[1]

客户端开发更偏重于游戏玩法的实现,也就是常说的 Gameplay,比如战斗系统怎么实现、任务流程怎么进行、UI 界面如何交互等等

也有一种声音,说缺高级的 Gameplay,当然这就见仁见智了。

引擎

在 2017 年,据从业者介绍[2],面试游戏公司就需要 985 的硕士生了,那个时候懂 pipeline 的面试都能算中上。当然,我相信在我写下这篇文章的 2022 年,绝对是卷上一层楼。

关于岗位,游戏引擎开发工程师 @王烁 提到[2:1]

ta 还是程序。我认为游戏开发到后面分为 3 个方向,架构(对游戏各个模块都很熟悉),渲染(对图形学算法很熟悉,和 ta 类似,但是也有区别),优化(对底层架构和渲染图形学原理都很熟悉)。

@人造人47号 根据自己工作情况提出了一些建议[3]

另一方面,除了渲染,我个人建议题主多了解一些图形学的其他方向,包括模拟、动画等。一是渲染实在太卷了,面试的引擎岗候选人十个里九个半说想做渲染;二是模拟、动画等需求也在慢慢增加,但是能做的人非常少,算是比较紧缺吧

总结:

  1. 架构
  2. 渲染
  3. 优化
  4. 模拟
  5. 动画
  6. ...

TA

如果想要成为所谓的 TA(Technical Artist),@Misfit 提到了一个观点[4]

技术美术的本质是将美术逻辑化

如果美术的功底薄弱,可以考虑“去培训班好好学个动画或者特效”。

可视化前端

我认为,游戏如果太卷的话,可以考虑可视化前端,因为我自己就是写写前端。。。毕竟都需要图形学的基础。

这里也有对应的技术栈和学习路线[5]

  • 数学
  • svg 和 canvas
  • WebGL
  • 框架

Leader

@Jackery Shi 给出了一些未来的路线[6],侵删。

1、做技术干到退休 (专注:技术深度、广度、架构思维、解决有深度/有难度问题的能力)

roadmap:初级->中级->高级->专家->架构师

2、技术转管理 (专注:技术、业务理解、管理方法论,汇报能力)

roadmap 1:初级->中级->高级->专家 (带团队)->带团队 (少部分技术)

roadmap 2:初级->中级->高级->专家 (带团队)->带团队->高层管理

3、技术到转行 (专注:一些让你感觉爽的都行)

不过还有一种叫自主创业,成为 CTO/CEO。。

潜藏岗位

[7]

学习要求

@鱼子 [8] 提供了一些技术栈,@码哲 建议专攻技术,可以直接看引擎源码[9],如果 TA 路线,艺术[10]也被提到。

编程

  • C 语言
  • 数据结构,
  • 游戏引擎对应的语言,unity 是 C#,UE 是 CPP
  • VR
  • Python

软件

以下针对 TA

  • 3ds max
  • Maya,但是不做动画就别学了
  • 游戏引擎:首选 UE,其次 Unity
  • Substance 3D Painter
  • ZBrush,
  • Marvelous Designer
  • Marmoset Toolbag
  • 看 Unreal 源码

艺术

技术上离不开对构图、灯光、曝光的控制。可以说渲染是对摄影的一种延伸,是使用渲染器这种相机 对三维世界的拍摄。两者使用技术和审美思维高度相似,两者任一方面提升都可以对另一方面起到非常直接有效的提升。

所以美术角度来说,不论是绘画、摄影、玩音乐、做渲染(甚至写小说、拍短片什么的),都是非常优秀的训练手段。

其他

  • 游戏设计基础
  • 用户体验
  • 数字图像处理
  • shader 编程

学习之路

这一部分值得新写一篇和 Roadmap 相关的文章。

@Milo Yip 提供了书单[11],因为太长,所以这里就不放了。

@Steven王 抒情记录了自己的转行之旅[12]

毕业要求

这一部分也值得新开一篇文章来记录。

面试的时候,需要拿得出手的 demo,独立游戏制作人 @HJISTC 对这个 demo 的要求是 完成度高[13],如“皮卡丘打排球”。

我个人比较喜欢的demo是完成度高“能玩”的游戏demo,什么叫“能玩”,就是这个游戏再简单都可以,但是有一定的完成度。比如有个像样的主界面,场景间的切换有过渡,游戏有美工,有UI,有音效,并且都是用心找的,而不是乱放的。各种细节都有一定美化,玩家能理解,玩法就算简单但是也是成熟有趣。给一个玩家,会愿意收藏下这个游戏。

关于 Gameplay 和 引擎岗位,后者因为更接近底层,可能会考察更加底层的知识[14]

区别来说,其实主要就是计算机图形学的知识了。除此之外,引擎岗可能还会更注重你的底层技术知识,比如计算机组成中的缓存技术,C++编译链接的原理(动态链接、静态链接),操作系统中的内存管理等。此外,游戏客户端可能更看重于你对游戏引擎的熟悉程度(使用),以及开发游戏的经验。如果你自己尝试开发过很多或者质量很高的游戏,面试的时候肯定是很加分的。

出国

怎样进入国外的游戏行业工作? - 陈潮的回答

  1. 语言
  2. 文化
  3. 技能

但是我想,对于小白,出国应该要手把手教吧

参考资料

不知道未来,这个行业又会发生什么样的变化呢?

---- 持续更新,欢迎催更 & PR ----


  1. 毕业以进入游戏行业为目标,该学习UE还是Unity呢? - lll fu的回答 ↩︎

  2. 进入游戏公司技术岗的门槛? ↩︎ ↩︎

  3. 想要进入游戏行业,研究生攻读哪个方向比较好? - 人造人47号的回答 ↩︎

  4. 想转行游戏技术美术(TA),base上海,目前已经做了一些准备,请问接下来如何努力才能达到从业要求呢? ↩︎

  5. 可视化前端开发和web前端开发有什么区别? - 阿飞的回答 ↩︎

  6. 选择成为图形渲染工程师,是好的职业规划吗? - Jackery Shi的回答 ↩︎

  7. 游戏美术越来越卷,从业者如何提升竞争力? - 戴巍的回答 ↩︎

  8. 被数字媒体技术游戏设计方向录取了,能说说这个专业吗? ↩︎

  9. 大一软工,想进入游戏行业,是投入时间到ACM,还是unity/UE4? - 码哲的回答 ↩︎

  10. 大二在读,如何自学技术美术? - 戴巍的回答 - 知乎 ↩︎

  11. 游戏程序员的学习之路 ↩︎

  12. 【游戏开发之路】- 目录&自述 - Steven王的文章 ↩︎

  13. 想要找到一份游戏开发的工作,Demo需要制作到什么程度才可以? ↩︎

  14. 请问腾讯校招中游戏引擎开发和游戏客户端开发有什么区别吗? - Steven王的回答 ↩︎

posted @ 2022-10-18 22:43  ticlab  阅读(140)  评论(1编辑  收藏  举报