找回密码
 立即注册
查看: 245|回复: 5

游戏开发,如何提升自己?

[复制链接]
发表于 2023-2-27 08:38 | 显示全部楼层 |阅读模式
大三一枚。前几周找暑期实习(主要为游戏客户端),在一个大厂二面时,听到了面试官直击心灵的拷问:你觉得你自己对什么最擅长?   
当时就我愣住了。扪心自问,我对C/C++,C#都较为熟悉,也对数据结构,计算机网络等略有了解,拿unity开发过几个Demo,也用OpenGL写过课设。可让我说出自己最擅长的东西,我却无一敢选,愣神许久。。。
之后痛定思痛,决定拿图形学开刀。昨天知乎看到“如何实现渲染器”相关回答,虽然没有做游戏时的双眼放光,但也算兴致勃勃。想请教一下各位:
1:近期来看,如果拿不到大厂offer,是找一个小公司暑期实习,还是暑假提升自我?而对于8月的秋招,如何做能让自己更加有竞争力?
2:中期来看,对于致力做游戏的我来说,深入学习图形学是否为一个最好的选择?应当点亮哪些技能树?
3:长远来看,在游戏开发的道路上,如何平衡梦想与吃饭?游戏客户端的发展道路一般是什么样子的?

谢谢!
发表于 2023-2-27 08:48 | 显示全部楼层

  • 可以学习一套固有教程,当然,更好的一种办法也是我比较建议的一种办法,就是从开发的套路入手,更加恰当的一种说法就是学习游戏开发企业中常用的开发经验、方式方法
  • 比如开发一款Unity游戏,没有进入企业工作过的新人会新建游戏对象然后往对象上面挂脚本,而如果你是一个专业开发者,那你就知道在企业中开发游戏时,游戏的数据、数值会由策划设定好,程序要通过读取这些游戏数值,根据这些数值来创建游戏对象,通过这些对象再进一步的挂上Unity中专门负责游戏渲染的游戏对象
  • 在开发网络游戏时,专业开发与业余开发的开发思维是不一样的,一个是按照官方的教程去做,另外一个是从数据驱动的角度进行游戏开发,整体思路都是不一样的,还有游戏的打包策略、游戏的性能优化、游戏的Shader开发、游戏的整体客户端框架、服务器框架、还有它的UI框架等等,这些都是在进行网络游戏开发时需要思考的一些方法
详细内容可以参考我们的《皇室战争S2:分布式与帧同步》公开课
发表于 2023-2-27 08:49 | 显示全部楼层

  • 如果拿不到大厂offer,是找一个小公司暑期实习,还是暑假提升自我?而对于8月的秋招,如何做能让自己更加有竞争力?

    • 在拿不到大厂Offer的情况下,暑假实习有利于你秋招”找到一份游戏开发工作“,一方面,游戏开发的具体流程,工程化方式,只有在公司才能学到;另一方面,实习经历本身对于秋招十分重要,有一份足够充实的实习经历确实在简历、面试中会有一定帮助。
    • 对于游戏开发方向的秋招,我的建议是

      • 图形学的部分,虽然很小众,但是对于大厂游戏开发的面试真的很有用。但是问题在于,对中小的游戏公司,图形学知识的作用几乎为零
      • 因此,这涉及到一个风险选择的问题,如果你有很强烈的去大厂(腾讯网易有先后)的意愿,那就死攻图形学,性价比很高。如果没有足够的信息,那么还是以计算机的基本知识、算法题、尽量找实习为准备方向


  • 对于致力做游戏的我来说,深入学习图形学是否为一个最好的选择?应当点亮哪些技能树?

      • 这更多是一个兴趣和方向的问题,对于游戏开发而言,也并不一定需要非常精通图形学。游戏开发的方向更多和个人兴趣相关,在之后的工作中有过接触,自然会有兴趣差异分别。到时候再来决定自己想要深入的方向。
      • 游戏开发的基本技能树,我觉得包括:数学(三维几何知识)、图形(对Shader的基本了解,对渲染过程的基本了解)、后台(网络服务相关)、客户端(商业引擎,游戏逻辑)等等,需要有基本的了解和认知


  • 长远来看,在游戏开发的道路上,如何平衡梦想与吃饭?游戏客户端的发展道路一般是什么样子的?

      • 你这个问题,我很难以启齿,因为我就是考虑了这些之后最后没有投身游戏行业
      • 我个人的认知是,国内的游戏行业,相比国外游戏行业起来饭吃的很好的行业了。国外的同行有着比普通国外程序员更高的工作时间,平均收入上却往往更低。国内程序员至少收入这一块不会更低。
      • 但是这带来另外一个问题,国外的游戏开发工作过程的幸福感要高得多,国内的现状就是大部分都在做氪金手游,小部分有点梦想的,要不然是大厂的清汤寡水(如私认为腾讯技术最好的北极光),要不然是燃烧梦想的独立游戏开发者
      • 平衡梦想与吃饭总结下现状:饭吃的还行,梦想代价很大,走出象牙塔满怀梦想的少年,往往会随着时间流逝,要不然就是独立游戏烧光梦想,要不然就是氪金游戏磨光梦想。只有做的足够好,才可能会有平衡的空间。


  • 实名反对其他答主的某些答案:

    • Unity Shader入门不是一本适合图形学入门的书籍,图形学的入门最好从底层API开始了解绘制流水线,如https://learnopengl-cn.github.io/
    • 图形学的学习不是人挤人的状态,很多说自己学过图形学的程序员,实际的图形学能力低的不如在校学生。
    • 渲染器没有这个阶段开始写的必要,而且一般提到渲染器,更多接近于离线渲染(Path Tracing)的说法,对实时渲染来说,可以考虑做一些渲染效果的Demo(基于引擎或者不基于引擎都可以),如PBR的简单材质。这个阶段考虑渲染的架构、图形API封装的渲染器太早了。
    • 秦春林的《全局光照技术》,适合作为拓宽眼界、了解图形学方向的科普读物,不适合作为学习知识的入门书籍。有英语阅读能力建议直接看《Real Time Rendering》
    • 搞渲染在国内做动画和影视基本是条死路,而且离线渲染和实时渲染的技术栈有很大差别。
    • 图形渲染除了游戏公司有需求之外,一些AR/VR的创业公司,短视频公司也有相关的需求,如有兴趣可以私信。

