游戏开发

Website Maintenance

【基本概念】

游戏公司一般是指游戏开发公司或游戏发行、代理公司。

那游戏公司开发游戏需要哪些技术人员?简单的说:需要游戏造型、游戏动画、3D美工、纹理师、原画设计师、建模师、UI制作、手游程序员、网游程序员等等。  

【游戏公司的构架】


游戏开发的构成,从泛言,包括开发人员内部开发与外包。

一般来说,游戏设计、程序员,美术(也有部分美术用外包的)是内部开发,而音乐,CG,部分美术等,是由外包完成。

当然我们不排除有的公司非常有实力,全部可以内部完成,但据我所知,国内如网易都不是如此。

游戏设计、程序,美术都是部门,每个里面都有比较明确的职位,这也不排除小公司,职位不明确的可能,说得只是一般的开发公司。


>>首先说游戏设计部门


通常这是如下职位:游戏设计主负责(也有称主策划)

执行游戏设计师(称执行策划):分剧情策划,数据策划,也有不分的,大家一起提高。

辅助员(称辅助策划):做一些比较简单的表据维护,资料收集。


工作职责:

游戏设计主负责人:主要负责游戏设计的整体把握、给大家安排工作,审核工作 ,提高部门人员士气。,

剧情策划一般负责背景,任务等等故事性比较强的,要求文笔要好

数据策划再细分,为规则和数据平衡,包括规则的描述,公式确定,数据表设定等等。

辅助员,主要是收集资料,维护表格等等,比较不涉及核心的工作。

*注:有一些公司或者团队,在策划岗位,还有新的岗位,如:


表现策划:主要负责特效、动作、音效收集并提需求,部分如音效部分亦有策划来完成。

资源策划:主要负责UI设计,模型相关配置,资源管理等等。


>>下面是程序部门


主程序与主设计师,是对游戏引擎最了解的人,以主程序为最强。主程的主要工作,安排程序部门工作,定游戏的数据结构,定一些主要方案的完成方法 。


一般程序员,分服务器端与客户端、服务器端程序,对于数据库结构,数据传输、通讯方式等等。客户端程序,对图像及优化有研究的会易受重用。


>>美术部门


主美 负责整体美术风格的把握


原画 绘制原画交于3D


2D 负责贴图,游戏界面等的制作


3D 负责3D建模,动作等方面工作


>>脚本与编辑器

在具体游戏实现时,越来越多的公司不会说把游戏中的数据写在C++里,而是用“脚本与数据库”的方式 。

C++的作用是用来解释脚本和调用数据库的

在脚本中,写上,

   if

   {

   player hp >=30%hpmax

   add hp=hpmax

   }

这里的东西是写在脚本里的,C++就会解释,player、hp、hpmax是什么,hp、hpmax对应数据库是什么列主要的游戏内核是写在C里的,脚本用来实现游戏具体的一些东西 。

如每个场景、每个NPC、每个道具都有可能有个脚本文件制定命令及数据一般由主程与主设计师一起来做,具体写脚本,一般为游戏设计部门按规范做这个工作 。


编辑器:是高于脚本的一个给游戏设计部门或是美术部门用的工作工具优点是使用简单,界面化的东西 ,可以自动生成脚本。

缺点是,把一些比较活的东西,写死到工具中了,将来要加功能改结构很麻烦

这些都是程序部门的工作

另外,在程序部门中主要交流就是服务器端与客户端的。这实际就是说,一个游戏主体置放与传输的问题。

一般来说,一些音声文件、图像文件、大一些的文本都会放在客户端,而数据库,游戏的核心解释在服务器端。


【游戏开发流程】

>>软件:有两部分。


1.编写游戏引擎、建模:需要熟练掌握C/C++、Microsoft Develop Studio开发环境、使用SDK或者MFC、DirectX/OpenGL、SQL编程、SQLServer或Oracle数据库配置。

2.策划、美工、音效:MAYA、3DMAX 、PS(音效制作方面不熟,这方面无法提供)。

流程:策划——引擎——建模——美工——测试。

团队:首先要组成一个由各功能小组核心构成的策划组,负责构思整个游戏的内容架构。包括故事大纲,游戏风格,人物造型,操作模式,任务模式,装备模式等等,以及程序编写、美工贴图能否实现等等,资金预算能否维持等等。


然后筹建各功能小组:主编程组,负责游戏引擎。建模组,负责编写一个完整的世界,各种人物、怪等。美工组,负责包装游戏。测试组,设置若干组服务器,对游戏进行测试。

