经常有知友问我,我很喜欢玩游戏,可以从事游戏开发吗?开发游戏需要哪些技能?一款游戏的开发需要哪些人员参与?诸如此类的问题比比皆是。
本场 Chat 老司机带你弯道超车,以 10 年游戏行业的真实背景和经验为实例,为打算入坑游戏开发的朋友们答疑解惑。你可以学习到:
游戏开发团队结构 开发人员技能树及侧重点 常见的开发流程和工具 游戏类型及架构选型 经验教训与建议 引子
经常有网友问我,我很喜欢玩游戏,可以从事游戏开发吗?开发游戏需要哪些技能?一款游戏的开发需要哪些人员参与?诸如此类的问题比比皆是。作者以 10 年游戏行业的从业经验做背书,为打算入坑游戏开发的朋友们答疑解惑。
开发团队构成
首先要明确的一个概念就是网络游戏(或者叫在线游戏)其实也是一种互联网产品,因此,游戏的开发团队也就具有互联网产品开发团队的基本特征。比如,技术上分前后端,有产品经理,有美工等等。早期我在开发社交游戏的时候,团队组成和其他非游戏产品的团队几乎没有区别,因为这种需要嵌入在网页中的游戏和做一个功能性网页需要的人力和技术栈很类似。之后的十多年,网络游戏的复杂性和规模也越来越接近于大型的单机游戏,所以团队形式也从之前类互联网产品团队演变成为了制作人体制。
制作人体制
制作人简单来说就是全面掌握游戏设计、开发和运营的总负责人。你可以认为这个角色就是电影行业的导演+制片人。制作人体制,就是以制作人为核心打造的满足游戏开发的职能组织结构。在制作人体制下不同职能的员工都要汇报给制作人(这一点和互联网产品团队的汇报路线有所不同。比如我是开发人员,应该汇报给技术线的负责人例如技术总监,而不是产品的负责人)。
我们用一个图例来说明一下制作人体制下的团队层级关系。
团队职能划分
首先你需要知道:一个游戏的最小核心职能成员只有 3 个:策划、美术、程序。因为游戏开发的几乎全部实体产出都是由这 3 个成员完成的。换句话说,组建一个最小的游戏开发团队只需要 3 个人。甚至说,有同时具备以上技能于一身的人的话,他 1 个人就行。这样的案例并不是没有,比如大名鼎鼎的《Minecraft》,或者是我非常喜欢的夫妻档开发的《Battle Heart》,以及许多在 taptap 上很成功的独立游戏。
策划(Designer)
策划其实就是产品经理,主要工作是设计游戏的背景、故事情节,功能模块等,并一一文档化。其中,内容(系统)策划一般做功能设计、故事情节等,类似电影制作里的编剧;而数值策划是游戏这种互联网产品特有的一种职能,游戏中有大量的数据化的工作,比如经济系统,角色成长系统,都需要有一定数学功底的人进行设计。其设计结果的合理性决定了游戏的一个要素:平衡性。平衡性对游戏的品质和生命周期都有很大影响。星际争霸能畅销 20 年,和其完美的平衡性有很大关系。有些游戏还设置了关卡策划,比如三消类游戏,不再赘述。
不客气的讲,策划谁都能做,因为这个工种是一个几乎不需要特定专业技能的工种(最多需要会 Excel、Word)。一个有经验的游戏玩家,且善于总结和思考,就能够根据自身经验给出一个基本设计。但是话说回来,要想成为一个优秀的策划,难度非常大,对人员素质也有很高要求:创造性、合理性、完整性、平衡性,其工作内容是思维的产物,且极难量化。毫不夸张的说,一个游戏的成功与否,和策划团队的能力有最直接的关系。
我个人认为国内游戏行业优秀的策划人员非常少,这也就是我们很少能看到令人惊艳的国产作品的原因。
策划人员通常是美术和程序共同的敌人,需求变更会导致其他人做无用功或者无休止的加班。一个功能自己都没想明白就让程序去开发,改来改去成了家常便饭。所以不合格的策划特别不受码农的待见。
美术(Artist)
美术主要的工作是对游戏内容进行包装和艺术化。根据游戏类型的不同,一般分为原画、2D、3D、动画等。原画美术主要负责过场画面,为 3D 提供原型,角色设计等。一个游戏推向市场时各种炫酷的海报等都是来源于原画。2D 主要负责界面的总体风格和布局设计,游戏中道具、武器等部件的绘制。3D 顾名思义,就是做 3D 场景、角色。动画一般是做游戏中需要的动态效果、特效,属于锦上添花,比如技能释放时的动画,角色战斗中的动态等等。
在早期,功能比较单一的小游戏或者社交游戏,团队里通常没有固定的美术人员,而是由统一的美术部门进行支持。比如互联网公司的美工需要负责页面的设计,游戏部门有需要就调派美工进行支持。对复杂的游戏来说,美术的工作量是非常大的,而其产出又是阶段性的,完成后不需要维护,所以养一个庞大的美术团队成本上不划算。因此,美术外包是业界比较流行的做法。也有美术团队作为独立部门存在的情况,会同时负责多个游戏,进组干活,完成后再去其他组。
美术是促成游戏成功的另一个主要因素。优秀的美术风格甚至有扭转乾坤的能力。比如我之前参与开发的卡牌游戏《灵异阴阳录》,有大量的忠实玩家是为了收集画师的作品而持续的进行时间和金钱的投入,使得游戏的生命周期也得以延长。
美术人员只和前端程序有交集,和后端程序完全没交集,没有利益冲突,通常情况下都比较融洽。
程序(Programmer)
码农大家都很熟悉了。现在绝大部分游戏都要联网,所以有前后端之分。前端主要负责页面端、App 端的展示逻辑,或者是和展现相关的物理特性处理逻辑,如寻路、碰撞、同步插值计算等等。后端主要负责业务逻辑,但其实无非是对数据进行操作和读写而已。有些逻辑的责任方并不明显,可以选择写在前端或者后端,一般要根据性能、实现难度等情况去判断,保证合理性。
我个人认为,程序的好坏,不能决定游戏的成功,只能决定游戏的失败。代码质量的区别,只有性能、健壮性、扩展性的区别,在功能覆盖点上是一致的。游戏上线初期用户量很小,程序质量的好坏很难被检验,用户完全不知道程序写的是优雅高尚还是狗屎一坨,因为他不能直观的看到。而一旦游戏成功了,DAU 全面飙升,程序的重要性才逐渐显现出来。烂代码会导致大量的 bug、并发能力弱、游戏响应慢等问题,这些因素一旦超过一个阈值,就会让游戏走向失败,或者加快用户流失率,缩短游戏的生命周期。一个很好的例子就是《我叫 MT》在恰当的时间点推出而大获成功,而后才暴露出服务端代码在大用户量时并发处理上的问题,CEO 本人居然在微博上告诫玩家不要在高峰时期登录。不去鞭策团队优化性能,而建议玩家改变游戏行为,实在让人贻笑大方。
程序员是整个团队中最苦逼的一群人,班加的最多,黑锅背的也最多,出了问题也是第一个要出来解决的。前端码农通常比后端好一点,游戏打包完成就没什么事了,而上线之后后端的噩梦才刚刚开始。你在地铁上,公交上,马路上,席地而坐处理线上问题的一定是后端码农。尽管后端没法决定游戏成功,但一不小心就能毁掉一个游戏甚至是整个公司,工作风险极大,需要有强大的心理素质。
支持部门
支持部门的工作职能相对独立,有可能是由多个团队共享的,比如 QA,可以为公司多个游戏开发团队进行测试工作,而不仅仅服务于某个团队。支持部门也会根据游戏的复杂程度和团队规模做一些裁剪。不能说这些职能可有可无,但相对比较灵活。
暂无评论内容