二十二章 功能取舍
22功能取舍
游戏开发中,程序员总会遇到这样的问题:是不是硬着写?
最早开发游戏,都是由程序员进行,那时候游戏相对简单,一个人写代码就可以了,可以说早年的游戏都是硬着写的。
比如怎么读取资源,怎样控制角色,怎样对话,都是程序员自己写的。
一个人开发的游戏都是如此。这样从程序写代码,实现游戏玩法角度是最快的。
缺点是游戏哪怕有轻微的调整,有一丝的修改,都要程序员来协助。小的游戏还好,项目规模一大,往往就会失控,而这时候,即使别的程序员想去帮忙,也无从下手。
相对规模的游戏,务必要做到逻辑,功能,资源互相分开。
硬写的游戏代码。策划想改一句对白,改一个人物站立的位置,都需要程序来协助。对于一个游戏来说,这种调整和优化是时时刻刻都要做的。
极端的情况这个单干的程序生病罢工,情绪不佳,乃至消失,连能接着他干活的人都没有,很多时候这个项目就会废掉。
硬写会产生很多弊端,行业内开发游戏还是免不了这样的事情。
主要原因是两个,第一是工期:这个做任何软件工程或者商务工程的人都明白,对外宣传已经开启了,而产品必须按时推出跟上市场的节奏。
最出名的案例就是雅利达的《ET外星人》,为了赶上电影的热度,这款游戏的开发时间只有几周,最终这个畅销后大规模退货的产品摧毁了雅利达和那一代游戏产业,上百万个游戏卡被填埋在新墨西哥的沙漠中。
还有国内着名的两款游戏《血狮》和《江湖》。
《血狮》在连DEMO都没有的情况下开始了非常宣传,没有经验的开发人员低估了开发的难度(主要是C&C这种即时战略的AI),而上市的时间不能一拖再拖,有一批光盘甚至没有印刷就被经销商拿走,迫不得已举行的首发式,玩家甚至挤破了联邦软件的玻璃门。硬写赶工的游戏甚至没有可能出一个较为完善的版本。
另一个前一年上演的例子,深圳金智塔的《江湖》(这个在第三幕中有较多的介绍,此处简述),主要原因是开发过半时,制作人离职,公司现金流断了,几乎倒闭,最后在极短的时间内完成游戏,扑向市场带来了收入。据当时看到第一版客户端光盘的内容,第一张游戏只有一个可执行文字和一个运行库,其他都是各种美术音乐文件,第二张光盘则是告知玩家把所有的文件拷贝到安装布鲁下,这就是程序强行写就的游戏,bug连篇。
另外一种硬写的情况,贯穿行业始终,那就是为了合成版本来应付。
应付的对象是老板,投资商,客户等等。
游戏的开发是有阶段的,好比拍电影的时候,并不是按照电影的播出顺序去拍镜头,而是分成各个小组,分头去拍摄。如果随时看一个段落是可以,看类似于最终的成片效果,那是绝不可能的。
对于游戏也是如此,不可能随时看到一个可运行的阶段,而必须要看的时候,就要填写很多临时资料,很多临时代码,暂时对付看一下。等看完之后,还要拆掉这些临时的东西,在有些大公司,差不多四分之一的时间都要花费在这里。
吴导说硬写的意思是:如果想在二十号完成这个能给人看的版本,势必要写一些临时性的代码,而这些代码注定会浪费掉!
这时候就是需要制作人做抉择的时候了,究竟哪一部分可以在未来牺牲掉,哪一部分必须要写的灵活,方便以后制作。
如果把游戏制作当做一段长长的流程,那么每时每刻做的就是决断。
曾启分析,这是一款以剧情推进的回合制战斗游戏,要以剧情为主的,电视剧假设有47集,那么应对电视剧做的营销,势必考虑做47个章节的关卡,假设每个挂机点有20-30个挂机点,总共要做的挂机点要超过1000个,这些挂机点根据策划初步设计,需要对话,动作,或者切换到战斗,都要手动进行编辑,这个将是未来很大的工作量,所以这个势必不能硬写。
曾启要求程序关于挂机点和关卡的制作务必模块化,这个意思是。策划可以用习惯的EXCEL根据格式来编写关卡,对话(几十集电视剧对话的文本要按照序列使用),剧情(剧情包括调用指定的NPC,走位,动作,如说完转身还是原地不动等等),这个工作,策划需要根据画面,视觉效果来反复调整,所以一定要能方便的工作。
(着名的游戏制作书籍《游戏编程精粹》中特别强调一点,编程的归编程,设计的归设计,程序把功能设计的便于策划工作即可,千万不要自己做微调)
既然确定了剧情表现要模块化制作,那么势必要决定对另一处模块做删减。曾启的决定是战斗,理由是,我们的演示版本是给影视出品方看的,他们看重的是什么,是剧情的表现而不是战斗!
曾启告诉吴导和程序部门,战斗可以套用简单的表现,只要能完成多人对多人(5V5)的回合制战斗,你来我往的打一架就可以,要求仅仅是展示,可以硬写。这个硬写表示:任何一次战斗,玩家和四个助手的生命都是500,攻击力都是100;任何一次战斗,五个对手的生命是150、150、200、200、200,攻击力为80。攻击力就是伤害值,然后按照排列顺序互相格斗,玩家的角色每次打敌人100点血,敌人打玩家80点血,玩家打敌人2-3回合打死,这种差距导致玩家一定能获胜。
既然玩家肯定获胜,那么就能顺利的把关卡推下去。
计算工作量,对于一个有足够经验和模块的程序员,只需要二天就能写完这场战斗,这是写死的,无论调整敌人的生命还是我方技能的效果,都需要程序一行行代码的修改。
如果真正完成一池合制战斗(指的是类似于仙剑1代那种回合制),即允许策划配置敌我,调用战斗公式,使用技能,达到各种效果的话,至少是一个月(如果是网络配合组队式回合制,则至少两个月)。面对二十天后必须拿出来的版本,只能采用这场临时的战斗玩法才能做到。
临时写的战斗代码,以后会怎么样呢?肯定的说,实际制作战斗的时候势必全部废掉,这也是游戏研发过程常常强调的取舍,从来没有充分的时间,充足的资源和无限的人力,所有的游戏制作都是在有限的时间,有限的人力和技术条件下完成的。好比这个影视剧的项目,由于前面已经浪费了近半年,那么要么做出来,要么放弃,魏总选择的是前者,曾启也选择的是前者,时间越紧张,就越要懂得取舍。
所以当曾启和程序们讨论完1月20日的版本计划后,就召集老金和美术,自己手下的策划小彬和文案小琳,制定后面的工作计划。
一个游戏项目研发前期,程序和策划是分开工作的,程序去搭建整个游戏的框架,策划去制定游戏长远的规则,美术则是去制作早期的设定,还有替程序来制作测试的样品。这包括,根据电视剧提供的定妆照来做三个3D的Q版人物,狄仁杰和武则天和李元芳。根据一些电视剧的剧照,从1993年开始的刘威、林芳兵版《唐明皇》,刘晓庆、陈宝国版的《武则天》,和陈红赵文瑄,周迅版《大明宫词》以及聂远、沈傲君、唐国强、秦岚的《大唐情史》,直到2003年今年贾乃亮,马苏的《大唐歌飞》来做场景图片。这一串DVD碟片看的曾启和相关的档案,看得曾启头大。总结起来,自己似乎可以写一部《从1993开始》,讲述角色参加拍摄这些唐代电视剧的故事,说不定还可以和唐国强先生拍一些广告呢,开开挖掘机呢?
总之,预计程序会在两周后,也就是1月14日提交第一个版本,然后大家坐在一起,把美术整合进去,再进行一番包装就可以做出版本。
当然,这是理想的情况。
游戏开发从来没有出现过理想的情况,古今中外,从来没有!