>>游戏设计部门:为最前期


   1 立项

   主要目的是描述项目的风格、主亮点、一些方方面面的规则,具体可能会涉的游戏资源(如多少主角,多少场景,多少NPC等等统计)

   这个阶段主要目的,是与投资人交流,描述清楚这个项目可不可以做,做了有什么好处,与其它同类游戏对比,竞争优劣势的分析,种种设定因何这样说服投资人,这个项目就可开做了。


   2 接下来与主美主程开会,就具体如何划分数据结构,如果命名文件等等交流相关的开始进行。(注:这有个前提,游戏设计必须要前于另两个部门。不能让很多程序或是美术,都等着,这与成本有关)


   3 游戏设计这个部门,这时定了数据后,就开始分头建表,游戏有多少会变动的数据就应该有多少表 。如道具,NPC,场景、宠物,技能,ICON,特效,音乐,音效这些都要有表的。(注:这里说的变动只是人为的变动,是不是被动,级别这个就是被动的变动,不需要玩家等级表。)


   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的需求。没有则不需要写。

•人物头像:人物的头像制作需求,其中包括人物的表情方面,包括喜、怒、哀、乐、悲等多种表情。

•界面:界面的需求,包括主界面、各项子界面、屏幕界面、开头界面、END界面、保存和载入界面等方面。

•动态物件:包括游戏中可能出现的火把、光影等方面。

•卷轴:又称为滚动条。根据游戏的情况来定具体的需求。

•招式图:根据游戏开发的具体情况决定是否有此需求。

•编辑器图素:各种编辑器的图素需求,例如关卡编辑器、地图编辑器等方面。

•粒子特效:3D粒子特效的需求。

•宣传画;包括游戏的宣传画、海报等方面的制作需求。

•游戏包装:游戏客户端的封面包装的制作。

•说明书插图:游戏说明书内附插图的制作需求。

•盘片图鉴:游戏客户端盘片上的图鉴的制作需求。

•官方网站:游戏官方网站的制作需求。

2)、程序需求:撰写程序需求分析书,内容具体如下:

•地图编辑器:包括编辑器的功能需求、各种数据的需求等。

•粒子编辑器:关于粒子编辑器的需求。

•内镶小游戏:包括游戏内部各种小游戏的需求。

•功能函数:包括游戏中可能会出现的各种程序功能、技术参数、数据、碰撞检测、AI等方面的需求。

•系统需求:包括升级系统、道具系统、招式系统等系统导入器的需求。

3)、策划需求

•策划的分工:包括剧本、数值、界面、执行等方面。

•进度控制:要时刻注意时间和开发进度的控制,需要写一个专门的项目进度表。

•例会:项目会以里程碑的形式呈现。当完成一个里程碑后,或者到达固定日期时,需要召开例行会议,除了成员彼此交流外,还需讨论开发中遇到的困难,进度是否有拖延等问题。

>>二、组织阶段:其次,是项目组织阶段。

1、确定日程:确定游戏开发的日程和进度安排。包括以下几个方面:

1)Demo版本阶段

•前期策划:前期策划和项目的规划。

•关卡设计:关卡设计阶段。

•前期美工:前期的美工制作。  

•后期美工:后期的美工制作。  

•程序实现:程序的实现,包括编码等。

2)Alpha版本阶段


•内部测试:主要是测试和完善各项功能,看一看是否有重大BUG。  

3)Beta版本阶段

•外部测试:进一步测试和完善各项功能,并预备游戏的发行。

4)Release版本阶段

•游戏发行:项目完成阶段,开始正式的发行游戏。

5)Gold Release版本阶段

•开发补丁:开发游戏的补丁包、升级版本,以及 各种官方插件等。

2、确定人员:确定各个项目所需的人员。包括策划、程序、美工、测试、音乐、运营等方面。

3、分配任务:分配各个人员的具体的开发任务。

4、撰写策划书:正式撰写游戏策划书。

>>三、开发阶段:其三,是项目开发阶段。

作为策划来说,此阶段主要需做到同各方面保持顺畅的沟通,并处理各种游戏制作中的突发事件。其中需要做到与同事的沟通、同主管的沟通、同领导和老板的沟通等。

>>四、控制阶段:最后,是项目控制阶段。

1、时间

1)、成本控制:需要注意到开发成本的控制,包括服务器、客服、场租、人工(社区关系专员、开发团队、管理)、设备(办公室、电脑、家具等)、带宽、网管、宣传、广告和推广的费用等方面。

2)、市场变化:需要注意市场的因素。

•发行档期:需要注意发行档期,要赶在暑假和寒假之前发行。

•盗版因素:必须时刻注意盗版、私服等因素对游戏发行的影响。

3)、竞争对手的因素:需要时刻注意竞争对手的情况。毕竟,知己知彼,才能百战不殆。

2、品质

由于开发人员的水平大都参差不齐,所以必须根据制作人员的总体水平,决定作品的品质。既不能要求太高,亦不能要求太低,需要折中考虑。

3、突发事件

例如,老板的突击检查、项目投资人的突然撤资等,这些都必须全盘考虑。

4、控制成本

包括时间、品质等方面的成本控制。

【游戏开发队伍组成】


开发团队

•制作人

•执行制作人

•策划团队

•程式团队

•美术团队

销售团队

测试团队

游戏评论队伍

游戏制作人

•开发组长(always)

•资源管理 (Resource Management)

•行政管理 (Administration)

