卿茶 发表于 2023-12-14 12:15:01

游戏开发需要学习什么?

我是一个刚读完大一的学生,学习的是软件工程。但为了想做的事是游戏开发,我希望能做出一款属于我们中国本土文化的3A大作。但是在这之前,希望游戏开发的大佬们能给点建议,很迷茫,不知道应该怎么下手去实现梦想

fkbill 发表于 2023-12-14 12:15:55

Cocos Creator性能优化技巧集锦

ioty 发表于 2023-12-14 12:16:50

在Github上有这样一个资料库,里面详细展示了游戏技术人员有可能要涉猎到的技术相关的事项。
这些内容有些是需要你在工作中积累的,基础部分最好在进入行业之前就尽量学扎实。

http://pica.zhimg.com/v2-03f33fba07ab646ab141a83e7b9108dd_r.jpg?source=1def8aca

图1、这是知识树的框架,展开的知识树可以点击下面的github链接查看。

资料库包含了这几个大的主题:
1.开发技术​github.com/gonglei007/GameDevMind/blob/main/mds/1.%E5%BC%80%E5%8F%91%E6%8A%80%E6%9C%AF.md​github.com/gonglei007/GameDevMind/blob/main/mds/1.%E5%BC%80%E5%8F%91%E6%8A%80%E6%9C%AF.md​github.com/gonglei007/GameDevMind/blob/main/mds/1.%E5%BC%80%E5%8F%91%E6%8A%80%E6%9C%AF.md2.编程语言​github.com/gonglei007/GameDevMind/blob/main/mds/2.%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80.md​github.com/gonglei007/GameDevMind/blob/main/mds/2.%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80.md​github.com/gonglei007/GameDevMind/blob/main/mds/2.%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80.md3.程序设计​github.com/gonglei007/GameDevMind/blob/main/mds/3.%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1.md​github.com/gonglei007/GameDevMind/blob/main/mds/3.%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1.md​github.com/gonglei007/GameDevMind/blob/main/mds/3.%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1.md4.产品研发​github.com/gonglei007/GameDevMind/blob/main/mds/4.%E4%BA%A7%E5%93%81%E7%A0%94%E5%8F%91.md​github.com/gonglei007/GameDevMind/blob/main/mds/4.%E4%BA%A7%E5%93%81%E7%A0%94%E5%8F%91.md​github.com/gonglei007/GameDevMind/blob/main/mds/4.%E4%BA%A7%E5%93%81%E7%A0%94%E5%8F%91.md5.项目管理​github.com/gonglei007/GameDevMind/blob/main/mds/5.%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86.md​github.com/gonglei007/GameDevMind/blob/main/mds/5.%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86.md​github.com/gonglei007/GameDevMind/blob/main/mds/5.%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86.md6.运维技术​github.com/gonglei007/GameDevMind/blob/main/mds/6.%E8%BF%90%E7%BB%B4%E6%8A%80%E6%9C%AF.md​github.com/gonglei007/GameDevMind/blob/main/mds/6.%E8%BF%90%E7%BB%B4%E6%8A%80%E6%9C%AF.md​github.com/gonglei007/GameDevMind/blob/main/mds/6.%E8%BF%90%E7%BB%B4%E6%8A%80%E6%9C%AF.md7.产品运营​github.com/gonglei007/GameDevMind/blob/main/mds/7.%E4%BA%A7%E5%93%81%E8%BF%90%E8%90%A5%E6%94%AF%E6%8C%81.md​github.com/gonglei007/GameDevMind/blob/main/mds/7.%E4%BA%A7%E5%93%81%E8%BF%90%E8%90%A5%E6%94%AF%E6%8C%81.md​github.com/gonglei007/GameDevMind/blob/main/mds/7.%E4%BA%A7%E5%93%81%E8%BF%90%E8%90%A5%E6%94%AF%E6%8C%81.md8.产品商业化​github.com/gonglei007/GameDevMind/blob/main/mds/8.%E4%BA%A7%E5%93%81%E5%95%86%E4%B8%9A%E5%8C%96.md​github.com/gonglei007/GameDevMind/blob/main/mds/​github.com/gonglei007/GameDevMind/blob/main/mds/8.%E4%BA%A7%E5%93%81%E5%95%86%E4%B8%9A%E5%8C%96.md<hr/>完整资料的Github地址是:
GitHub - gonglei007/GameDevMind: 网络手游开发知识地图,投身游戏开发技术可能需要了解的方方面面。​github.com/gonglei007/GameDevMind​github.com/gonglei007/GameDevMind​github.com/gonglei007/GameDevMind<hr/>预览:

http://picx.zhimg.com/v2-9b64df0a5ab83e60ce838132d7e0d05b_r.jpg?source=1def8aca

图2、这个知识图谱还在持续的补充扩展中

<hr/>希望这些能对你有所帮助。

zhangjin 发表于 2023-12-14 12:17:26

