写在前面
本人目前为即将毕业的大四毕业生,但限于自己实力有限,接下来所讲述的内容均为自己的个人心得,如有不足之处还请指点。本文主旨在于帮助那些想要从事游戏开发的有梦想的小伙伴做一些思想指导,希望能提供或多或少的帮助,同时也作为自己的大学经验总结
个人校招经验总结请看:
大学四年经历总结
本人为某大学本科学生,大学就读软件工程专业,由于自己非常喜欢动漫和游戏,在高中的时候便有了自己的目标,当考上大学后决定选择与动漫和游戏最贴近的专业,但由于自己非艺术生,因此选择了软件工程。这是我选择软件工程专业的原因。
虽然有比较明确的方向,但是大一刚刚接触软件相关的东西(代码)就发现,自己对电脑简直一窍不通,大一学的第一门语言是C#,除了C#,其它学科基本都能拿到优秀以上的成绩,但仅仅专业课险些挂科,由此可见我当初的编程实力如何。甚至怀疑自己是不是适合做软件开发,同样也对自己的未来有些迷茫,最严重的时候竟然对代码产生了恐惧心理。自己的导师也曾认为我不会成为她眼里重点扶持的“人才”。
但是由于自己性格原因,天生不服输,或者说自己的目标非常明确,我就不信自己做不到。于是在大一下半年学习C++的同时,我开始在网上大量搜集相关语言教程,别人或许看一遍就会,我当时甚至看了n遍也才大概理解编程语言的基础语法。我觉得自己和别人比的弱点在于,高中之前基本没接触过电脑,完全不懂电脑软件怎么运行的。虽然自己起步慢一些,但我不想就此放弃,毕竟我是属于“后发制人”类型的。就是这样强迫自己一遍一遍看相关教程,C++那门课的成绩终于拿到了优秀。这个过程说起来简单,但却着实让我废了不少心思,真的。
专业成绩有了一点起色之后,我就开始尝试去做自己喜欢的事——开发游戏。虽然这么说,对于当时的我来说仍然是一件非常困难的事,游戏怎么做出来的,和代码有什么关系,我当时什么都不知道,甚至没听过Unity这个词。当时没有一个人帮助我,没办法,还是得靠自己,找网上的教程吧,于是从大一暑假,我开始接触到了Unity。
刚开始接触Unity的时候,我发现,嗯,完全不懂什么东西,即便我学过C#,有一点软件基础。当时硬是在完全不懂代码是什么意思的情况下跟着网课做了一个小游戏出来,现在想想真是佩服自己哈哈。虽然会C#,但是Unity编写的代码我完全没看过,后来过了一段时候才知道那个叫API,吐了,当时自己有多菜简直不忍直视。。。
硬记API肯定是记不住的,但是当时好多Unity的功能都不清楚,不知道该从哪学起,而且问题是没人教我呀。做个小游戏出一堆Bug,还不知道问题在哪,真是哭了,鬼知道自学到底有多难,而且在Unity学习群里总有一堆人说Unity简单,UE4难,这真是想要打击死我呀,Unity那里简单了,难死了好吗,对于我这个新手来说。在陷入不知如何学习Unity的困境时,我的转折点出现了······
有一次学校科协在一次活动中展示了VR眼镜,对于刚接触Unity两三个月的我来说,这个东西简直就是宝贝,我立刻就上前询问这个眼镜是不是学校有相关的研发实验室,因为有VR眼镜的地方,肯定有人会Unity,这样如果我能加入的话,或许能让自己快速掌握Unity。
其实我一直认为机会是由自己创造的。正因为这次偶然看到VR眼镜,我加入了我们大学虚拟现实实验室学习,平时在由我们大学的一位博士成立的公司工作,重点研究虚拟现实,我是怎么进去的呢,说起来也简单,询问VR眼镜的出处后,我向实验室投出了自己的第一份简历,内容如下:
嗯,,,,怎么说呢,这个无论怎么看都不算是简历,技术含量几乎为零,虽然很难拿得出手,但如果连试都不试就轻易放弃这个机会,这一定不是我,而且一个刚刚大二的学生会这些或许已经不容易了。于是我投递了属于自己的第一份“简历”,出人意料的是,我靠这个简历拿到了自己的第一个‘offer’,加入了我们大学一位博士成立的初创公司,在他的指导下开始学习虚拟现实相关的技术(使用Unity)。
在博士的指导下,我有了更明确的方向性,最重要的是,其它小伙伴都在使用Unity做项目,这让我感觉到一种归属感——我不再是一个人了。有时候孤独是一件很可怕的感受,他会让你感到无助,人是群居动物,需要一种叫“安全感”的东西,在博士的帮助下,我有了这种安全感,让我能坚持做自己喜欢的事。
曾在实验室工作到深夜返回校园:
博士教会了我很多东西,他带我参加各种虚拟现实类竞赛,辅导我完成项目设计,就这样,我在大二上半年寒假和他一起参加了一次国际比赛,并参与答辩,那是我第一次坐飞机,也是第一次参加大型比赛,第一次上了中央新闻的一个镜头,总之,受益匪浅。
曾参加的比赛现场:
我渐渐意识到做项目对于熟悉工具的重要性,如果让我现在学一个新的工具,我一定会从实际项目入手,去熟悉它的操作。于是在大二下半年,我决定靠自己的能力参加比赛,不过不是创新创业竞赛了,而是游戏开发比赛,以此提升自己的编程能力。
给我印象最深的就是在大二下半年参加的完美世界游戏创意GameJam,也是我第一次完全靠自己的能力参加比赛。(后话是完美世界也是我目前所在的公司,而且实习过程中参与的项目正是那次比赛的孵化项目。)我有幸通过审核并参加了成都赛区比赛,在那几天里认识了一群和我有着相同梦想的小伙伴,让我意识到自己并非孤军奋战,经历了三天三夜的创作,我参与完成了自己的第一款小游戏——《光与影》,我的队友是来自同一所动画学院的学生,他们都很优秀,虽然自己参与的项目未获奖,但从那以后,我对于Unity的理解变得更加深入具体了。
参赛现场,深夜中开发游戏的参赛者们:
在经历完美世界的GameJam后,我的实力大涨(对比以前),原因就是做了自己的游戏,代码也完全是按照自己的思路完成的,那个时候的水平大概能做轻量级小游戏了。
我并未因为自己实力有一点提升就骄傲自满,因为接下来有两个重量级的比赛:腾讯高校游戏创意设计大赛和网易高校游戏创意设计大赛。这两个比赛时间相近,一般参加比赛的同学只会选择其中一个项目参加,而我两个比赛都报名了,并且因此结识一堆志同道合的伙伴,他们都非常优秀,他们有进腾讯,网易,搜狐畅游,巨人网络的,由此可见,有梦想并且愿意为止拼搏努力的结果在大部分情况都会是好的。
为了完成这两个比赛,重要的是取得名次,拿到offer,我以第一位目标,竭尽全力完成自己的工作,因为要同时兼顾两个项目,我不得不用一整天的时间开发游戏,写代码,当时从早上八点开始,一直做到晚上12点,连续肝了一个月后,我成功完成了两款游戏的开发,并提交了项目。用于参加网易比赛的作品名字叫《山海鲲》,参加腾讯比赛的作品名字叫《移动迷宫》,移动迷宫是我找了一位美术共同完成的,我担任策划和程序工作。都说本科写够20000行代码就能达到平均水平,如果是按这个标值来算的话,我在参加完这几次比赛就达到这个标准了。
我知道作品《山海鲲》做的不太好,所以重点完成腾讯比赛项目,毕竟腾讯的比赛含金量也更高。当时对自己的作品还是挺满意的,如自己所料,游戏通过了初赛,如果进入复赛,就能去腾讯总部参加决赛了,然而这并非一帆风顺,作品未通过复赛,当时的自己深受打击,真的是期望越大,失望越大,我在收到比赛结果后好久都蹲在原地站不起来,有人可能认为这有点小题大做,但是如果从我的角度思考的话,每天做十几个小时,坚持一个月完成的项目被别人否定确实不是很好受,当时受到了较大打击,但自己终需要面对现实。
本人第一款用心之作《移动迷宫》:
如果因为一两次失败就轻易放弃,那一定不是我,而且如果放弃太早,你永远也不知道自己会错过什么。我随时关注各个游戏公司举办的游戏创意设计大赛,尽可能多交朋友,多增加经验,但是又想在目前的技术水平上有所突破,因此接下来还有很多需要自己学的东西,还有很多事要做,之后我有参加了吉比特的游戏比赛,当然结果还是重在参与了,在之后我决定要进一步提升自己的编程水平。
因为之前重点关注比赛和项目经验,自己的算法能力比较薄弱,数据结构还理解的很浅,甚至没搞懂动态规划那些东西的意思。但是目前不知不觉已经大三了,大三下半年是实习的黄金时刻,或许不能通过比赛拿到offer了,我应该靠编程能力冲击大厂。毕竟自己一直以进腾讯为目标的。
在这之后,我开始关注大厂校招需要的能力和招聘时间等信息,生怕自己错过那些想去的公司的招聘,同时重新彻底学习C#,C++和数据结构,计算机网络,操作系统等大学基础知识,注意我是什么时候开始的:大三上半年寒假。重温这些知识真的太重要了,我甚至觉得之前的都白学了,或者说只理解了其中的皮毛,这次复习使我的编程能力(算法方面)有了一个层次的提升,之前感觉特别难的算法题,现在基本都能搞定,当然,复习的过程必须要刷题,但不是以数量为主,我一共刷了不到100道算法题,但却涉及到几乎所有常见类型的题,同时有思路的基本就不做了,剩下的就是经常巩固那些思想,记住一个例题就好了。就这样,忙碌了一个寒假,我开始准备迎接大厂 的春招面试题了。
在大三下半年的时候,我参加了数十次笔试,但因为当时实力不足,好多题都不会,不过重点是秋招,现在最重要的是总结面试题和面试经验,就这样到了春招结束阶段,我依然没有通过一次笔试,但是却基本摸透了游戏开发岗位的重点考察知识了,接下来就往这个方向学就行了。虽然这么说,这对我的打击依然很大,因为当时的自己非常担心自己能不能冲进游戏大厂,甚至能不能进入游戏行业,而我需要做的不是望而却步,而是迎难而上,目标越难实现,才越有意义。使我惊讶的是,我在春招即将结束的时候,通过了字节跳动和完美世界两家大厂的面试通知。
通过这两家企业的笔试,让我感受到了自己的努力成果,没想到自己第一次面试就是国内大厂,我很害怕无法通过面试,而且自己有预感无法通过第一次面试,于是一直提示自己,最重要的是总结经验,然后决战秋招。
不知道是不是第一次面试太紧张了,面试的形式是视频面试,问我的问题也很简单,就是我当时满脑子都是空白,不管怎么写都写不出答案,结果可想而知。失望是有的,但最重要的是总结经验,这次面试一点也不难,没有通过真的纯是因为经验不足。于是我反复看自己的面试过程表现(自己录屏),下一次面试绝对不能犯同样的错误。
怀着依然紧张的心情,我开始了完美世界的面试。
首先是模板式开头:自我介绍,我把自己反复改过后熟记的自我介绍说了一遍之后,面试官并没有急着问问问题,反而是问我为什么要加入游戏行业,他问我的这个问题正是我所想表达的一点,于是把自己的内心真实想法说了一遍,然后又告诉他我的大学经历和选择游戏开发的过程,在分享完我的经历之后,我完全没有紧张感了,这使我抓住了面试的节奏,于是接下来面试官所问我的问题我都回答上来了,(虽然有的可能不准确),他当时主要问我的知识包括计算机图形学和算法题,Unity这些工具基本不问,(详细的内容我会在下一篇博文详细介绍我的笔试面试经验,这里不做过多说明)。就这样,通过近一个小时的面试后,我大概能感觉到,这次面试我能通过。
结果如自己所料,HR在第二天中午通知我面试通过了,准备和我预约下一次面试时间,就这样,我怀着更加紧张激动的心情预约了下一次面试时间。
因为离下一次面试还有两三天时间,因此我在这两三天时间里拼命记之前遇到的每一个面试题答案,然后还重新看了一遍数据结构,操作系统,计算机图形学这些知识,当然,最重要的还是算法题,能刷多少就刷多少。
很快就迎来了我的第二次面试,这一次面试官和上次不同,直接开始问我算法题和那些基础知识,幸运的是,他问我的题竟然是我这两三天刷过的!!,然后很顺利的回答上了他的问题,算法题之后就是计算机图形学,这时候我就意识到计算机图形学在游戏开发中的重要地位了,虽然这门课不是我大学必修,但是我之前在各个大厂招聘上看到了这个技能,于是课下自己学了计算机图形学,没想到会这么重要。和上次面试一样,我顺利回答出了面试官的问题,最后又聊我为什么想做游戏之类的话题,当然这方面是我的擅长点,所以一个小时的面试顺利结束,接下来就是等待通知结果。
大概过了三四天后,HR通知我面试通过,岗位是游戏引擎开发,问我什么时候能来公司实习。
我终于看到自己努力的成果了,而且还是我最想成为的游戏引擎开发工程师。
但好景不长,学校要在大三下半年统一组织学生去企业实训,这使我面临要放弃在完美世界实习的岗位,当时的我甚至想逃课去实习,但是我做不到。这是我第一个想要的offer,但却不得不亲手放弃,或许这就是我不想再读研的原因之一吧。
我按照学校的要求,参加一所企业的校企培训,当然,所学的东西和游戏一点关系没有,但是既然来了,我不能就这样白白浪费这次机会,学校的培训也不是说一点价值没有,只是它能帮助大部分学生找到一份工作,因为参加培训,我失去了黄金实习期,意想不到的是,完美世界HR知道我的情况后,竟然同意我晚些去实习,这确实是喜出望外的,然而,那个时候已经是到了找正式offer的时候了,同时,腾讯和网易的游戏创意设计大赛又开始了。
不管在什么时候,我都会有自己的目标,这是我的优点:总会让自己忙起来。在企业培训的这段时间里,我想做的有三件事:
- 学习培训内容,以防止无法进入游戏行业,这是最坏的打算了;
- 参加游戏比赛,争取这次通过比赛拿到大厂offer;
- 准备游戏公司面试,熟练掌握春招总结的算法和所需技术;
这三点是需要同时进行,但是给我的时间不到三个月,不管怎么说,人的经历是有限的,我不能把这三件事都完美完成,于是只能减少最不重要的事所消耗的时间,那就是培训内容了。在白天企业培训的时候,当所学的东西基本都知道的时候,我会把时间腾出来做游戏项目,早上和晚上的时候会刷算法题,参加游戏公司笔试和总结面试经验。当时忙到什么程度呢,可以用没有时间玩游戏来形容。
就这样,我同时报了腾讯和网易的比赛,并且按时提交了参赛作品,这也是我大学以来最后的两次比赛。
参加网易高校游戏创意设计大赛作品:《第二人格》
腾讯高效游戏创意设计大赛参赛作品:QQ球,大学最后参赛作品
虽然两个游戏都是自己的用心之作,但还是只通过了初赛。
对现在我来说,比赛的结果已经不重要了,这些小游戏让我的大学生活充实而又充满回忆。
紧接着自己的最后目标就很明确了:通过秋招找到一份游戏开发offer,这是一个不光要拼实力的过程,还要拼自己的耐力;在周围同学一个个找到自己想要的offer的情况下,很少有人能够不担忧自己的处境。幸好自己在春招的时候有所准备,否则自己真的可能会面临“失业”的风险。经过自己的努力,我拿到了几个大厂的offer,大概包括:多益网络,网龙,猎豹移动,taptap(心动网络),盛趣游戏等,还有一些小一点的公司(关于笔试和面试经验我会单独出一片博文做详细说明,这里不做介绍)。但通过比较,还是完美世界的最有吸引力,因为完美世界的岗位是游戏引擎开发,这样我所接触到的技术会和游戏客户端开发有较大差异。于是我想冒一个险:放弃这些offer,转去完美世界实习(不确定能否转正)。
其实当时的做法实属有些冒险,因为我在没有和任何公司签订三方就贸然拒绝掉这些已经拿到的offer,确实是不合理的举动,但是我又不想做毁约的事,因此当时内心非常矛盾,不过从后话来说,当时做这样的决定是正确的:在完美世界转正比较容易,而且自己所做的工作还有薪水都是找到的offer中最佳的,现在想想,自己的秋招之路也没有那么顺利,但最终的结果确实是最优的了。很幸运自己做出了正确的选择,但是如果什么都不肯放弃,一定什么也得不到吧。
从大三到 大四即将毕业,我的第一个offer是完美世界给的(实习),最后一个也是(转正)。很高兴认识你,完美世界。
参加社团活动,担任班干部
关于游戏,我想说的就告一段落了。大学是自己曾经最想进入的地方,我想在这里做自己喜欢的事,除了游戏,我在大一的时候竞选班委,成为班级学习委员,同时还加入了社团,分别是街舞和网球,虽然这两项自己都不是很擅长,但却给自己的大学生活增添了不少乐趣,我喜欢音乐,喜欢和大家一起训练,享受在冬天的时候,穿着半袖但依然满头大汗地跳着舞;我喜欢网球,我希望自己能成为大学里的“网球王子”,但因为学习游戏开发,我不得不在大二的时候把时间多分给学习游戏上。但不管怎么说,自己的大学生活真的很充实。
自己所在的街舞团:
论目标与方向的重要性
最近临近毕业,我的很多朋友都和我讨论过未来该做么走的问题,有的犹豫不知该考研还是找工作,有的因为保研差了几名,一战失误而不知要不要二战,有的没有找到好的工作而不知该怎么办,有的不知道要选择去哪里发展·····其实每个人都要面对他自己的问题,谁也不知道选择走那条路才是最佳方案,就比如说,曾经有很多人劝过我不要进入游戏行业:加班多压力大,这是事实,我也很清楚,但有时候我就会问自己:现在的生活你满意吗,你在做你自己想做的事吗,你喜欢游戏吗,你有梦想吗,你还是曾经的那个自己吗?现在的我可以很自信的回答:我在做自己喜欢的事,我不会后悔以前的决定,我还是曾经的我。
在和朋友们谈到那些问题时,我总会告诉他们一句相同的话:你自己要走什么路完全由你自己决定,如果一直犹豫不决,你不光会后悔之前没做出正确的决定,以后的你还会后悔现在没做出正确的决定。
有方向是非常重要的,如果没有目标,再努力也不过是无用功,大学时要明确自己的方向,大学之后更应如此。
虽说自己的大学成绩还不错,但是我并未想过保研或者考研,因为我深知即便读研,也无非是自学自己喜欢的东西,就像大学时自己所经历的一样,我并不是否认读研的意义,只是我很清楚自己接下来要走的路是什么,就像大学的时候一样。
大学成就
从大一到大四,我做到了很多同学没做到的事:做了5款以上小游戏,都是用来参加比赛的作品;通过英语四六级,拿到了几次国家级比赛奖项,一共读了200+本书(虽然大部分都是与游戏开发相关)通过了几个大厂面试,拿到不错的offer,毕业前获得了优秀毕业生称号。总体来说,取得的成绩基本能让自己满意了。
被游戏填满的大学生活:
遗憾与不足
在别人眼里,我有梦想,我在做自己喜欢的事,学校里拿到了一堆奖项,最后获得优秀毕业生称号;拿到了比较理想的offer,做别人羡慕的工作。但是,我的大学是完美的吗,肯定不是,遗憾是有的,而且有很多:因为受到疫情的影响,我没想到自己大四一年只在学校待了一天(党员转正时离开实习岗位,请假一天),之后就再也没机会返校了,我并不喜欢收到学校的约束,但我喜欢学校的图书馆,再多看两本图书;喜欢学校的实验室,再和伙伴们参加一次比赛,无论结果如何;喜欢和朋友们一起旅游,一起看电影,一起聚餐,一起毕业。而现在,我只能让我的同学帮我邮递毕业证,然后悄无生气地从大学消失;
我想通过自己的努力冲进腾讯,但腾讯拒绝了我;我想在大学谈一次恋爱,但是喜欢的那个人拒绝了我;我想做一款自己的游戏,但是我现在还没有能力一个人完成;我想大学能过得轻松一点,多和同学出去玩,但是游戏填满的我的大学;我想继续作为一名学生学习知识,但是我毕业了。
大学四年总结
回想自己大学四年时间,过的很充实,有自己的作品,做了自己喜欢做的事,,拿到了较满意的offer,从大一到大四,自己变强了,但还没变秃。
我不求自己在各方面都出众,但我希望自己能在自己喜欢的领域创出自己的一片天地,每个人都希望自己能够不平凡,但是却生活在这个平凡的世界里。 人活着,有梦想是一件很不容易的事,坚持更不容易,希望在未来的某一天,自己回首往事,最后发现,我还是那个曾经的天真的有梦想的少年。
有人说,大学毕业了,青春就结束了,我的青春还在吗,我不知道,我只知道自己不能停下脚步,自己还有很多事要做,还有很多东西要学,还有很多经历要体验。
接下来如果有机会的话,我可能会选择继续深造,当然是和游戏有关的专业了,但是从目前来看,我的学生时代要到此结束了,那么,是时候离开大学这个新手村了,江湖再见,后会有期。