非科班零基础转行游戏开发的经验

背景

在日留学的硕士,本科为石油工程,基本没有接触过计算机编程(学过一点C);硕士研究方向是海洋能源,在实验室里读过正在使用的一个C++开源库的源码以及python程序代码,基本就是调调参,没有自己编程项目经验。而且在日本回不去,就没有实习经历(在日本投过游戏公司实习,但都没过)。秋招过程中在牛客获益匪浅,因此想留下这篇经验贴为想转行的同学提供一点帮助。

PS:本篇内容和牛客上另一位大佬的内容相似,自己也是按照这位大佬分享的内容制定的学习计划。 秋招落幕,给非科班零基础想转行游戏开发的同学分享一些经验。再一次感谢他的分享,真的受益匪浅。
另一方面,自己也是一个游戏宅,端游手游switch什么类型的游戏都有涉猎(没有PS),一些主机独占的大作也云过,虽然不是什么硬核高玩,但是对游戏一直有兴趣。(有人A吗,带带我)

秋招

意向:紫龙,腾讯
简历挂:米哈游
面试挂:雷火,字节,友塔
笔试挂:数不胜数

经历

20年研究生入学后想着将来在日本找个工作躺平(奈何日语苦手,直接放弃了),并没有想过要进入游戏行业。5月份左右身边某位重要人士找到了某个游戏大厂的工作并回国后,我也萌生了进入游戏行业的念头。当时查了查游戏开发相关的资料,得知需要的知识不仅仅是计算机(编程,计网,OS等),还需要图形学,引擎等等等等(当时参考的资料是Milo大神的游戏程序员的学习之路。。。感觉这辈子都学不完的那种)。因此那时并没有什么具体的计划,只是在学习C++(研究室所需),想着就学学计算机入行互联网算了。8月份,大家都懂,两个视频沸腾了游戏圈,原神的实机演示以及黑神话悟空的实机演示,当时是真的被震撼到了,感觉国内游戏行业要进入一个不同的纪元,也是这两个片段才让我下定决心转行游戏开发。

