如何做游戏?从哪里开始学习?找工作需要会哪些东西?我已经工作只想业余时间做游戏该学什么?不知道你是不是和当初的我一样有很多困惑。根据我自身的经验带你去了解如何开始学习游戏开发。
我目前已经 工作2年了,大学时期也是自学编程,自学游戏开发,从而走上了游戏开发这条路,希望这篇文章能帮助到现在的你,少走一些弯路。(写这篇文章的目的是,我现在业余时间比较多,想做个公众号,会定期分享我的学习路线,学习笔记,我们一起进步。PS:本人理科生,文采不好,排版用的也不熟悉,请见谅,我会努力的)。
想从事游戏开发的目的大概分为两种:1.我只想业余时间做游戏。2.我想从事游戏开发行业,找工作。对于前者来说比较简单 ,先说第一种
1.我只想业余做游戏玩玩而已
随着引擎的进步,不需要敲代码做游戏的工具有很多,例如下面这几个:
1.橙光游戏(只能发布在自家平台):适合做一些剧情向的,文字游戏。
2.RpgMaker:2d像素风游戏开发。
3.甚至很多游戏内置编辑器,例如我的世界,爱兰岛等。
4.如果你有编程基础,可以去尝试unity,ue4等这些专业的编程软件。
2.我想从事游戏开发行业
更多的人应该是为了想进入游戏行业,但是不知道从何入手,现在教程这么多,我该学哪个?学会什么东西才能进入 公司呢?
大概分为2种人:1.我是学生。2:我毕业了。
如果你还没进入大学我建议你以学业为主,争取考一个好点的大学,空闲时间可以学一下。
现在市场上普遍的几个引擎:
Unity,Ue5:3D游戏引擎
cocos2dx: 2d游戏引擎
laya,cocosCreator:微信小程序
具体要学习哪种语言就要根据自身兴趣去选择。
2.1.我该学什么语言?
不管学哪个引擎,会一门编程语言是最基本的,C,C++,C#,JAVA这么多的语言我该学哪个?
应该听过很多工作的人说,几天就学会了一门语言,确实如此。语言思想都是一样,我建议从C++开始学习。我本人就是从C++入门,当然这只是我个人建议,如果你已经很熟悉了一门语言,那么就坚持下去就好了。擅长一门语言之后再学其他的就简单多了,游戏开发不是一门语言就可以的,比如安卓打包要用到:Java,热更需要lua,服务器可能是go,lua,c++等。而且面试你说你擅长哪门语言之后,面试官就会针对这一种语言去问你。
2.2.学习路线是什么
游戏开发大概分为3个方向:服务器,客户端,渲染。
不管你要从事哪个方面:一门语言,数据结构与算法,计算机网络,操作系统这些大学基础课都是你必须要会的。我大学时期就不明白这些东西学了有什么用,工作之后才慢慢明白它的用处,现在仍然也在补这些内容。但是这些东西也不是一时半会就可以学完的,你有所了解一门语言之后,可以去学引擎,边做项目,让自己有点成就感,边学这些内容。
我本人是客户端,因此主要是从客户端这方面介绍。
如果我要做客户端我听他们图形学,设计模式什么的,我要不要学习?对于刚找工作的你来说这些东西不是必会项,但一定是个加分项,你学一下基础就足够你去应对面试官了。当然如果你想从事渲染方面的话,就要好好学习渲染的内容了。
给大家推荐几本我看的书籍:
C,C++: C++Primer(基础) ,C++PrimerPlus(进阶)
计算机网络:计算机网络(谢希仁,基础),计算机网络自顶向下(进阶)
操作系统: 我也不知道看哪本。。。
设计模式:大话设计模式(大话系列都是很好地入门系列)
图形学:shader入门精要(冯乐乐,入门,unity)
3D数学基础:图形与游戏开发(入门)
OpenGL红蓝宝书(进阶)
2.3找工作我该会什么东西,我该怎么做?
关于找工作,大厂和小公司的要求不一样的。看校招信息的话,推荐牛客网,BOSS招聘,拉勾,实习僧。智联算了(都是培训结构,想想就气,,)
大三暑假和大四的实习是一个很好的加分项,能实习就实习,能进入大公司就加入大公司。
大厂:大厂看重的是你自身的基础扎不扎实,数据结构与算法,计算机网络等,引擎则不是必要条件,但是加分项。至于要学到什么程度,可以去牛课网去看看历年的校招题目。
小公司:小公司看重的是你能不能做事,会看重你做过的demo什么的,当然,基础知识也是必须的,可能要求相对来说第一点,同样可以去看看面试题目。
推荐几个网站
牛客网(校招题库咨询):https://www.nowcoder.com/
LeetCode(数据结构刷题):https://leetcode.com/
siki学院(unity,ue4学习):http://www.sikiedu.com/
3.我的Unity学习路线
我主要是学的unity引擎,因此介绍下我的学习路线,主要是跟着擅码网和siki学院学习。
我学习unity的时候C#并不是很熟悉,先看了下C#的基础内容。
1.熟悉语言:
2.跟着视频了解引擎
3.做一些小游戏,飞机大战,坦克大战等,这一步没必要浪费太多时间,
学会一两个就行了,了解一下UI,常见的组件
4.跟着做一个大点的RPG
5.跟着做一个联网的游戏
然后就是带着demo去面试了。
最后祝大家找到满意的工作。
如果觉着对你有帮助可以关注下我的公众号,我会分享一些我的个人心得,学习资料,以及自己整理的代码等,如果你有什么困惑,疑问可以给我留言,我会尽力回复,虽然我也是菜鸡,但是我相信,总会有一两个对你有用处的。公众号内回复pdf,学习路线可以获取到我收集的一些资料,以后也会不定期更新的。