想从事游戏开发,应该在大学阶段学到些什么?

0 条评论


  • 16

    像素杆菌

    龙茂IMMO像素杆菌 等 16人赞同

    可以提供一个我觉得可行的思路仅供参考……

    首先你要先明确自己的目标,比如:你想在毕业前 能用 [Unity/Cocos2D]  [独自/合作] 开发一个 [Rogue Like / Platformer] 游戏 且有 [特色的光影效果/网络功能/随机迷宫生成功能]  。然后你就可以根据你的目标来学习需要的知识,就有如下计划:主线任务: C#, Unity  支线任务:面向对象编程,C/C++, 2D/3D几何图形学, Shader, 线性代数,网络编程,Linux …… 。 可以根据自己的喜好类推出适合自己的主线和支线。

    一般来说,你能在大学毕业前写出来有一定水平的游戏Demo,再加上个好大学,那么就不是太愁找不到工作了。

    学习方面推荐在学好编程基础,算法,软件工程的同时,学Unity这类一线的开发引擎最实用,且对于目前的国内市场来说,Unity也是主流之一。然后就是用Unity写游戏,至少毕业前有1-2个看起来不错且有一定特性的游戏。因为Unity如果做3D游戏的话很容易就做出来外表看起来很不错的游戏,所以说要有特性……  

    在学习这些实用技术的同时,学习面向对象编程,2D/3D几何图形学, Shader, 线性代数……这类基础知识也很重要,要多刷各种你感兴趣的技术书,或者资料。这样可以帮你应对以后游戏行业的发展,应对新的游戏引擎,或者如果需要(用/参与开发)一些非主流游戏引擎(大公司内部自研引擎)也很容易胜任。程序员的知识广度还是很有用的,在自己做好“主线任务”的同时,多做些“支线”只会有好处。总之,如果驱动你前进的是 专注 和 好奇心,那么就应该算是个好的状态。

    千万不要跟着学校课程的节奏走,而是应该自己主动学习,当然学校的课程至少不能挂,而且建议都考高一点,之后万一(很多人都)想出国,这些分数和知识会变得很有用…

    发布于 2017-02-21 20:28:14 6 条评论


  • 8

    KlameClocker“无敌帅气”程序员

    龙茂像素杆菌IMMO 等 8人赞同

    首先如果你的定位是游戏中的程序员,那么先把一个语言学通了就好。如果你期望的是游戏开发中的其他职位,比如策划,那么程序语言只能作为一个辅助。我下面说的是你作为游戏程序员的一些建议。

    虽然说程序语言很多,但是基本思路是差不多的,你精通了一个之后,其他就在需要的时候学就好了。我自己的话是学的C++,后来因为工作需要接触过 Java,UnrealScript,C#,ActionScript,JavaScript;后面的这些我在使用以前是从来都没碰过的,但是上手并不需要多长的时间。所以说,你只要精通一个就够了。

    另外不要指望学校教的,你从学校学来的是应付考试用的,你自己要使用它才行。你可以先自己制定一些小目标,记住一定要小,不是1个亿~。鉴于你一开始可能只学到了命令行,你可以做一些没有图形的RPG回合制游戏,然后使用你所学到的知识去完成它。当你完成这个目标之后,记得给别人玩玩你的游戏。然后接着你可以制定更大一些的目标,或者给你的第一个程序增加功能。如果你想要给你的游戏增加图形,你可以上网查查如果加载和显示图片等等……当你做的东西越来越大越来越多的时候,你学到的东西也就越来越多了。

    记住你是为了做游戏而学习,不是为了学习而学习,兴趣才是你的第一动力。

    发布于 2017-02-21 18:41:27 4 条评论


  • 6

    根正苗红而且不吃铁皮的高铁默默注视着你默默看你们装逼的高铁

    龙茂ylqcowlvlylq无有时代 等 6人赞同

    c++, 数据结构, direct3d


    补充几点:

    1. 语言不用学太多,但是学好c++几乎可能是任一家公司的敲门砖。c++对于正常科班学生没有特别难,其他的语言,完全可以入职公司后根据需要学习,实际工作中也大部分是需要什么用什么,能做到这一点的前提也是你要有一门精通的语言作为压箱底(最好是c++)。


    2. 会说话和会写作是两码事,你还应该补充基本的逻辑思维,数据结构是你写出良好程序逻辑的基础,一般数据结构和一些初级算法是唇齿相依的。所以你应该好好学习数据结构,在编程过程中对的方案选择上,可以有比较轻松富裕的空间。


    掌握以上两点,基本就可以成功担任一名逻辑程序了。但是学会写作,除了必要的文学功底之外,还需要有历史、风俗这些领域知识。类似的,在能够正确、自如的编程过程中,你仍然需要学习一些专业领域:游戏AI、图形学、编译原理、数据库、网络与通信。你可以任意择其一进行发展。也只有在某一领域有所涉猎,才能够保证你的个人职业长期发展的空间。


    3. 如果你想做客户端相关的建议学习图形学知识,射线追踪虽然是本质但是游戏是不能用的,使用光栅化相关的API:DirectX/OpenGL等,这会涉及到:

     3.1 数学能力:线性代数,概率论等相关知识。

     3.2 工程能力:学习一款别人定义规则的API,并按照说明手册和规则使用。

     3.3 英文能力:全英文阅读文档的能力。

    (如果你想做服务器,请参考其他答案)


    ps. 职业发展后期,有3个能力非常重要:1.数学。2.英语&日语:特别是阅读能力必须过关,你每天都需要面对外文资料和新闻。3. 自学能力:你应该学会通过查阅网络资料,并参考查到的资料,对自己未来的发展制定出相关的学习方案。比如根据大学的课程列表学习课程,或能在科技相关站点了解技术权威书籍阅读(购买或盗版PDF),或筛选不必要的课程和垃圾书籍。而不是在各种平台里靠询问获得解答。


    人生是一段长跑,你并不会在你大学毕业的那一天停下脚步。

    更新于 2017-10-30 23:44:54 0 条评论


  • 4

    白枫喜欢任天堂的游戏

    niceejuiceHarrix来自过去的银弹 等 4人赞同

    what_you_need?

    if what_you_need == "通用游戏开发技术" {
        c++
        图形学
        数据结构
        游戏人工智能
    }
    if what_you_need == "手机游戏开发技术" {
        Cocos2dx - c++
        Unity3d - c#
    }
    if what_you_need == "桌面游戏开发技术" {
        Unity3d - c#
        Unreal - c++, blueprint
    }

    python普遍用于服务器运维,java普遍用于客户端应用和服务器应用,如果想进入游戏编程开发的大门,死磕c++就对了,c++学好了学其他语言很快的,亲测,如果想快速制作出游戏,去学会使用一款顺手的游戏开发引擎就可以

    可以考虑先用cocos2dx开发一款小游戏开始,这样你会得到不少经验。

    更新于 2019-02-03 03:48:22 2 条评论


  • 3

    浪里轻舟codecraft

    zzhq2颜叙永唯 赞同

    1. 上招聘网站搜集理想公司的招聘信息,整理分析需要的技能和知识

         目的:

                a. 为自己的学习过程提供学习路径

                b. 为自己增加视野和行业认知,了解当前行业流行技术,工具都是什么

    2.为自己设定一个基础的目标,毕业前至少实现一款小游戏(坦克,积木等)。

        目的:

               a. 通过对游戏的思索过程,了解和实践思考,设想,实践,修改,验证的过程

               b. 通过对比开源游戏中别人的实现,可以深刻的理解语言,模式,架构

               c. 通过游戏的搜索学习过程,可以增加对游戏行业的社群(开源网站,gim),技术点,备受关注的书籍等信息的了解。

    发布于 2018-06-06 18:52:25 1 条评论


  • 3

    Bloo策划一枚

    龙茂Gakari黎赛琉 赞同

    在职3年小策划答一发

    游戏开发比较宽泛,从题主的问题里,我并不是能很确定题主是想要从事程序/美术/策划三大类中的哪一类。

    如果是程序/美术,以下答案可能没什么价值,如果是策划,可以往下看

    如果题主想要在毕业后进入游戏开发领域并以策划为职业的话,我给题主的建议是:

    (1)开始以探究设计目的的思维去玩游戏,关注游戏内的点滴

    (2)在大学里掌握一门游戏设计相关的语言,并尝试去设计游戏

    首先第(1)点是入门当策划的好路,虽不能肯定是最好,但能开始去思考游戏内的设定及设计目的,在毕业后就职策划的道路上会比较轻松。当然策划里面又有很多类,如剧情/系统/数值,再大点的项目甚至会有“脚本/动作……”等细分左右的策划,如果能明确自己想要发展的方向,也可以提前往这方向去留意学习

    然后是第(2)点,掌握一门游戏设计相关语言,并非当一个策划的必要条件,事实上很多普通公司甚至于一些大厂在应届生校招的事情并没有这类的要求。

    作为一个在职3年的小策划,对国内游戏开发行业的情况的认知,如果真心喜欢游戏设计,如果你没那么走运进入大厂,你很有可能会被各种小厂雷同lowb的各类换皮项目给淹没,浮躁的行业氛围会将你的创新动力一步步消耗殆尽。

    此时,如果你拥有一手独立研发的技能,你可以在业余时间自己创造,或者想要召集小伙伴一起创业时,所需的要求也相对较低。(如果一个纯策划,除非人脉硬底子足,甚至上升到制作人,应该创业有点难度,毕竟策划的实力只有在游戏成品出来的时候才能体现)

    最后,在游戏行业已经开始区域平缓发展,从前在过激发展阶段而增加的策划,就业前景会很迷茫,国内那加班的普遍情况,策划行业还是算半个青春饭的,如果不幸没有成功项目经历,策划的道路将会很难走。而一手独立研发的技能,算是如果真的无法以策划的身份在职场走下去,但也能以“游戏设计师”的身份,在自己的人生中,努力去创造自己喜欢的游戏吧。

    干货不多,更多的是自己3年的一个感想

    以上

    发布于 2017-02-22 14:03:32 1 条评论


  • 3

    帕秋莉诺蕾姬多读多听多看多想,少说话

    龙茂林之叶黎赛琉 赞同

    我补充一点,如果直接去用引擎可能会感到一头雾水,这时候可以参考一下 RPG Maker 系列默认工程的现成代码,对理解游戏逻辑的基本结构(场景切换、刷新流程等)很有帮助。

    然后,写一些小的东西会很有帮助,因为周期很短,可以快速得到反馈以及成就感。关于这个我强烈建议关注一下一年三届的 Ludum Dare 。虽然说是游戏制作比赛,但是大家的心态都很放松,你可以看一下往届别人的作品,很多人完成度和质量都不高的。所以说不用太在意自己做得怎么样,乐在其中很重要。

    写完才想起来自己还没毕业(逃

    更新于 2017-02-21 22:06:49 1 条评论


  • 2

    kEN

    RustyLink无有时代 赞同
    换个不太一样的方向。

    考虑到lz还是大一,推荐把大部分精力放在基础课程(文理都算),以及好好培养课程以外且与游戏没有直接关联的兴趣爱好。
    到了大三大四如果方向还没变的话,再根据那时候的环境熟悉一下技能。
    毕竟肚子里没点货技能再好也是搬砖工,不是做游戏的。
    发布于 2018-06-08 08:05:17 0 条评论


  • 1

    Han*丝程序一个

    龙茂 赞同

    一年的从业者分享一下个人的经验

    我大学的时候用C语言写过扫雷,贪吃蛇,2048..也做过类似学生管理系统之类的。 如果以后你要在程序方面深造那你的基础一定要打扎实。线性代数什么的一定要学好。

    养成良好的代码习惯。个人觉得可能去找小的游戏公司实习会比读书学习进阶的快。在实习过程中如果有自己的想法,或者突然有个小想法做个小游戏什么的就赶快实现。不求好不好玩。一定要做出来。

    工作过程中一定要时刻学习。因为既然你选择了做游戏就要对起你的职业。因为你做的游戏是你的作品。别人玩你的作品的时候要感到开心,因此应该向一个匠人一样打磨你的代码跟产品。要对自己游戏研发的职位与你做的游戏负责

    祝你能开开心心的做游戏。

    发布于 2017-02-22 11:34:06 1 条评论


  • 1

    刘师傅一坐地铁就闹肚子,估计是病

    龙茂 赞同

    Just do it and start it now.

    自己制作过游戏比什么都强,不开始做就永远也做不出

    当然,如果面试开发的话,做过一个橙光的纯AVG可能不会加太多分

    更新于 2017-02-21 20:47:37 1 条评论


  • 0

    摸鱼佬摸鱼

    退学就完事了

    发布于 2018-06-07 16:01:12 0 条评论

  • 登录奶牛关账号即可参与讨论

{{question['follower_count']}} 个玩家关注

...

相关元素

相关问题

请问这些2d游戏里的水面倒影效果是如何实现的?

31人关注 5个回答

网络游戏中,如果玩家行为可以永久影响世界,包括地形破坏,生态平衡等对开发技术的要求有多高?

22人关注 10个回答

奶牛关适合开发者讨论技术问题吗?

7人关注 6个回答

问题被以下收藏夹收录