学习经历

  • 第一个阶段是20年6月到次年2月,由于时间紧迫,我采用的是"并行"的方式进行学习的,基本就是早上C++及数据结构的理论(书及视频),下午图形学的理论,晚上敲敲代码练练手,整理一天的知识。有组会的时候准备组会(教授放养,纯摸鱼)。第二个阶段是学完理论,一边准备项目,一边深入知识点,基本就是早上巩固理论知识(计算机和图形学),下午刷算法题,晚上写项目,科研摸鱼。

    计算机知识

  • 一直到20年10月底我基本都是在学习C++,主要看的是《C++ Primer Plus》然后跟着B站的黑马程序员视频学习,这段时间十分懒散,三天打鱼两天晒网的那种。(实名吐槽这本书太啰嗦了,我当时以为plus肯定比没有plus的牛逼,结果读完primer才知道这完全不是一本书!个人推荐primer)。

  • 10月底感觉学完C++基本语法后开始学习数据结构及算法,花了将近1个月时间把清华大学的数据结构与算法-邓俊辉教授那门课看完了。

  • 12月底得知实验室带我的学长(研究员)即将毕业,所以我就抓紧时间把研究项目的代码,开源库源码以及bug等都找他解决明了了。

  • 21年2月份开始看注意到一些面经,发现自己掌握的知识非常浅薄,于是重拾C++。花了差不多3个月啃完了4本书,按顺序《C++ Primer》,《Effective C++》,《STL源码剖析》,《深度探索C++对象模型》,期间也看完了侯捷老师的所有视频

  • 4月份左右开始了刷leetcode之旅,刚开始是看啥啥不会,只能硬着头皮往下做,自己憋个5分钟,然后看题解并感慨一下自己太腊鸡,然后理解并自己写一遍。然后就这么往下刷,到5月中旬刷了100多道题。然后开了第二个进度条,开始刷HOT100,此时由于掌握了一些算法以及很多重复,不到一个月就刷完了,如果遇到不会的同上。7月份又开了第三个进度刷HOT100和剑指,后面几乎都在刷HOT100和剑指,一直重复,把它们刷透了,面试就基本没问题了。但笔试就まだまだ了。

  • 6月中旬的时候花了2周左右过了一遍操作系统和网络,在B站上看的王道考研论坛的计算机网络和操作系统网课。建议大家还是认真学一学。

    图形学

  • 图形学的学习是从20年的9月份开始的,我是直接看闫令琪老师的games101课程--现代计算机图形学入门,如果你还没有计划,直接看就完事了。期间我差不多看了2遍,每一期的作业都有独立完成,并且在论坛里阅别人遇到的问题或者踩的坑。看完课程后还补了《Fundamentals of Computer Graphics》(挑了感兴趣以及不懂的地方看)。

  • 11月底看完课程以及虎书感觉意犹未尽,就看了《Raytracing in One Weekend》和《Raytracing in the Next Week》,并将上面的代码全部自己码了一遍,为自己加上了中文注释,然后还把公式都自己推了一遍加深了记忆。

  • 21年1月份阅读了毛星云大佬的《Real-Time Rendering 3rd 提炼总结》,并阅读了《Real-Time Rendering 3rd》中比较感兴趣的几章。现在在等毛星云大佬的《RTR4》翻译。(没找到4th的资源==)。

  • 21年2月开始入门OpenGL,主要跟着LearnopenGL 一节一节学,跟着敲代码,理解物理公式。学opengl的时候真的感觉很有趣,导入自己的模型进行渲染,也自己尝试写过一些shader(比如延迟渲染之类的)。虽然学的皮毛,但真的学起来完全不枯燥,当自己的shader不报错正确运行的那一刻成就感爆棚!

  • 差不多3月到6月做了个渲染器的项目,用C++从零开始编写了个简单的渲染器,主要是为了更加地深入理解渲染管线以及着色器的工作。期间尝试过两个框架,一个是opengl的那套框架,后来因为导入obj的时候一直错误,改用了闫老师作业的那一套框架。

  • 7月份花了2周用unity做了个2D小游戏,基本就是想到什么功能然后查资料,然后根据自己项目实现这个功能。(unity网上的教程很多)。主要是想掌握一下引擎的基本操作以及脚本的编写。遗憾的是没有在引擎中实现过渲染效果。

  • 平时的零碎时间我也会在知乎上看一些图形学相关知识点的文章,而且有很多大佬的回答或文章浅显易懂。比如上面提到的Milo,毛星云,闫令棋等老师,还有我关注的文刀秋二,MaxwellGeng,杨鼎超,Clawko等等答主都是干货满满。

到7月份感觉要开始复习了,就建了个blog,把笔记或者从网上看到的重要的知识点总结了一遍。

面试经历

第一个面试是7月底的字节提前批,当时完全没有面试经验,第一轮靠记忆力侥幸过了,第二轮就原形毕露了,掌握的程度太浅了。正式批我基本是在8月15号左右开始投的,因为8月23号中期答辩,所以想着答辩完开始准备面试,所以差不多那两个星期都在准备中期答辩。结果雷火19号直接把我捞起来面试了,当时就十分尴尬,空窗期问啥啥都不会。然后期间一堆笔试,也是我的秋招黑暗时刻,因为笔试我基本只能A个1-2题,根本不会做,所以需要我笔试的公司在笔试环节都凉了。(那种leetcode原题放出来的我还是会的)。8月底腾讯把我捞起来了,这时候我也重新复习过一遍,然后差不多走了半个月的面试流程,三面完就放飞自我了(面经在主页的另一条帖子里),在担心和害怕中默默鸽了其他公司的笔试和面试,在9月中旬收到了腾讯的意向。在腾讯面试期间也同时在面紫龙,也给紫龙二面的面试官点赞,问题虽然很难,但是每个问题都是非常值得思考的。遗憾的是米哈游简历就挂了,提前批和正式批都是上午投,下午挂。。。米哈游的简历要求应该很高。

参考资料

C++:《C++ Primer》,《Effective C++》,《STL源码剖析》,《深度探索C++对象模型》,黑马程序员,侯捷老师视频
数据结构算法:清华大学的数据结构与算法-邓俊辉教授
计网,OS:王道考研网课
图形学:Games101、《Fundamentals of Computer Graphics》,《RTR3提炼总结》,《Real-Time Redering 3rd 》、《Raytracing in One Weekend 》、《Raytracing in the Next Week》, LearnOpenGl
Unity:用户手册以及B站等资源

