你知道游戏是怎么开发的吗?游戏公司的架构是什么样的?今天给大家分享一篇超级科普文章。
基本概念
游戏公司:一般指游戏开发公司或者游戏发行或代理公司。
游戏开发技术人员:游戏公司开发游戏需要哪些技术人员?简单来说就是游戏建模、游戏动画、3D美工、纹理美工、原画设计师、模型师、UI制作、手游程序员、网游程序员等等。
游戏公司的结构
游戏开发的构成,广义上来说,包括开发商内部开发和外包两部分。
一般来说,游戏设计、程序员、美术(部分美术外包)都是内部开发的,音乐、CG、部分美术也是外包的。
当然我们也不排除有些公司很有能力,可以内部完成所有事情,但据我所知,网易等国内公司并不是这样的。
游戏设计、程序、美术都是一个部门,每个部门都有比较明确的岗位,这里说的是一般的开发公司,不排除小公司岗位不明确的可能。
游戏设计系介绍
▍位置:
★ 游戏设计总监(也叫总策划)
★执行游戏设计师(称执行策划):分为剧情策划和数据策划,或者有的不分开,大家一起进步。
★助理(称助理策划师):做一些比较简单的台面维护和信息收集工作。
▍岗位职责:
★游戏设计主管:主要负责游戏设计的整体把控,安排大家的工作,评审工作,提高部门人员的士气。
★ 故事策划:一般负责背景、任务等故事性的工作,需要有良好的文案写作能力。
★数据规划:进一步细分为规则与数据平衡,包括规则描述、公式确定、数据表设置等。
★助理:主要负责收集资料,维护表格等,不参与核心工作。
*注:部分公司或团队在规划岗位上有新增岗位,如:
演出策划:主要负责收集并提出特效、动作、音效等方面的需求,部分内容(如音效)也由策划完成。
资源规划:主要负责UI设计、模型相关配置、资源管理等。
项目部门介绍
主程序员和主设计师是最了解游戏引擎的人,主程序员最了解游戏引擎,主程序员的主要工作是安排程序部门的工作,确定游戏的数据结构,确定一些重大计划的完成方式等。
一般程序员分为服务端程序员和客户端程序员,服务端程序员负责数据库结构,数据传输,通讯方式等,对图像,优化有研究的客户端程序员更容易被重用。
艺术系介绍
▍首席艺术家:负责整体艺术风格
▍原画:画出原画,交给3D
▍2D:负责纹理、游戏界面等的制作。
▍3D:负责3D建模、动作等方面
脚本和编辑器
▍脚本:在实现具体游戏的时候,越来越多的公司不会把游戏数据用C++来编写,而是采用“脚本加数据库”的方式,C++的作用就是解释脚本,调用数据库。
在脚本中写入,
如果
玩家生命值 >=30% hpmax
添加 hp=hpmax
这里的东西都是写在脚本里的,C++会解释player,hp,hpmax是什么,hp和hpmax对应数据库中的哪些列,游戏主内核是用C写的,脚本是用来实现游戏中一些具体的东西的。
比如每一个场景、每一个NPC、每一个道具都可能有一个脚本游戏软件开发,文件的制定命令和数据一般都是由主程序员和主设计师共同完成,而编写脚本的具体工作一般是由游戏设计部门按照规范来完成。
▍编辑器:是游戏设计部门或者美术部门高于脚本的工作工具,其优点是使用方便、有界面、能自动生成脚本。
缺点是一些相对灵活的东西被硬编码到工具里,以后再增加功能或者改变结构就会很麻烦,这些都是编程部门的工作。
另外,程序设计部门主要的沟通是在服务器与客户端之间,这实际上是游戏本体的摆放和传输的问题。
一般来说,一些音频文件、图片文件以及较大的文字都是放在客户端,而数据库以及游戏的核心解释则放在服务器。
游戏开发核心流程
软件:分为两部分
▍编写游戏引擎及建模:需要精通C/C++,Microsoft Develop Studio开发环境,使用SDK或MFC,DirectX/OpenGL,SQL编程,SQLServer或Oracle数据库配置。
▍策划、美术设计、音效:MAYA、3DMAX、PS(我对音效制作不熟悉,无法提供这个)。
▍流程:策划-引擎-建模-美术-测试。
▍团队:首先我们需要组建一个由各个职能组的核心成员组成的策划小组,负责构思整个游戏的内容架构,包括故事大纲、游戏风格、人物建模、操作模式、任务模式、装备模式、程序设计、美术纹理能否实现、财务预算能否维持等等。
▍成立各职能小组:主程序组负责游戏引擎;建模组负责写一个完整的世界,各类人物,怪物等;美术组负责游戏的封装;测试组设立几组服务器对游戏进行测试。
游戏设计系:初期
1. 项目设立
主要目的是描述项目的风格、主要亮点、各项规则,以及可能涉及到的具体游戏资源(例如主角、场景、NPC等数量的统计)。
这个阶段你还需要跟投资人沟通,描述清楚这个项目能不能做,做起来有什么好处,跟其他同类游戏相比怎么样,分析竞争优势劣势,为什么各种设定都是这样。一旦你说服了投资人,项目就可以启动了。
▍2.与首席设计师、程序员开会讨论如何划分数据结构(例如文件命名)。
*注:这个有个前提,游戏设计一定要领先于其他两个部门。不能让很多程序员或者美工等,这个跟成本有关。
▍3. 分别建表:游戏设计部门确定数据后,就开始分别建表,游戏中有多少变化的数据就有多少个表,比如道具、NPC、场景、宠物、技能、图标、特效、音乐、音效都要有表。
*注:此处提到的改动仅为人为改动,无论是被动还是等级改动,都是被动改动,不需要玩家等级表。
▍4.总体方案的形成:这时候总策划已经给大家一个总体方案了,这个总体方案明确的告诉大家这个游戏的乐趣在哪里,也就是模块。
5.单独工作:
(1)故事设计师开始创作世界背景和世界观。
(2)规则设计者开始向数据设计者逐一分发规则文档。
(3)助手还可以开始确定一些道具,NPC名称等。
(注:这些都是在主设计审查下完成的)
▍6.提交美术部:当场景美术说明表、NPC美术说明表、道具美术说明表等东西出来后,确认无误后即可交给美术部开始尝试。(注:此时美术部也要根据投资方的要求确定美术风格)
*注:策划工作一直领先于其他几个部门,包括完善表格、编写完整的规则文档、编写数据表(为将来的脚本编写做准备)等。
▍7.交付给程序部:美术部完成部分工作之后,就可以交付给程序部了,此时部门的数据库和数据结构已经确定,收到游戏资源和游戏规则之后就可以做个简易版了,先按照游戏设计把操作、视角等东西整理好,此时团队里所有人都可以进来看一下。
▍8.更新反馈:版本不断更新,游戏开发才开始一步步推进,在这个过程中需要不断的反馈。
当艺术部门进入游戏并发现他们制作的东西看起来不太好时,他们必须回去重新做。
如果策划部的数据不合理,要随时调整,同时如果写了某个模块,也要交给程序部,在游戏中实现之后再写脚本、测试。
(1)如果编程部门没有理解问题或者有其他bug,要及时反馈;
(2)如果规则有问题或者数据不合理,需要自己做调整;
(3)另外,为了给以后的游戏推广留有良好的接口,应该有一个文档描述游戏中各个模块可以进行哪些活动。
*附录:术语定义
游戏引擎:它不是一个软件,也不是别的什么东西。它只是决定游戏能实现什么的核心代码。这个代码也许能做出很多东西,也许能基于它做出很好的花样,但它需要程序员去探索,需要游戏设计部门去理解。因此,它常常被称为游戏平台。
编辑器:比脚本高级的软件,功能是生成脚本,优点是使用方便,但是因为是硬编码的,所以功能不能随心所欲地使用。
游戏制作流程简单概述
项目规划阶段
▍1.创意管理:召开会议。会议中最常见的方法是采用“头脑风暴法”,每个人都要提出自己的建议和想法,然后大家一起讨论。另外,会场里会有专门的人做会议记录。在项目开发前期,会有市场调研。
▍2.写草稿:写策划稿,也叫意向书。写策划稿的目的是为了让团队每个成员对要开发的项目有一个大致的了解,明确目标。
▍3.市场分析:市场分析决定是否有必要开发这个游戏。
★ (1)目标客户:最重要的是确定目标客户。即游戏是面向核心玩家还是面向大众玩家。如果游戏面向核心玩家开发,游戏难度需要高一些;反之,如果游戏面向大众玩家开发,游戏难度需要简单一些。最好的方式是让玩家自定义游戏难度。
★ (2)成本估算:以网络游戏为例,包含以下几个方面:
•服务器:运行网络游戏所需的硬件成本,是最大的成本,约占总成本的40%。
• 客服:属于人工成本,网游与单机游戏的区别在于,网游没有“无售后”的销售模式,用户玩完游戏后,运营商需要持续提供更新和各种线上服务。
• 社区关系专员:同上,这是一项人力成本,与其他费用相比,这部分费用几乎可以忽略不计。
• 开发团队:人力成本。这方面的实际大部分支出是核心成员和优秀制作人的工资。
•管理:花在管理上的成本相对较少。
• 用户账户管理:这是分销成本的一部分,但也属于运营范围。成本几乎可以忽略不计。
•办公室、电脑和家具:这是最大的开支,但是除了这笔开支之外,开发下一款游戏的开支就很少甚至没有了。
• 带宽:是分销成本的一部分,也是运营成本的一部分,成本也是非常高的,当然不同地方可能不一样。
•网络管理:发行成本的一部分,也属于运营成本的范畴。
• 其他杂费:杂费,包括水费、电费、煤气费,可能还有买咖啡和茶的钱。
• 宣传、广告及推广费用:这些是运营成本。应该说最好的推广方式就是广告,但各种广告的费用不一样,就不细说了。
•客户端:制作游戏客户端、点数卡、充值卡、印刷游戏手册、游戏包装、游戏礼品等费用。
▍4.需求分析:第四步,写需求分析书
包括以下三个方面:
★ (1)美术需求:撰写美术需求分析报告,包括需求图、工作量等,工作量需以天计算,具体如下:
•场景:包括游戏地图,小场景等方面。
•角色:包括玩家角色、重要NPC(玩家队友、提供任务的NPC、主线NPC等)、次要NPC(路人、村民等)、怪物、BOSS等。
• 动画:每家公司对于动画的需求可能都不一样,如果公司能力有限,可以将动画制作外包。
•道具:主要考虑是否采用纸娃娃系统。
•全身肖像:一个人的全身侧面。
•静态图像和CG:游戏中可能出现的静态图像和CG的要求。如果没有,则无需写出。
•人物肖像:人物肖像制作的要求,包括人物的面部表情,包括喜、怒、哀、乐、悲等表情。
•界面:界面要求,包括主界面、子界面、屏幕界面、开始界面、结束界面、保存、加载界面等。
•动态物体:包括游戏中可能出现的火把、灯光和阴影。
•滚动条:也叫滚动条,根据游戏情况确定具体要求。
• 移动图表:是否有这样的要求,取决于游戏开发的具体情况。
•编辑器像素:各类编辑器的像素要求,如关卡编辑器、地图编辑器等。
•粒子效果:3D粒子效果的要求。
•海报:包括游戏海报等方面的制作要求。
•游戏包装:游戏客户端的封面包装制作。
•说明书插图:游戏说明书中所含插图的制作要求。
•光盘插画:游戏客户端光盘上的插画的制作要求。
•官方网站:游戏官方网站的制作要求。
★ (2)项目需求:撰写项目需求分析报告,报告内容包括:
•地图编辑器:包括编辑器功能需求,各类数据需求等。
•粒子编辑器:粒子编辑器的要求。
•内置小游戏:包括游戏内需要的各种小游戏。
•功能功能:包括游戏中可能出现的各种程序功能、技术参数、数据、碰撞检测、AI等方面的内容。
•系统需求:包括升级系统、道具系统、移动系统等系统导入方的需求。
★(3)规划要求:
• 策划分工:包括脚本、号码、界面、执行等环节。
•进度控制:时刻注意时间和开发进度的掌控,需要编写专门的项目计划表。
• 例会:项目以里程碑的形式呈现,当里程碑完成或到达固定日期时,就会召开例会,除了成员间的沟通,也要讨论开发中遇到的困难,进度是否有延误等问题。
项目组织阶段:确定时间表
▍1.确定时间表:确定游戏开发的时间表和进度。这包括以下几个方面:
★(1) Demo版本阶段
前期策划:前期策划、项目策划。
关卡设计:关卡设计阶段。
前期制作艺术:前期制作艺术制作。
后期艺术:后期艺术制作。
程序实现:程序的实现,包括编码等。
★(2) Alpha版本阶段
内部测试:主要测试和改进各项功能,查看是否存在较大的bug。
★ (3)Beta版本阶段
外部测试:进一步测试并完善各项功能,为游戏的发布做准备。
★ (4)发布版本阶段
游戏发布:项目完成,开始游戏正式发布。
★ (5) 黄金版
开发补丁:开发游戏补丁包、升级版本、各类官方插件等。
▍2.确定人员:确定每个项目需要的人员,包括策划、编程、美术、测试、音乐、运营等。
▍3.分配任务:给每个人分配具体的开发任务。
▍4.写计划:正式写出比赛计划。
项目开发阶段
作为策划,此阶段主要需要与各方保持顺畅的沟通,以及处理游戏制作中的各种突发事件,包括与同事、主管、领导、老板的沟通等。
项目控制阶段
1次
★(1)成本控制:需要注意开发成本的控制,包括服务器、客服、场地租赁、人工(社区关系专员、开发团队、管理)、设备(办公室、电脑、家具等)、带宽、网管、宣传、广告和推广费用等。
★(2)市场变化:需要关注的因素
•发布时间表:需要关注发布时间表,暑假、寒假之前发布。
•盗版因素:要时刻关注盗版、私服等因素对游戏发行的影响。
★ (3)竞争对手因素:你需要时刻关注你的竞争对手。毕竟游戏软件开发,知己知彼,百战不殆。
2. 质量
由于开发人员的水平普遍参差不齐,作品的质量必须根据制作人员的整体水平来决定,不能过高,也不能过低,需要考虑一个折衷点。
3. 紧急情况
比如老板的突击检查,项目投资者的突然撤资等等,这些都要考虑进去。
4.成本控制
包括时间、质量等方面的成本控制。
游戏组件详细信息
开发团队
开发团队
•制作人
•执行制片人
• 规划团队
• 编程团队
•艺术团队
▍销售团队
▍测试团队