发表于 2023-2-27 08:58 | 显示全部楼层
可以看出题主很有上进心。从图形学入手没问题,是个不错的方向。
脚踏实地的说,先从《Unity Shader入门精要》这本书学起,这里面对最基本的渲染流程、最基本的3D数学、最基本的Shader编写都说的很明白,初学者必备。
入门以后,继续提高就要看很多东西了。从专业技术的角度看,最关键的一点是要理解渲染管线的每一个细节,甚至要自己做一套渲染器出来(不要求实用性,关键是正确实现原理)。

学习的同时一定要多实践,最好把实践过程用博客文章记录下来。分享可以促进你的学习,而且未来这些都是要写进简历的
现在大三,一年后达到什么水平其实不是非常重要。作为专业的面试官,如果看到一位学习能力强、态度诚恳、技术扎实的人,肯定是要两眼放光的。

PS:即便不学图形学,学其它感兴趣的方向,道理也是一样的。
发表于 2023-2-27 09:04 | 显示全部楼层
入行面试估计主要是C++, 能做过游戏和渲染的肯定有帮助。
虽然现在时代已经变了,现在像十年前端游年代那样自己写渲染的人已经越来越少了,工业化引擎越来越成熟,只要会用引擎而不懂渲染的人也能做出游戏来。但是我还是认为即使不用亲自实现,你还是应该了解游戏用到的各种技术的算法原理和实现方法,这样才能知道上限再哪里,才能有合理的优化,才能脱离民科。
书目有一个古老的版本
Milo Yip:游戏程序员的学习之路(中文版)

我仍然相信这是最踏实的学习路径。

除此之外你还得搞清楚,是喜欢搞渲染还是喜欢搞游戏。这其实是两个差别挺大的行业。如果搞游戏的话,应该除了程序员的技术部分还有努力提升对游戏的理解,至少让自己达到策划的及格线水平,对于未来的发展才有利。
搞渲染的话,除了做游戏还可以做影视,视频等。推荐的书目是
全局光照技术
秦春林:开学啦《全局光照技术》限时全员7折!
与 Real  Time Rendering , Real-Time Rendering Resources
是俩个天下武功的目录。
发表于 2023-2-27 09:11 | 显示全部楼层
第一个帮不了你。

第二个, 图形学算一个不错的方向, 当前市面上大部分游戏程序员都没有这个竞争力。 但是相对应的, 相关工作其实也不多, 很多小厂中厂压根就不知道学图形学的能用来干嘛, 除非你自己主动不然很可能在公司里没活干只能做其他人差不多的工作,对以后发展不利。大厂又绝对不会缺这种技术人才,除非你学的好不然很难进。
技能树的话, 高数 物理 各种编程相关的基础知识 比如数据结构与算法 什么的一定要熟练,前期你会觉得用不上, 干个两三年就会遇到了。 有能力再研究下AI 游戏设计, 3D 美术相关的。

第三个问题你基本上不用担心, 目前这个行业入门工资就8k 至少, 饭肯定吃的起的。 当然你去做独立游戏就是另一回事了。 新人不建议全职做独立游戏, 除非你能力很好, 对游戏热爱并且做好不赚钱的准备。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-27 22:25 , Processed in 0.092425 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表