#2021届秋招进度交流##学习路径##面经##秋招##C/C++##游戏研发工程师##校招##腾讯#
全部评论
这个帖子太关键了哈哈哈🤣我也是看的这个帖子
2 回复 分享
发布于 2021-11-02 18:17
同学们都在关注互联网,事实上,还有很多好的机会(科研院所、人才引进、军队文职、国企央企)也可以年薪30-50万。何为不多拿几个offer 比较比较呢? 😎推荐关注微信公众号:人才引进中心 。 实时发布最新优质招聘信息,帮助同学们申领 人才补贴、租房补贴。
2 回复 分享
发布于 2021-11-02 11:28
三个月把C++那四本书看完了,太强了
1 回复 分享
发布于 2022-04-18 18:50
大佬你是面unity吗,为什么不学csharp
点赞 回复 分享
发布于 2023-02-07 15:32 河南
请问一下笔试TA方向需要考算法吗
点赞 回复 分享
发布于 2023-01-06 00:08 英国
能方便加个V吗 我也做游戏开发
点赞 回复 分享
发布于 2022-07-04 10:04
楼主game101怎么学啊,感觉听不懂
点赞 回复 分享
发布于 2022-03-31 21:10
目前想转游戏开发和前端开发,不知从何下手~可以加楼主好友咨询一下下吗~
点赞 回复 分享
发布于 2022-03-22 16:58
大佬,我在你图形学的基础上再把《实时阴影技术》(项目与shdowmap相关)推一遍,面渲染引擎岗够不够呀
点赞 回复 分享
发布于 2022-01-09 20:10
欢迎来tx
点赞 回复 分享
发布于 2021-12-22 17:25
楼主也看的是毛星云的书啊,没想到还没过一个月大佬就走了
点赞 回复 分享
发布于 2021-12-19 10:57
面紫龙的体验和楼主差不多哈哈
点赞 回复 分享
发布于 2021-12-01 07:38
感觉楼主学习能力好强啊 能不能加个好友😁
点赞 回复 分享
发布于 2021-11-29 18:36

相关推荐

12-09 08:02
已编辑
门头沟学院 C++
写在前面:主包是研二下发现自己找工作不知道找什么样的,本身专业是地坑专业,因此急转嵌入式为第二年的秋招做准备。本身有点c/c++的基础,但是比较缺少嵌入式方面的基础,因此提前6个月为秋招做足准备。主包本身是选择RTOS和Linux双修,可以在秋招多几个方向选择,如果有自己擅长的小伙伴可以只选择一个猛攻。个人推荐本科生选择RTOS、硕士生选择Linux。(为什么不推荐本科生选择Linux呢,因为Linux会卡学历,RTOS是对本科生来说最优选)大致路线是:速通mcu、rtos基础教程(第1个月) —Linux驱动、应用开发基础教程 (第2个月 — 做个比较全面的基础型项目(第3个月) — 找2段相关的嵌入式实习(第2-6个月) — 决战秋招。中间一直保持着刷hot100的习惯,以解决手撕问题。1️⃣第一个月mcu+rtos:首先选择b站播放量高点以及短一些的课程、资料同时学习,以基础为主,更重要的是对嵌入式方向有个基础的认知。(关于b站教程方面,个人没有特别推荐某一个,我看过几个其实大差不差,每个点击量高的都讲的比较全面,选择一个自己喜欢的即可,推荐从HAL库学起)要点:记住做足笔记,实习/秋招面试注重基础,并非花里胡哨的项目(但是也需要一个拿得出手的项目),基础的知识主要从前期学习打好框架。如果自己的c/c++的基础不好的话,也可以先从语言方面进行打磨,路线也是从b站视频学起!2️⃣第二个月Linux:也是从b站播放量较高的几个视频开始学起,主要是驱动与应用方向,要点与RTOS相同,要做好笔记!!3️⃣项目学习:每个课程都有自己附带的小项目,可以在实习前对其中一个项目进行打磨(不要直接照抄!!这种项目都是烂大街的)。接下来对项目进行修改(比如多加个功能,优化源码和八股里的知识结合),这种都可以进行AI赋能,让AI帮你想个点子。写在最后:实习和秋招来说,大厂都注重基础,因此对很多基础型的八股要了如指掌,但是也不能忽视项目,有一个吸引眼球的项目才会让你的简历被面试官发现。下一期准备分享实习/秋招经验、刷题经验,解决评论区常见问题
点赞 评论 收藏
分享
评论
67
573
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务