游戏作为娱乐生活的一个方面,参与其中的人越来越多,而大部分参与其中的人都是以玩家的身份。
他们热爱一款游戏,或是被游戏的故事情节、炫丽的场景、动听的音乐所艳羡,亦或是被游戏中角色扮演、炫酷的技能、有趣的任务所吸引,然而他们中的大多数可能并不了解如此一款好玩的游戏是如何打造出来的。
对于想来这个行业尝试的新人们,先对游戏开发制作有个整体的了解也是非常必要的。
接下来我将从几个方面来分别进行阐述。
游戏,说白了就是一个程序,这个程序或在 PC 上或在移动设备上运行,玩家通过与这个程序交互来达到娱乐性的目的。我们先了解一下游戏中用到的各种引擎以及游戏相关术语。
游戏引擎是游戏研发的主程序接口,它为开发者提供了各种开发游戏的的工具,即可编辑游戏系统和实时图像系统的核心组件,其目的就在于让开发者可以快速的做出游戏而不必从零开始。
游戏引擎包含渲染引擎、物理引擎、碰撞检测系统、网络引擎、音效引擎、脚本引擎、动画及场景管理等。
渲染引擎:是对游戏中的对象和场景起到渲染的效果,游戏中的角色都是通过渲染引擎将它的模型、动画、光影、特效等所有效果实时计算出来并展示到屏幕;物理引擎:让对象运动遵循特定的规律,比如当角色跳起的时候,系统内定的重力值将决定它弹跳的高度及下落的速率;碰撞检测系统:可以探测各物体的边缘,当两个 3D 物体在一起的时候,系统可以防止它们相互穿过;网络引擎:是负责玩家与设备间的通信,处理来自键盘、鼠标及其它外设信号。若游戏联网,它也用来管理客户端与服务器间的通信;Lua 引擎:是 Lua 的服务器引擎,lua 是一种轻量级的嵌入式脚本语言,在网游开发中应用广泛。
渲染引擎:是对游戏中的对象和场景起到渲染的效果,游戏中的角色都是通过渲染引擎将它的模型、动画、光影、特效等所有效果实时计算出来并展示到屏幕;
物理引擎:让对象运动遵循特定的规律,比如当角色跳起的时候,系统内定的重力值将决定它弹跳的高度及下落的速率;
碰撞检测系统:可以探测各物体的边缘,当两个 3D 物体在一起的时候,系统可以防止它们相互穿过;
网络引擎:是负责玩家与设备间的通信,处理来自键盘、鼠标及其它外设信号。若游戏联网,它也用来管理客户端与服务器间的通信;
Lua 引擎:是 Lua 的服务器引擎,lua 是一种轻量级的嵌入式脚本语言,在网游开发中应用广泛。
总的来说,一个游戏是引擎和资源组成的,资源包括图象、声音、动画等,游戏引擎就像一个发动机,控制着游戏的运行,它按游戏设计规则依次调用游戏资源。
CD-key:游戏的序列号或防盗密码;BugFree:测试管理平台,是一款基于 Web 的开源错误追踪工具;Ping:从客户端发送数据到服务器到接收到服务器反馈数据的时间,以 ms 计,若 Ping 值高会感觉延迟;Proxy Server:代理服务器,代理网络用户去取得网络信息;PU:付费用户;RU:注册用户;AU:活跃用户;DAU:平均每日活跃用户;CCU:同时在线人数;PCU:最高同时在线人数;ACU:平均同时在线人数;ARPPU:付费玩家平均收入;封测:限定用户数量的游戏测试,用来对技术和游戏产品进行初步的验证,用户规模较小;内测:面向一定数量用户进行的内部游戏测试,多用于检测游戏压力和功能有无漏洞;公测:对所有用户公开的开放性的网络游戏测试。
CD-key:游戏的序列号或防盗密码;
BugFree:测试管理平台,是一款基于 Web 的开源错误追踪工具;
Ping:从客户端发送数据到服务器到接收到服务器反馈数据的时间,以 ms 计,若 Ping 值高会感觉延迟;
Proxy Server:代理服务器,代理网络用户去取得网络信息;
PU:付费用户;
RU:注册用户;
AU:活跃用户;
DAU:平均每日活跃用户;
CCU:同时在线人数;
PCU:最高同时在线人数;
ACU:平均同时在线人数;
ARPPU:付费玩家平均收入;
封测:限定用户数量的游戏测试,用来对技术和游戏产品进行初步的验证,用户规模较小;
内测:面向一定数量用户进行的内部游戏测试,多用于检测游戏压力和功能有无漏洞;
公测:对所有用户公开的开放性的网络游戏测试。
游戏的分类方法很多,可以按终端、内容、摄像类型、玩家格斗对象、玩家人数等来分,其中按内容来分最直观,它可以根据游戏的元素迅速锚定游戏范围。
我们可以看一下 AppStore 中游戏的分类,非常鲜明,如下图所示。
游戏开发从狭义上讲就是程序部门进行相关游戏程序的编写,从广义上讲,是整个游戏制作过程,这其中包括多个部门的人员配备。下图是一个一般性的游戏开发团队。
整个团队包含四个部门,即策划、美术、程序、制作人,各个部门负责不同的工作,协调完成整个游戏的开发。
策划是团队的灵魂,也分执行策划、数据策划、表现策划、资源策划等,他们主要对游戏剧情、背景进行分析设计,对游戏中的各种规则进行描述及公式确定,对各种资料表格进行维护,对游戏中的特效、动作等进行收集并提出需求,进行 UI 设计及模型相关配置等。程序是团队的骨肉,也可细分为主程序、客户端引擎、服务器引擎、3D 程序、AI 程序、脚本程序、数据库程序等,他们主要负责确定程序的数据结构,确定策划方案的完成方法,将策划提出的各种需求用程序来实现,并为游戏开发过程提供良好的编辑工具。美术是团队的皮肤,可细分为人物原画、人物建模、材质贴图、人物动作、场景动画等,他们主要负责整个游戏的视觉风格,以及人物模型动作等的设计等。制作人主要进行游戏的外部统筹,市场调研、游戏开发进度、游戏版权、游戏宣传、游戏发布及音乐音效素材的管理都是制作人工作的范畴。
策划是团队的灵魂,也分执行策划、数据策划、表现策划、资源策划等,他们主要对游戏剧情、背景进行分析设计,对游戏中的各种规则进行描述及公式确定,对各种资料表格进行维护,对游戏中的特效、动作等进行收集并提出需求,进行 UI 设计及模型相关配置等。
程序是团队的骨肉,也可细分为主程序、客户端引擎、服务器引擎、3D 程序、AI 程序、脚本程序、数据库程序等,他们主要负责确定程序的数据结构,确定策划方案的完成方法,将策划提出的各种需求用程序来实现,并为游戏开发过程提供良好的编辑工具。
美术是团队的皮肤,可细分为人物原画、人物建模、材质贴图、人物动作、场景动画等,他们主要负责整个游戏的视觉风格,以及人物模型动作等的设计等。
制作人主要进行游戏的外部统筹,市场调研、游戏开发进度、游戏版权、游戏宣传、游戏发布及音乐音效素材的管理都是制作人工作的范畴。
下图是某国外游戏研发团队的组织架构图,可以参考了解一下。
对于游戏制作人来说,每个游戏从产生要消亡要经历各个阶段,下面是普遍适用的典型范例,但并不是每个游戏都要经历所有的时期。
一部游戏完整的开发过程,归纳起来可分为五步,如下图所示。
市场调研可以分为三个小部分:
1)调研前进行 “头脑风暴”,让尽量多的人想出尽量多的创意点子并做好记录,从而在市场调研过程中一一确认,不符合的排除;
2)撰写策划草案,从而让项目小组中的每一个成员对开发的项目有一个大体的认识,并且对目标明确;
3)对每一个草案都进行市场调研和分析,决定是否要开发这个游戏。市场调研主要从两个方面入手,即目标客户(玩家)和开发成本。
需求分析主要是撰写需求分析书,这主要包括三个方面:
1)策划需求
2)美术需求
3)程序需求
项目开发步骤就是将整个游戏项目的资源通过引擎组织起来,对游戏的架构、功能及各逻辑模块进行充分的整合。这就要明确游戏开发的日程和进度安排,这也是充分利用各种开发工具让开发效率大大提升的根本所在。
测试发布流程主要包括两次大型正规的测试,即 Alpha 测试和 Beta 测试,其中前者意味着游戏的功能和流程完整,QA 会为游戏定制测试计划,测试人员将发现的 Bug 提交到数据库,开发和设计人员对相应的错误进行修复。后者意味着游戏中的各种资源已完成,产品已定型,后期只是修复 Bug。在这两次测试修复后,得到待发布的 Release 版。
Gold Release 流程主要是开发游戏的各种补丁包、游戏的升级版本,以及官方的各种礼包和插件等。
选择正确的工具,可以为游戏项目节省开支,提高工作质量,降低项目风险,让整个项目团队成员集中注意力,从而把游戏做得好玩。
美术制作工具要远多于程序软件,因此在游戏开发过程中,选择美术软件时要慎重考虑,以方便项目的顺利进展。
比如模型构建、动画制作、描绘渲染、电影特效等。但其缺点也在于其多边形建模工具不太理想;
游戏组件是指游戏的基本环境架构,比如描绘、场景和几何构型的构建,也称为中间件。
音效作为游戏里的重要组成部分,选择合适的工具也非常重要。作为游戏开发人员,关键要了解各种工具的使用限制,有很多的专业音效制作工具,包括 Nuendo、Vegas、Logic、ProTools、Peak、GameCODA、SoundForge 等。
场景构建工具:
游戏开发过程中所涉及的事务比较多,内容也比较繁杂,用好日常管理工具可以有效提升工作效率。下面是几个用得比较多的工具:
微信 分享