程序专业学生如何才能成为游戏制作人?

2 条评论


  • 13

    汪汪仙贝世界架构爱好者,文化厚重爱好者

    YogeKindred香港记者跑得快 等 13人赞同

    同样是游戏梦想、软件专业毕业的大学狗一枚

    目前供职于某游戏制作工具公司开发相关部件

    虽然题主的描述跟题目本身有一定区别,不过先按描述前来回答题主的问题

    ————————————————————————

    目前可见的大部分“商业”游戏与“成熟”游戏的开发方式是通过游戏制作工具或者游戏引擎进行开发的,而小型游戏与实验游戏可以通过直接实现的方式来进行;

    解释一下题主在题目描述中表现出来的一些疑惑:

    1、工具?引擎/框架?手写?

    先来给题主解释一下这三种方式。工具是说使用一些封装比较完善的软件,进行简单的配置、设定或重组,来制作游戏的过程。

    一般这种制作主要考虑的方面是需要使用素材(音乐、美术等),制作过程相对简单,极少需要甚至不需要编程能力,同时是一种制作效果在极大程度上受到工具本身影响的制作方式。

    同时,这也是很多公司内部的游戏设计人员使用的方式,因为这样可以让他们专注于游戏设计而忽略其他部分,也是一种适合UGC(普通用户创造价值,与专业人员创造价值相对)的开发方式。

    比较典型的制作工具,比如

        - RPG制作大师(RPG Maker)系列,通过素材库可以完全靠鼠标制作角色扮演类游戏;

        - 吉里吉里(KRKR),文字游戏制作工具标杆(Fate/Stay Night即是由此制作);

        - 橙光文字游戏制作工具,橙光平台文字游戏的官方工具,在国内普通用户中知名度 稍高,操作相对偏傻瓜化;

        - 另有比较强大的 魔兽世界编辑器(Warcraft World Editor,又称魔兽地图编辑器),制作魔兽地图的工具(DotA即是用此创作);

        - 银河编辑器,星际争霸2的制作工具,可以制作功能强大的星际争霸2地图。

    此外,大多数支持Mod的游戏都有许多官方、非官方制作工具。

    ————————

    游戏引擎/框架(实际上这两种方式仍然有所差异,但是由于面向的用户类似所以放在一起进行说明)是另一种用于开发大型游戏的方式。

    这些引擎一般由一系列的类库、引用、文件架构构成,应该说,它是目前实现大型游戏的主要选择。

    游戏引擎的主要用途是帮助游戏开发者解决一些复杂而精深且跟游戏逻辑关联不大的问题,例如画面渲染、物理计算、内存管理等等。这些技术性很强的工作,由专业的团队完成后集成在游戏引擎/框架中,让开发者专注于实现游戏的运行逻辑部分即可。

    使用游戏引擎/框架需要一定的编程能力,但是不需要过多地深究编程中某些艰深难懂的领域(例如计算机图形学),仍然是为了方便开发者专注设计的。

    部分引擎也具有图形界面和制作软件,但不像工具那般提供针对于非编程人员的傻瓜式操作(并非地图炮),它主要的特点凸显在能够发挥的空间要比工具大得多。

    比较知名的游戏引擎/框架(本人对此方面了解不深,望发烧友补充)有

        - 虚幻引擎(Unreal,其中第三代虚幻引擎由于发布过免费版UDK所以被人们熟知);

        - 寒霜引擎(Cry Engine)

    另外,目前还出现了专门针对个人和小型开发团队的Unity(集成引擎与制作工具),Cocas-2d(集成引擎与制作工具),白鹭引擎(Egret,H5解决方案)。它们的工作流介于制作工具和老牌游戏引擎之间(虚幻引擎的第四代产品虚幻4也向易用性这方面做了优化)

    ————————

    最后来谈谈手写。

    手写在大多数情况下不适用于大型游戏开发。前面说到了,引擎存在的意义是帮助开发者解决很多艰深的程序问题,而直接手写大多数情况下是因为不需要考虑这些问题。当你制作一款小游戏的时候,一般来说用不到引擎的性能,又不想被工具所限制,便可以尝试暴力手写啦。

    手写游戏的开发流程与程序无异。

    ————————

    实际上,每一种方式都能最终实现一款游戏,这三种方式,在实现相同的效果的时候,按照上手简单程度来说一般是:工具>引擎>手写,按照工作量来说一般是:手写>引擎>工具,按照自由程度来说是:手写>引擎>工具。

    手写很难直接实现大型游戏。如果真的需要,也一般是先用手写的方式制作引擎,再用引擎来制作游戏。

    2、软件工程?

    软件工程对于游戏制作来说无疑是有效的。毕竟游戏的开发也是软件项目,但是首先要好好理解软件工程的意义。它并不是单纯教你一套死板的开发方法,更多的应当是启发思考,为什么需要这样的方式来管理软件的开发过程?

    对于个人开发者而言,使用敏捷模式来开发小型游戏是比较常用的。这是因为个人开发者的需求往往不能在整体开发流程中保持不变(甚至一边开发一边要改)。而对于一个较为大型的工程,从每一个小原型做起,采用增量模式也是可行的。

    3、实验?商业?

    好好考虑一下自己开发游戏的目的。如果是为了实践知识、磨炼技能和有趣,那么学习到经验是最主要的,开发出一个小游戏或者游戏的一个系统就足够你得到很多,不过如果是为了商业发行,那么需要专业的游戏从业眼光才行,这些我不是内行,就不误人子弟了。

    4、语言?

    实际上任何编程语言都能完成游戏制作。你需要思考自己的技能水平,然后从“力所能及”出发。而且,语言的处境受到环境和支持者极大的影响。

    不过按照它们当前的环境,非要比较的话,可以分成这么几个类别,举几个简单的例子,同样欢迎勘误和补充

    被流行工具采用作脚本语言(被何工具采用),适合新手学习使用,前景火爆:

    javaScript(Unity)、C#(Unity)、C++(Unreal)、TypeScript(Egret)

    有流行平台原生支持(何平台),适合程序力强的人,前景较好:

    Java(Android)、Objective-C(IOS)、C#(微软系)

    有大量图形化类库支持,适合程序力强的人,前景广泛

    Java、C++、Python 等

    浏览器支持,适合Web开发者,前景火爆:

    javascript/Html5(需要学习类库,例如CreateJS、WebGL)、TypeScript(Egret支持)

    傻傻没人爱,作为新手游戏开发不太适合,只能纯手写

    C 等

    ——————————————

    顺带,我是Flash/ActionScript党(笑)

    更新于 2016-10-13 22:56:09 4 条评论


  • 3

    蒋学驽一只节操是叠加态的野生游戏设计师

    punkorangeHolmes Qi蒋学驽 赞同
    建议直接上手unity,先玩熟,玩熟了你自己就有考虑了。
    更新于 2015-11-18 20:16:28 0 条评论


  • 2

    火猫什么都不懂

    Yoge蒋学驽 赞同
    undertale是用gamemaker做的,to the moon是用rpgmaker做的。装备根本不重要。
    更新于 2015-11-23 09:14:31 2 条评论


  • 1

    Hazy

    无有时代 赞同

    1. 尽早学习游戏设计方面的知识。

    游戏制作最最核心的部分就是游戏设计。你既然说是想做“制作人”,那就更应该重视设计。网络上有很多书籍、资源。找到一本你觉得有趣的,认真通读。之后,开始培养撰写游戏日志的习惯。游戏日志并不是玩家视角的评测,而是以你所学到的设计知识作为工具,对游戏系统进行分析。这能够帮助你帮助建立一种设计师的视角。

    2. 发挥你的专业优势。

    软件工程专业不仅仅是教你敲代码,还涉及对于软件开发流程和软件质量方面的专业知识。这也是和计算机科学专业最大的区别。多主动去看一些这方面的书籍,譬如敏捷流程,团队的分工,成本的估算等等。这会让你区别于非专业人员,成为你独特的优势。

    3. 寻找一切和别人合作的机会。

    游戏开发是一项群策群力的活动。要学会在团队中表达自己的想法,聆听他人的意见。以及学会在他人的想法之上,进行“再设计”。可以从参加Game Jam开始。

    4. 主动寻求学习过程中的反馈

    作为学生有一个很大的优势:有很多人可以帮你做游玩测试。所以当觉得做了一个小成品,你可以立即把它发给自己的朋友,听听他们的意见。如果反映较好,会极大的激发你继续制作游戏的动力。如果反映不好,也能督促你反思设计。

    5. 找到你内心真正想做的东西。

    游戏的类型众多,“想要做游戏”其实仍旧是个很宏观的想法。你要亲自动手,不断的做游戏,在那之后,你才能找到自己最想做的游戏类型,甚至能理清自己的职业规划。

    更新于 2020-04-11 13:37:37 0 条评论 禁止转载


  • 1

    游戏开发极客<创游记>作者

    Yoge 赞同
    国内做unity的人比较多,资源也多一点。
    更新于 2015-11-23 10:24:29 0 条评论


  • 0

    Dex兴趣使然的博物爱好者

    楼主说的“游戏制作人”是指“Producer”还是“游戏从业人员”?

    发布于 2016-07-15 14:05:41 0 条评论


  • 0

    warmtrueVR游戏开发者

    可预见的将来应该都是基于成熟引擎去开发, 作为新手同样建议以unity入手,实际做做开开,参考别人教程什么的,踩的坑多了就会了

    发布于 2016-01-06 17:25:02 0 条评论

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