•向上負責 (Upward Management)

•专案管理 (Project Management)

游戏执行制作人

•专案管理执行 (Project Management)

•Daily 運作

•House Keeping

•Not full-time job position


游戏策划

•故事设计 (Story Telling)

•脚本设计 (Scripting)

•玩法设计 (Game Play Design)

•关卡设计 (Level Design)

•游戏調適 (Game Tuning)

•数值设定 (Numerical Setup)

•AI 设计 (Game AI)

•音效设定 (Sound FX Setup)

•场景设定 (Scene Setup)

游戏美术

•场景 (Terrain)

•人物 (Character)

•建模 (Models)

•材質 (Textures)

•动作 (Motion / Animation)

•特效 (FX)

•用户界面User Interface

游戏程序

•游戏程序 (Game Program)

•游戏开发工具 (Game Tools)

•Level Editor

•Scene Editor

•FX Editor

•Script Editor

•游戏Data Exporters from 3D Software

•3dsMax / Maya / Softimage

•游戏引擎开发Game Engine Development

•网络游戏服务端开发Online Game Server Development

•创意 (Idea)

•提案 (Proposal)

•制作 (Production)

•整合 (Integration)

•测试 (Testing)

•除錯 (Debug)

•调试 (Tuning)

游戏设计(Concept Design)

•游戏类型 (Game Types)

•游戏世界观 (Game World)

•故事 (Story)

•游戏特色 (Features)

•游戏玩法 (Game Play)

•游戏定位 (Game Product Positioning)

•Target player

•Marketing segmentation / positioning

•风险评估 (Risk)

•SWOT (优势Strength/缺点Weakness/机会Opportunity/威胁Threat)

游戏提案 (Proposal)

•系統分析 (System Analysis)

•游戏设计文件撰写 (Game Design Document)

•传播媒介文件撰写 (Media Design Document)

•技术设计文案撰写 (Technical Design Document)

•游戏专案建立 (Game Project)

•时间表Schedule

•进程/控制Milestones / Check points

•管理Risk management

•测试计划书

•团队建立 (Team Building)

游戏开发 (Production)

•美术量产制作

•(建模)Modeling

•(结构)Textures

•(动画)Animation

•(动作)Motion

•(特效)FX

•程序开发 (Coding)

•策划数值设定

游戏整和 (Integration)

•关卡串联 (Level Integration)

•数值调整 (Number Tuning)

•音效置入 (Audio)

•完成所有美术

•程旬与美术結合

•(攻略)Focus Group (说明书User Study)

•发布一些攻略截图Release some playable levels for focus group

游戏测试 (Testing)

•Alpha(α) 测试

•除錯 (Debug)

•Beta (β)测试

•数值微调

•Game play 微调

•对网络游戏而言 (MMOG)

•封閉测试 (Closed Beta)

•開放测试 (Open Beta)

•压力(极限)测试 (Critical Testing)

•网络游戏才有

关于Bug

•Bug 分級 (Bug Classification)

•A Bug

•B Bug

•C Bug

• S Bug

•Principles

•Bug 分級从严

•Tester(测试对象?—) vs Debugger(调试程序)

游戏系统(Game Software System)


系统层System Layer – APIs

•3D Graphics API

•DirectX 9.0 SDK – Direct3D

•OpenGL 2.0

•2D API

•DirectX 9.0 SDK - DirectMedia

•Win32 GDI

•Input Device

•DirectX 9.0 SDK – DirectInput

•Audio

•DirectX 9.0 SDK – DirectSound / Direct3DSound / DirectMedia

•OpenAL

•OS API

•Win32 SDK

•MFC

•Network

•DirectX 9.0 SDK – DirectPlay

•Socket library

引擎层Engine Layer

•3D Scene Management System

•Scene Graph

•Shaders

•2D Sprite System

•Audio System

•Gamepad

•Hotkey

•Mouse

•Timers

•Network

•DDK Interface

•Terrain

•Advanced Scene Management – Space Partition

•BSP Tree

•Octree

•Character System

•Motion Blending Techniques

•Dynamics

•Collision Detection

•SoundFX

•User Interface

游戏层Game Play Modula

•NPC (Non-playable Characters)

•Game AI

•Path Finding

•Finite State Machine

•…

•Avatar

•Combat System

•FX System

•Script System

•Trading System

•Number System

•…

Game Dev Tools

•Visual C/C++

•.net 2003

•Visual C/C++ 6.0+ SP5

•DirectX

•Current 9.0c

•NuMega BoundsChecker

•Intel vTune

•3D Tools

•3dsMax/Maya/Softimage

•In-house Tools

【游戏分类】

•RPG (Role playing games角色扮演)

•AVG (Adventure games冒险类)

•RTS (Real-time strategy games既时战略)

•FPS (First-person shooting games主视觉射击)

•MMORPG(多人在线角色扮演)

•SLG (战棋)

•Simulation(模拟)

•Sports(运动)

•Puzzle games(解迷)

•Table games(棋牌)