游戏是怎么作出来的(一)
日期:2009.9.2 by tengjiaozhao@gmail.com
现在的游戏变得越来越复杂,越来越庞大。但是复杂庞大的游戏是如何作出来的呢?我想信,您一定也有在这样的疑问。我们这篇文章就是专门讲讲一款游戏是如何作 出来的。由于游戏种类的不同,所以游戏的制作工艺在某些细节方面也不尽相同。我们这篇文章中是以时下最流行的3DMMORPG为原型。嘿嘿,是不是看过这 篇文章之后就一定能做出一款3DMMORPG呢?(您带着这个疑问看过后就知道能否做出了)
现说说这么一款游戏是由哪几个部分组成的。既然是MMO的,所以就一定会分为客户端和服务端。我们先主要讲讲客户端,服务端这个系列以后慢慢再讲。
好了,那我们就开始步入我们今天讲解的正题了,3DMMORPG的客户端。
==================================================
客户端在整个游戏中负责的任务是什么呢?
最主要的任务是:
1.响应玩家输入:
网络游戏当中大部分的逻辑判断都是放在服务端的,当然,客户端也会进行一部分逻辑的处理,不过服务器还是会进行验证的,这部分在讲解服务器的时候会详细讲解的。
2.进行画面渲染:
画面渲染顾名思义就是渲染画面,像播放器一样,一贞一贞的渲染出来的。我们在这里讲的是3D,那么什么是3D呢?其实,3D主要是说图形渲染底层的数学模型来说的。
最 刚开始的图形渲染并不是3D的,是2D的,也就是说里面的坐标系是一个2维坐标。最能够说明问题的就是“超级玛丽”了,在这里面所有的东东看着都像是在一 个平面上一样。可是,有的同学会说了,那像“星际”或者“暗黑”这样的游戏是不是就算是3D了呢?不是,这些游戏的图形渲染的本质还是和“超级玛丽”一个 样,都是2D渲染的,为了加以区分我称“星际”、“暗黑”这样的游戏为“斜45度视角游戏“(以后就简称45度了)。
45度游戏和普通 2D游戏,他们的制作方法上可以算是基本相同的。美术都是使用2D作图软件(如PS)作出来的。可是,一个人物看着有好几个动作,都是一个个的去画的吗? 当然不是,要不然这些美工岂不都要罢工了。他们使用的被称作“2D动画编辑器”的一类软件(去google一下吧)。美工只要把用PS做好的图片,导入到 这类软件,然后这类图片就可以像橡皮泥一样被蹂躏了,可以编辑出各种动作,然后把编辑好的动作导出。比如,一个人挥刀的动作是3贞,这意味着该动画就是由 3幅图片形成的。
是不是觉得好大,好浪费。如果能够把一个人拆成好几个部分,然后把每一个动作中这些元素不同的位置、角度输出出来由程序 去进行计算会怎么样呢?不得不说,当初有这个想法的人太伟大了,于是就有了一种动画叫做”骨骼动画“(这个概念在3D当中也有)。这类动画,是把基本图形 元素和这些元素的运动轨迹分开保存的,从而达到节省存储空间的目的。这类系统也有人称他们为”不娃娃“系统。提出一个问题,如果是你,会怎么设计类似 QQ 秀这样的系统呢?好啦,有点扯远了,让我们继续我们的渲染部分说明。
刚才讲了45度游戏和骨骼动画。有的同学就说了,下一个是不是就该讲3D了?别急,慢慢来,移动通信也不是直接从2G直接就到了3G的呀,于是,就有了2.5G这个概念。我们也一样,讲讲2.5D吧,这其实是一个概念炒作。
2.5D的制作方法有两种:
第一种:使用3D工具建模,调动作;(3D工具后面我们会详细说说),渲染使用的还是2D技术;
第二种:和3D游戏的制作方法基本相同,同样是使用3D工具建模,调动作,但是,渲染的时候也是3D方法去渲染,只不过这个游戏窗口摄像机(这个概念后面会讲解)的角度是固定的(一般来说使用斜下45度)。
现在我们一般说的2.5D游戏是使用第二种方式制作出来的。在以前,由于3D图形加速卡的性能还不是很强悍,所以,早期的时候使用的是地一种方式制作的2.5D。好了,2.5D的概念就所清楚了,我们下面就讲讲3D吧(从制作方法上3D是2.5D的一个超集)。
也 就是3D游戏的诞生,才把客户端的制作难度提高到了一个高度,想想当初就算是卡神也是费了很大的力气才把这块搞定。等等,卡神是谁?。。。好吧,他就是 Doom、Quake的制作者,id software的老板。有兴趣的读者可以看看一本叫做《doom启示录》的书,里面记录了卡神是如何如何NB的。
3D图形学是3D游戏客户端部分最重要的一个部分。不过,也不要把它想象的多么困难,因为,MS的DirectX库已经帮我们封装了很大一部分。只是,了解这些一些图形学方面的只是对于我们制作游戏来说还是很重要的。3D图形学相关的只是可以自己去google一下。
我们这篇文章的主旨是讲游戏是怎么做出来的,而不是某一具体技术细节,所以,请同学们见谅。
3D游戏对于游戏的制作团队来说,从工具上可以算是一个翻天覆地的变化。原来需要的是2D绘图工具,2D动作编辑器。
现在呢?需要的是:
1。2D绘图工具:用来画原画;编辑模型纹理贴图;
2。3D建模工具:美工人员根据原画来绘制出它的3D模型,同时会用到2D绘图工具生成的纹理贴图;
3。3D动作工具:这个一般和3D建模工具是统一的,比如3DMAX,MAYA之类的;
(还有一些其他工具,我们后面会逐个提到)
总 之,美术人员使用上面的这些工具,生成的一个个东东就叫做模型。程序,去解些这些模型数据,并把它们显示出来。等等,是不是还少了一点东西?程序如何知道 这些模型放在什么位置呢?bingo!我们还需要一个工具去把这些模型组织起来,这个工具被称作地图编辑器(这个工具在2D游戏中也有)。地图编辑器的主 要工作就是设计地图——安放模型。有的同学会问了,比如3DMAX之类的工具也可以把一个个模型放在一起呀,为什么我们还要自己去写一个呢?
这个问题文得好,这个问题的提出就把地图格式这个问题给引出来了。大家好好想象。我们下篇文章会详细说明这个问题(待续)