首页 > 非科班零基础转行游戏开发的经验
头像
二甲基亚硝酸
编辑于 2021-11-17 12:53
+ 关注

非科班零基础转行游戏开发的经验 内部员工回复

背景

在日留学的硕士,本科为石油工程,基本没有接触过计算机编程(学过一点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站等资源

更多模拟面试

全部评论

(13) 回帖
加载中...
话题 回帖