游戏是怎样冶炼出来的?
游戏开发是一个极为复杂的系统工程……尤其是当今一些游戏大作的开发,可以说是一个大型应用软件+一部完整的Hollywood 电影的开发的结合……
首先还是策划……主要是策划人员用文字把游戏所有主要内容都记载下来……并且要易于让所有开发人员都很好的理解……这个阶段,有 点想写电影剧本,不过更加复杂……除了剧情方面的考虑,同样甚至更加重要的是游戏性方面的策划……游戏的界面和控制如何?玩家可 以做些什么?游戏的规则如何?游戏最吸引人的东西是什么?此外,搜集素材和资料也是十分必需的……如果游戏是发生在古代,那么在 古籍堆中翻找就是必修课,如果是在外国,只要那里没有战乱(希望你的游戏不是关于巴以冲突或车臣战争的),那么去一去那里实地采 风也是必须的……
上面这个阶段可以说是游戏开发最重要的阶段……一个糟糕的游戏和一个好游戏的区别就在这里了……
然后,策划书取得投资商或老板的认可,得到资金,可以可以开始开发了(这两句话说得容易,但对国内游戏开发者来说,可能是整个过 程中最痛苦,也是最艰难的过程了。还是小岛好,他自己就是副总裁,想做什么就可以做什么)。
一个当今的游戏大作的开发,主要是包括程序,美术,音乐和音效,测试四个部分。
程序方面,现在由一个程序员写出所有程序的事情可能已经无法发生了。大都是按照一个大型商业软件的开发流程来制作的。而工作量也 的确不亚于任何一个大型软件。MGS2的代码量达到115万行C程序,其他游戏大作的代码量也不会比这少多少。如果你是使用成品 的图形引擎,可以减少很大工作量。其实不只图形引擎,现在各个程序模块(音效音乐引擎,视频压缩,一些底层支持,如SCE向所有 PS2游戏开发者提供的PS2 SDK)都已经有成品提供了,你需要的只是一点钱。现在程序开发已经是一个高度专业化的工作了。
而更加专业化的方面就是美术。游戏动画的外包制作已经是非常常见的事情了。毕竟,对于任何一个游戏公司(甚至Square)来说 ,一个完整的动画制作部都是太大的负担。动画制作上,基本上就是Hollywood电影特效的缩减版。所有的技术,软件,专业人 员都是差不多的。尤其是最近流行的Motion Capture,甚至需要用到演员。现在的游戏,绝大多数都是3D游戏了。而游戏内的美术工作丝毫不比动画简单。游戏中图形制作 有严格的多边形和贴图限制。这大家都知道。而动画帧数的限制,骨骼数量的限制,活动部分的限制,支持技术的限制(如shader ,bump-map,opacity-map,spline-shape等),对游戏的美术提出了巨大的挑战和考验。
一个游戏内3D游戏的制作,主要包括概念设计,模型制作,贴图制作,灯光设计,动画制作,特殊效果。概念设计基本上就是画画。用 铅笔或电脑把脑子里的东西画出来。一般是美术指导干这个工作。游戏的美术指导一般都要有专业画师的水准(有点像动漫的原画)。模 型制作很像捏泥塑。在专门的软件中构造出一个由多边形组成的3D框架。现在游戏一般都是简单的多边形模型,但也有少数游戏支持s pline模型,如NURBS,Brezil,B-spline之类,较先进的subdivision支持我还没见过。贴图制作 基本上就是在上面完成的多边形框架上糊上一个蒙皮。不过现在也有越来越多的游戏支持shader。shader简而言之,就是一 个明暗生成器。模型的什么地方亮,什么地方暗,什么地方反光,什么地方透明,什么地方高光,都是由shader决定。过去游戏中 都是很简单的goroud shader(大概拼错了,老PC玩家可能都知道吧)。现在的技术发展了,不过似乎也并没有见到什么Blinn或Phong shader。shader的制作,是更加复杂,但也同样更加有趣的东西。比如现在很流行的cel-shading,就是一种新 的shader。灯光设计很简单了。不过因为目前硬件的限制,所以较先进的ray-tracing渲染是不可能实时实现的,只能 用较简单的技术。所以其实灯光很多时候使用了一些欺骗手法。比如把明暗加到贴图中去,就省去了对光照的计算。所谓dymatic lighting,也就是对光照的实时计算。而阴影,有的时候也是需要一点欺骗手法。比如典型的“圆点”阴影。简单的在地面加上 一个活动的黑色贴图就行了,省的去计算shadow map。总之,灯光技术中充满了欺骗的手段,因为全部用引擎渲染不实际(好像目前只有doom3是比较完全的dymatic lighting)。动画上,一般都是用简单的动画方式,把所有的动画帧都制作好,在游戏里播放就行。制作上,一般是采用key framing或motion capture两种方式。keyframing就是动画师手动的制作每个关键帧,由软件补上中间的过渡帧。motion capture就是动作捕捉,大家都知道了,不必我说。特殊效果主要包括lens flare, particle 等等。游戏中的火焰,烟雾等都属于这个方面。因为硬件的限制,目前游戏中的特殊效果大都是简单的欺骗手段。比如用几个多边形,贴 上动画贴图。特殊效果需要美术和程序人员的密切协作,甚至程序的工作更大。
所有对于游戏美术制作有兴趣的朋友,不妨去 www.aliaswavefront.com 看看。他们的Maya是业界最领先的3D动画软件包。而且有一个免费Personal Learning Edition可供下载。没有时间限制,没有功能限制,仅仅是有一个watermark。强烈推荐。
音响音乐上,我不甚了解。音乐录制类似电影音乐,但不同的是,对音乐的可重复性和可过渡性要求较高。因为游戏中的音乐,经常根据 场景的不同而变化,所以重复和过渡都是常见的。音响效果上,也是类似电影。不过实在是复杂得多。电影中的音效,都是确定了的,你 知道需要些什么声音。游戏则不同。你根本不知道玩家会做出什么举动,所以只有有备无患,把所有可能的音效都进行录制。现在的游戏 语音也是越来越多了。配音工作也是十分重要的部分。一个知名的演员配音,也是游戏的卖点之一,虽然这种情况也有很失败的例子。
测试是游戏开发最后,但也经常是耗时最久,最艰苦的工作。还是那句话:你根本不知道玩家会做出什么举动,所以你必须有备无患。测 试所有可能的情况,保证任何情况下,游戏都没问题。不过这实在时间太困难的事情。纵使是Blizzard这样的金牌制作公司,也 还是有测试错误(早期版本的bug大家都知道的罢)。这方面console games可能要轻松一些。毕竟,console上只有一套硬件设备,运行的也只有游戏一个或很有限的几个程序。游戏的跳票也一 般是因为测试过程中发现的问题。测试真的是太痛苦了,每个写过程序的人可能都会同意罢……
经过上面的艰苦过程之后,游戏基本上就准备好上市了。不过,在投入了无数的金钱,无数的人投入了大量的时间和精力之后,游戏到底 能卖多少,就只能听天由命了……现在就应该是市场部的工作了吧……
和大多数应用软件不同,游戏基本上不需要维护和改进工作。软件的开发和维护比起来,其实是万里长征的第一部而已,所以游戏开发者 应该说是很幸运了。不过现在patch之风渐盛,事情似乎有所变化。把一些未完成的游戏放到货架上,然后通过patch和exp ansion pack补充完整,似乎成了一些公司的选择。我实在不能欣赏这种做法。console游戏稍微好一些,这是console的良好 传统,希望能保持……不过因为制作时间似乎是永远不够的,所以一般游戏上市时,很少能实现制作者的所有理想,所以一些好的exp ansion pack和patch其实是有助于提升游戏的价值的。要做expansion pack,就应该像Blizzard那样做,那才是真正的expansion……