当当当当!唤境君来啦!(*´゚∀゚`)ノ
在游戏开发的过程中会涉及各种方面的知识,所以题主可以利用自己的空闲时间先学习基础的理论知识,像《游戏编程模式》《游戏引擎架构》《Unity Shader入门精要》这几本书的内容都是非常适合去看的!
其次,题主可以自己动手制作一些小游戏,了解游戏开发的过程!这时候,就要推荐我们的唤境引擎啦!唤境引擎是一款无需编程就能制作游戏的游戏开发工具,相比于市面上其他游戏制作工具,唤境的使用门槛会更低,对新手党绝对是灰常友好啦!
最重要的是,唤境引擎会免费提供引擎功能和游戏素材的使用!相信这也会让题主的入门成本大大降低!与此同时,我们针对0基础的游戏开发者开设了免费的训练营,可以挑选自己感兴趣的游戏类型进行制作的尝试!训练营里会有讲师进行一对一的辅导哦!
目前已经有很多同学通过我们的唤境引擎,制作出各种优秀的作品:《只兔:不灭的勇者》《末代侠客》《摇摆地牢》《最后一个地球人》等等,戳链接就可以直接试玩啦>>>唤境优秀作品试玩
“万事立业在今日!”有梦想就要行动起来啦!唤境君希望你日后能制作出中国本土文化的3A大作!୧(๑•̀⌄•́๑)૭

RD1223 发表于 2023-12-14 12:17:59

其实知乎已经有类似的问题了,首先推荐你去关注这个问题:想要自己做一款游戏,需要学习哪些知识? - 知乎 (zhihu.com) 底下已经有很多很棒的回答了。其中最精彩的莫过于这篇高赞回答:想要自己做一款游戏,需要学习哪些知识? - 知乎 (zhihu.com),囊括了游戏开发的三个重要岗位:策划、程序、美术所需要的知识技能,面面俱到,十分详尽。可以说是心血之作了,建议三连。我也强烈推荐想要入门游戏开发的同学关注这位答主,他写的很多文章都很有价值,能帮助我们了解到很多游戏开发的知识。当初我在想转行入门游戏开发的时候,也是从他的文章中受益良多。
然后分享一下我的个人经验吧。题主是一个软件工程的学生,那么我假设你将要从事游戏开发中的程序岗位。游戏程序一般也分三个方向,游戏客户端、游戏引擎和游戏服务端。游戏服务端开发一般只有网络游戏或联网游戏有,我自身也不是特别了解。并且你说希望做一款3A级别的游戏,那么游戏程序应该更多的是客户端和引擎方向的,所以服务端我就不说了,下面的分享主要针对这两个方向而言。
我很喜欢将知识学习和游戏中的武功修炼做类比,比如我最喜欢的游戏《武林群侠传》/《侠客风云传》。在这个游戏中,如果你想成为一个绝世高手,那么除去一些闲逛奇遇的离谱事件之外,你需要关注三个事情:基本功、内功和招式。
基本功在游戏里包含了硬功、软功、轻功、耳功、眼功等等。它是你成为习武之人的最低门槛,决定了你师父是会欣然收你为徒,还是会说:“看来你不是一块习武之料啊”,然后出门被猎人一箭射死,GameOver。那么在游戏开发里面,基本功对应了计算机体系下的基础知识,包括:编程语言(C++)、数据结构、算法、操作系统、计算机组成、汇编语言、计算机网络等等。这些基础知识的具备与否,决定了你是否有资格成为一名游戏程序员,而掌握得扎实与否,更是影响着你今后的成长速度。从我的个人经验来看,这些基础知识的重要程度正如我列出的顺序所示,尤其是前三项,不仅是对于游戏开发本身重要,而且也是求职面试中最关注的。至于如何学习,这又是另外一个话题了,知乎也已经有很多对应的问题和优秀的答案了,此处我就不赘述了。
再来说内功,在游戏里每个门派都有自己独有的内功心法,功效特点也各不相同,或阳刚(九阳神功)、或阴柔(九阴真经)、或偏重进攻(龙象般若功)、或偏重防守(金刚不坏神功)。选择什么内功决定了你的修炼方式和发展路线。而内功的深厚与否,更是决定了你将来能成为绝世高手,还是沦为无名之辈。除了主角之外,一个人短时间内一般只能修炼一门内功心法。
那么对应于游戏开发,内功心法意味着你将要研究和专注的领域。包括专注于视觉效果的图形渲染领域(紫霞神功,修炼时有氤氲紫气浮现于脸上,视觉效果好)、专注于运行效率的性能优化领域(化功大法,将所有性能瓶颈化于无形)、专注于模拟万事万物运动规律的物理模拟领域(小无相功,所有功法皆为我所用,模拟一切),还有动画、3C、Gameplay、AI等等多种领域。这些领域都有着非常庞大且高深的知识等着我们学习,因此正如内功修炼一般,我们在短时间内,甚至整个职业生涯,其实专注于某一个特定的领域就可以了,你对该领域研究得越深入,你的内功就越深厚。
另外,这些领域也分别对应着游戏引擎开发和游戏客户端开发的一些工作范畴,如果你对这些领域还不太了解,或者不知道想要从事哪一个岗位,可以看我之前的一个回答请问腾讯校招中游戏引擎开发和游戏客户端开发有什么区别吗? - 知乎 (zhihu.com)。
最后是招式,招式是你在江湖上安身立命的本领,是真正能上阵杀敌、攻城略地的法宝。对应于游戏开发,就是你在研究领域下的特定细分方向的技术积累,是你真正能产生价值的工作能力。从我个人的看法来说,我认为现在的游戏行业稀缺的不是一个什么都会,但是各项都不是非常精通的人,而是十分专业化、在细分领域有深厚积累的人才。最近我看了一下米哈游的校招描述,光是跟图形学相关的岗位就有六七个,包括但不限于:图形算法工程师、图形学研究员(深度学习方向)、图形工程师、渲染开发、引擎开发... 而在实际的工作中,一般也是优先某个人负责自己擅长的方向。因此,你是否有自己的独门招式,或者是否把一项技艺修炼得炉火纯青,决定了HR和面试官是否会跟你相见恨晚、表示欢迎加入,还是觉得这个人平平无奇,因为没有什么特点而筛选掉。
具体而言,比如渲染领域中的招式:六脉神剑(光线追踪)、暴雨梨花针(粒子系统),比如物理领域的招式:乾坤大挪移(物理碰撞),比如AI领域的招式:凌波微步(寻路AI)、移魂大法(怪物AI)...(不好意思,上头了,假期实在太无聊了)。正经一点,那就大概列出一些我知道的各个领域的细分方向吧:
渲染(光照、着色、阴影、抗锯齿)、物理(刚体碰撞、流体模拟、布料模拟、毛发模拟)、动画(骨骼蒙皮、Motion matching)、3C(角色、相机、控制)、AI(怪物、寻路、车辆)、Gameplay(战斗、任务、技能)、工具(各种编辑器)。另外值得提的一点是,程序岗位是一个非常重视实践的岗位,所谓招式的熟练度,对应于你的实际工程经验,包括你做过的项目、解决过的问题,你对于游戏引擎的熟练程度等。
最后我再提一些具体可行的建议吧。题主现在才大一,十分年轻,很幸运这么早就找到了自己想要从事的方向,我在这么大年纪的时候还是个网瘾少年呢。题主还有很多时间可以慢慢地修炼和提升自己。建议前两年的时间先沉下心去学习计算机的基础知识,平时学校的专业课都好好听听,如果觉得上得不好,可以学学一些国外名校的经典课程,或者自己买一些经典书籍来学习。先把C++、数据结构和算法基础打好了,做一些小项目练手。
期间可以多看看知乎一些优秀的游戏领域的答主的文章,加深对游戏开发的了解。然后去买一本《游戏引擎架构》,当作课外书来看(第一次可能很多看不懂),同时思考自己感兴趣的、未来想要研究的领域。基础打好之后,可以开始尝试做一些游戏项目。选择一款引擎,Unity或者Unreal,既然你想开发3A级的游戏,那么我建议选Unreal。然后就跟着网上的教程,手把手地学做几个游戏吧。做完游戏过把瘾之后,你应该也可以算是初窥游戏开发的奥妙了。接下来可以开始深入学习自己想要钻研的领域的知识,然后围绕着这个领域尽可能得去做一些可以拿得出手的项目吧。比如图形学领域,那知识真的是浩如烟海,学习路线也可以看看知乎的其他答案,我也不介绍了。
一年多的时间,你应该也到了找实习的时候,勇敢地向游戏公司投递简历吧。顺利的话,就可以得到实习的机会,那就继续如饥似渴地学习吧,尽快地积累自己的工作经验。如果到了这一步,你应该也算踏入了游戏行业,很多东西应该会清晰明了很多,接下来就自己把握吧。
最后我想引用我喜欢的游戏《武林群侠传》/《侠客风云传》中,主角有一句很经典的台词,曾经也作为我奋斗时期的座右铭——“一点一滴的磨练,都是通往强者之路的基石。”
加油吧少年~!

senholy 发表于 2023-12-14 12:18:58

不用迷茫,这里有完整的学习路线和资料
想做3a的话,建议引擎学ue。入门我更推荐unity,毕竟学习资料多。深入学ue,毕竟开源。

最后附文章
游戏开发学习路线与资料推荐
当然,这个带你快去了解游戏开发实际招聘现状。如何入行。
五尘:怎么进入游戏开发领域?
我是五尘
分享游戏行业最真实动态,分享技术,分享经验
一起来公众号【游戏君五尘】交流成长吧
页: [1]
查看完整版本: 游戏开发需要学习什么?