游戏设计的开始
制作一款游戏,需要四个游戏部门的分工合作。他们分别是游戏策划部门、游戏程序部门、游戏美术部门、游戏音效部门。游戏制作作为一个系统的工程,其实现也是十分繁琐和复杂的。本章将对其实现进行分析阐述,并提出改进的方法。
2.1 游戏策划的重要性
游戏制作团队,分工主要如下图2-1所示:
一款游戏的制作,首先是由策划组提出设计思路,写出策划文案,然后得到各部门认可,最终立案才能够开始进入游戏的开发阶段[9]。
游戏策划需要涉及到内容的也是十分丰富的,游戏策划作为游戏创意的提出者,需要对游戏创意进行丰富与加工,使得一个好的创意能够成为现实,这是需要漫长的过程来实现的[10, 11]。优秀的游戏策划可以把好的创意做的更好,也可以把不好的创意加以改造,让它成为可以成为游戏的创意,所以游戏策划的创意部分至关重要[11]。我在制作游戏的过程中,十分重视游戏策划工作,认为一款好的游戏,必须要有十分优秀的策划案作为支持,这样在进入游戏制作后才不会出现问题。因为一旦出现问题,原始的策划案能够作为最终的参考,让团队能够保持稳定的心态,坚信游戏的制作必然能够成功。游戏策划案的作用我认为主要有两种:一、游戏策划案让一款游戏在还没开始正式进入制作前,就已经能够确定是否能够成功。二、游戏策划案作为一个设计文档,从游戏制作开始到游戏完成,从头到尾指导着游戏的制作流程,这一个流程得到不断地细化与完善,最终形成一个游戏开发的规范,保证游戏开发的稳定,降低游戏开发的风险。如下图就是我在制作一款手机游戏时编写的初始设计文档,涉及到游戏的各个方面。游戏的创意设计总纲是我在制作游戏的过程中经过多个游戏的制作过程的考验,不断修改以及完善写出来的游戏设计需要思考的内容。其中包括游戏设计的核心原则、游戏的源想法、游戏的基本玩法、游戏的可选玩法、游戏实现的工具、游戏开发的过程、游戏的质量控制、游戏的推广几个部分。下图2-2为创意设计的总纲:
游戏的设计核心原则涉及到游戏的设计思路和必须要遵守的原则,在设计的过程中,绝对不可以违背的设计原则,一旦设计与这些原则有冲突,需要重新设计。
游戏源想法部分需要对游戏的最初创意进行分析,不仅要提出游戏的最初创意,还要不断地思考一个游戏创意是否可以成为一款游戏,同时要对创意不断地细化,不断地思考出新的内容,丰富游戏的源想法。
游戏的基本玩法,提出了游戏需要支持的基本玩法,例如,在这款游戏中,我提出了游戏需要有三种不同的模式,而这三种模式,需要对各自的内容进行细化,如下图2-3所示:
游戏的实现工具部分,需要对游戏实现的方法进行思考,需要考虑到的内容十分多,主要从程序、美术、音效来入手,例如,程序部分需要使用到的游戏引擎以及功能库实现[12]。美术方面需要考虑使用的风格和制作方法,例如这是一款3D游戏还是2D游戏,如果是3D游戏,使用的是即时渲染还是使用渲染后再输出的方法,如果是2D游戏,是否需要制作不同的风格,如果是卡通风格,是否需要为其制作新的Photoshop插件,定义图层格式、描边的画笔类型等。下图涉及到的内容,就是分别从程序、美术以及音效三部分开始进行的。在程序部分,考虑了使用Unity3d游戏引擎作为基础游戏引擎,然后考虑到Unity3d支持的游戏插件,需要编写的游戏插件,并对这些插件进行了详细的分析。例如,需要使用EZGUI以及SM2作为输出的插件,就需要对这些插件进行细致的学习,考虑这些插件对于游戏制作的前中后各个时期不同的影响,以防止不同的时期出现的问题拖慢游戏的进度。在美术部分,考虑使用3DMax配合Pencil+进行卡通渲染,再输出到Unity3d里进行二次使用的方法[13]。同时,需要对比不同的卡通渲染插件Finaltoon的具体用法与效果,对比出各自不同的优势和不足,考虑不同的方面,才能够决定是否使用。在游戏的音效部分,不需要做太多的研究,因为这一部分已经形成了十分具体的流程,只需要指定具体的格式和软件即可。
游戏在完成基本的创意设计之后,需要进入的是详细设计阶段,在这个设计的过程中,在Andrew Rollings编写的《GAME ARCHITETURE AND DESIGN》[15]中,提出了十分丰富的解答,可以简化成四个方面,如下图2-4所示:
四层架构中,创意部分处在顶层Concept部分,已经在前面叙述了。在Concept的下一部分,需要考虑的Paradigm这部分,在这部分中,需要考虑到玩家在玩游戏的时候,需要持有的游戏心态。简单地说,Paradigm是指玩家在进行游戏的过程中,与游戏世界相互交互形成的一直心态与想法。例如在玩俄罗斯方块的时候,设计者需要玩家在玩游戏时有一种基本的空间感,还要有修建建筑的基础感觉。当然,不同的游戏所持有的Paradigm可能相同也可能不同。由Paradigm直接引申出来的是游戏的Mechanic,也就是游戏的机制,游戏的机制对于非游戏专业来说十分复杂,所以游戏机制也可以合并为游戏Feature,也就是游戏特色,向一般的游戏玩家进行叙述。对于游戏开发者来说,在这一层,需要对游戏的机制进行十分详细地制作与分析。因为游戏机制是构成游戏的基本元素,不同的游戏机制组合起来,给游戏增添了可玩性,让游戏更加丰富,而游戏策划的绝大部分繁琐工作,也就是集中在游戏机制的设计部分。例如,在俄罗斯方块这款游戏中,需要设计的机制包括了方块从上到下掉落、掉落的速度不断地提高、随机掉落等不同的机制,这些机制都是游戏策划需要设计的内容,在一个游戏公司里面,有很多不同职位的策划,例如文案和数值策划等,他们的作用,这里也不再详细叙述。在最后一层Interface里面,涵盖了游戏设计的用户接口设计,一般游戏的用户接口都是鼠标和键盘,但是由于触摸屏和Kinect的出现,让这部分的设计变得更加丰富,而本文的游戏,涉及到Kinect接口,所以Interface这部分,应该也要以Kinect接口为基础作为设计。
游戏美术作为游戏制作的一个重要方面,在游戏的最后效果的提升起到十分显著的作用。优秀的游戏美术可以让游戏更加绚丽和美观,提高游戏的意境,烘托出游戏的主题,吸引更多的玩家。因此,如何让游戏中的美术效果可以充分发挥出来,就成了程序技术需要解决的一个很重要的课题。我在实际的游戏制作过程中,做过一些2D和3D的游戏,在完成这些游戏的过程中,我充分理解到美术对提升游戏质量的重要性,而且不同的游戏对于美术资源的整合都是不同的。在技术方面,能够提供给美术的支持有很多方面,一方面要制作便利的美术完成工具,例如制作无缝贴图的自动工具,另一方面是制作把美术资源导入到游戏场景中,并进行合理压缩的工具,还有一方面是要对美术资源重要性进行合理的分类,以保证游戏的资源得到合理地使用。游戏里面的美术涉及到下面几个主要的方面:1,游戏的模型数据。游戏的模型包括3D场景模型和3D的人物模型,本质上来说,在3D的游戏中,无论是场景模型和人物模型,都是存储的点数据,所以这部分的开销在消耗内存上是不大的,因为对于一个2000个面的模型,所存储的点也只能够达到200kb左右,真正消耗程序资源的其实是场景和角色的游戏贴图,以及渲染这些场景和人物模型需要的计算量。2,游戏的贴图。游戏贴图一般就是一张长宽均为2次幂的图片,图片格式可以是psd、png、jpg等。游戏的贴图用途很多,游戏的贴图可以用与漫反射贴图、凹凸贴图、法线贴图、环境贴图、细节贴图等。一般来说,游戏的贴图决定着游戏的绝大部分质量,正因为如此,游戏贴图的制作是游戏美术的重中之重。3,游戏的动画。游戏动画在现在的游戏制作中主要分为2种,一种是直接使用3维的模型,通过脚本控制人物的动作,例如攻击、跳跃、前进等动作,还有一种是使用2维的序列帧,通过控制帧的不断顺序变化来得到角色的动画效果。二者的区别有很多方面,从性能上分析,使用前者虽然需要的运算量大,但是占用的内存空间不多,而后者虽然基本不需要计算,但是需要在游戏内存里面占用一部分的内存,用于保存已经制作好的游戏动画。从显示效果上来看,前者的效果与游戏的模型细致程度有关,后者的显示效果仅仅与最后制作出来的序列帧动画的质量有关,也就是说对与越高水平的游戏,如果以提高性能为目标,使用后者显然更加合理。从制作的时间上分析,前者制作的时间显然比后者制作需要的时间短,因为后者在大型游戏里面需要制作的动作十分复杂,而且还要考虑到镜头固定的问题。从二者使用是否便捷方面出发,前者只需要在合适的时刻使用到脚本控制即可,但是后者需要不断地轮询当前的动画状态,不断地切换动画状态。4,游戏的特效[25]。如图2-11所示,游戏特效是指游戏中出现的一些魔法效果、攻击效果、火焰、彩虹等。游戏的特效可以让原本沉闷的游戏画面显得更加生动,提高游戏的美术效果。游戏的特效也分为两种不同的方法,一种使用一般游戏引擎内置的游戏粒子系统,另外一种是制作游戏需要的序列帧。二者的区别在于,前者通过增加通常用四边形模拟的粒子模型来模拟粒子效果,后者通过占用内存来实现序列帧的播放。总的来说,游戏美术涉及到游戏显示的方方面面,技术方面经常需要和美术的一些内容联系起来,如何让游戏程序最大化地支持和优化游戏美术资源,这是游戏制作领域只有制作过了游戏才会发现的问题。我在制作游戏的过程中,发现随着技术的不断发展,游戏美术以及成为吸引玩家进入游戏的最重要手段,所以只有不断地提高自己游戏的美术水平,把程序技术和美术效果不断地结合起来,才能够最大化地优化游戏美术效果,让玩家获得更好的游戏体验。
游戏美术和一般的美术不同,我甚至认为游戏美术比一般的美术需要更高的美术水平。因为游戏美术是需要和游戏可以分配的资源结合起来的,也就是说游戏美术的目标,就是在有限的资源里面,制作出最优秀的视觉效果。游戏美术的限制主要包括了空间资源的限制和运算资源的限制。游戏是极度需要控制游戏硬盘空间和内存存储空间的,在计算量上,游戏需要实时地显示游戏画面,就需要很大的计算量,这些运算力分配给程序方面用于游戏人工智能、游戏逻辑以及游戏屏幕刷新,留给美术资源的运算量并不是很多,所以如何能够合理地运用好这些空间资源和计算资源,就是游戏制作必须要知道的内容。
对于三维游戏来说,制作模型和贴图占用了很大部分的工作量[26]。在Unity3d中,模型的基本单位是使用米来控制的,这主要是因为Unity3d里面的物理引擎主要是使用米来计算物理效果,使用米来制作3d模型,就可以让模型在导入到Unity3d里面自动转换成物理模型,用于物理引擎的计算。我在制作游戏的过程中,一般的做法是,先在3dMax里制作好一个长宽高分别为1*1*1的正方体,作为参考,然后用此为参考模型,用于制作3维模型。在制作模型时,需要控制模型的面数,一般来说,可以按照下表2-1进行参考:
表2-1模型的规范
网络游戏模型 |
3级模型面数 |
2级模型面数 |
1级模型面数 |
主角 |
3000面以内 |
1500面以内 |
500面以内 |
Boss |
2500面以内 |
10000面以内 |
300面以内 |
小喽啰 |
1000面以内 |
500面以内 |
100面以内 |
树,草丛等 |
500面以内 |
2面以内 |
1面以内 |
武器 |
200面以内 |
80以内 |
20面以内 |
《魔兽争霸》的模型面数在500面左右,《使命召唤》的模型面数一般都可以在3000面,最近号称史上最佳RPG游戏《上古卷轴5》模型面数在4500以上。模型的细致程度只是一定程度上反映出游戏模型最后的渲染效果,游戏玩家主要是看到游戏的边是否有曲折,模型的平滑程度,至于模型最后在玩家心中能够称得上是一个好模型,主要还是根据游戏贴图来实现,如下图2-12。游戏贴图控制了游戏显示的细致程度,所以游戏贴图对于展示游戏的细节具有不可替代的作用。这也是为什么游戏贴图占用了绝大部分游戏空间的原因。