« 那些日子(八) | 返回首页 | 写了个简易的 web server »

那些日子(九)

在网络游戏还没有盖过单机游戏的风头之前,大家都认为网络游戏只是电脑游戏的一个小分支。制作、销售的流程也还停留在旧的思维上。

我们都觉得,费劲心力做了这么一套东西出来后,应该先收玩家一些费用。简单说,也就是卖客户端了。7 月里,《金庸群侠传 online》上市,卖出了 10 元的低价。这个游戏吸引了不少玩家,玩家后期的开销远远不只 10 RMB 这么一点。运营商其实也不在乎 client 的这点收入,网络游戏也不惧怕客户端盗版,巴不得多点人进来玩呢。

不过,一开始没人去做免费的客户端。我想有几个原因。其一是固定思维所限,其二是当时网络带宽不够,拨号上网依旧是主流。还是得依靠光盘发行。既然需要走传统的销售渠道,那么也总得设个价格。

网易没有自己的销售渠道,所以选择了一家代理商,智冠。现在看起来很好笑,如今都是花钱想方设法的把新出的游戏 client 送出去,发到最终玩家的手上。那一次,智冠居然还要付我们一些版权费用。不过,我们必须给每份 client 附加一个 cd-key ,没有 cd-key 就不准激活游戏。这是从暴雪的 battle net 模式学来的,可却是一个失败的抄袭。等到游戏上市那天,许多玩家下载到了 client 却不能进入游戏,论坛上怨声载道。

也因为要为光盘制作的周期预留一段时间的缘故,我们的项目 dead line 比预定的运营期要早一点。一开始定的 9 月中旬显然是干不上了。micro 向上面申请延期,结果只增加了一个月时间。我觉得,即使多这么一个月,也是不可能完成的了。


九月里,游戏大概有个雏形出来。虽然 bug 百出,但勉强算是做全了名义上的那些功能。我试玩了一下,非常的不满意。我想,这样的产品是不能拿出去的。大家做的实在是太仓促了,感觉只是为了完成那些功能而去完成,不能算是一个游戏。太多细节没有去推敲。

当然,我没有细玩,不知道到底有些什么玩点。单从 client 的操作感来说,已经是很差了。一个很明显的问题就是,一旦玩家在场景中跑动,屏幕抖的要命。不停下来,根本看不清屏幕上那些玩家的名字。我仔细研究了这个问题,判断是屏幕卷动速度不均匀导致的,便着手改进。

简单的说,就是不要把主角固定在屏幕中间。无论他以怎样的速度移动,都只用一像素每帧的速率顺势卷动镜头,同时严格限制帧速率。当玩家向一个方向连续移动速度过快时,就加大镜头移动速度拉回来。这里的要点:不要让镜头速度切换的频率过高。

真正调的舒适还是颇费了一番工夫的。我在家折腾了两晚,写了个小 demo 拿给大家看。其实我心里还有另一番用意。当程序人员围坐在我的座位周围时,我迟疑了一下还是说了出来,“不如我们把客户端重新写一遍吧”。

这个想法显然是吓到大家了。所剩的时间已经不多,以大家当时的能力,就算不吃不睡估计也干不完。古越的反对声音最有代表性,他说,如果只是要把镜头控制这部分改过来,参照我写好的 demo 代码,花几天就可以搞定。如果别的地方有问题,也可以如此照办。看不到什么特别的需要全部推倒重写。我也实在找不出什么理由坚持我的观点。这件事就这么过去了。

大家继续加班,几个程序的工作压力都很大。而我负责的引擎部分已经没什么事情可以做了。就自己一个人窝在那想,如果重新设计,这个 client 应该是怎样做更好。也随手搭点代码试试。


在 client 压盘前,我们做了一个内部测试。这次测试直接招募了一批玩家长驻公司。很多外地来的玩家,干脆就在公司的空位上打起了地铺。这批可爱的玩家每天给我们提意见,并对游戏的 bug 做出了极大的包容。他们中的很多人,日后都成了网易的员工。QC 部门也是那个时候成立的。

说是 QC 部门,但不完全是做质量控制方面的活。因为当时的项目,解决 bug 的速度远远低于发现 bug 的速度。想来 QC 部门不需要做太多事情,就足够开发部门的人忙了。所以我们也找出一些活儿分给他们的人做。

比如果子就写了个简单的编辑器,让 QC 的头儿侯燕去校对并修正在 photo shop 里标记出来的人物行走区域。这个编辑器做的太匆忙,以至于后来只有侯燕一个人会摆弄。我也做了另一个编辑器,向场景上放置一些动画装饰,以及为每个场景设定背景音乐。随便拎了个有兴趣弄这个的人(似乎那小子网名叫游子,呵呵,其实我还是有记性的)过来就让人家做。

其实后期这些事情多半是我没事找事搞出来的,不在原来计划内。凑着画面,感觉画面不够生动,就想点办法弥补。做美术的头儿周云倒是挺配合我的工作,帮着做了许多动画。天宫中的云彩、花果山的瀑布、长安城那护城河中的流水……

到了压盘前的那几天,古越忙着改 bug ,果子在做一个 mp3 播放器。果子的最后这个任务来的很突然,原本 client 的声音播放程序是我老早就写好了的,关于音频压缩格式解压,直接调用的 windows 自带的 codec 。没想到后期测试的时候发现, windows 95 的系统并没有默认安装 mp3 的 codec 。临时改动 engine 来不及了。果子说可以找到一个开源的东西弄弄。但那时 client 代码比较乱,不好向里面插新代码。我出了个馊点子,不如单独写一个 mp3 播放器。当 client 切换场景时,向这个播放器发送消息切换背景音乐。反正别再大动 client 的代码就好了。(这个临时拼凑起来的播放器也有很多问题,在游戏发行后,我们就把它换掉了,是安宁写的 mp3 解码器,一直用了好多年)

我也没闲着,开始审核 client 的各种数据资源。

要说整个《大话西游》的 client ,除了主程序部分,我想没人比我更熟悉那些资源数据的数据格式,以及各个 dll 的用途了。基本上,我设计了所有的磁盘上的文件数据结构。又因为是第一次实作,这些东西在开发期改动了很多次。各种生成转换工具几乎都是赶时间随手写的,异常混乱。几乎每样东西,离开了制作它们的相关人员,只有我可以检查出是否有毛病了。检查方法也是各种方法一起上:写程序检验、用 16 进制编辑器打开肉眼查看,等等。

这些校验的活,因为项目后期的混乱,没有人去做,甚至没有人想到去做。大家只想把表面上看起来要做的时间做完,回家能多睡会觉就好了,光就那些看起来必须完成的工作,已经累的人够戗。我想,若不是养了我这个闲人,《大话西游》的第一版上市估计会更糟(实际上已经糟透了,更糟也是无所谓的吧)。也因为这些琐碎工作,我从最闲的人变成了最忙的一个。

最后一周,做不完的事情啊。我坐在自己的位置上,不停的干活。用最快的速度写着一些自动化,半自动化的工具。觉得可以了,无论白天黑夜,在办公室里随便找出一个貌似闲着的活人,把东西交给他,说,现在需要你帮点忙,应如何如何去做,有问题回头来找我。

那几天,公司的洗手间坏了,正在翻修。需要方便的时候要下楼走出去老远。不想浪费时间,干脆就不怎么喝水。每一个通宵只用上一次厕所。就这样,不知道时间过去多久。只觉得,身边的人来了,拍打着键盘,身边的人走了,安静下来;天黑了,显示器特别的亮,天亮了,从窗外射进阳光。

每当项目最紧张的时候,我都觉得自己的精力一下子变的特别旺盛,虽然疲惫,但是不会发困,脑子也转的很快。记得那最后的一天深夜,突然发现有一张地图的阻挡层信息做的不对,需要修改。可第二天上午就要把 client 打包送去压盘,等不到负责人第二天过来上班。

这个活一直是候燕在做。而那时,她已经回家,在番隅的家,离公司很远,显然是赶不过来的。果子因为困的不行,回家睡觉去了。我们都不会用他写的那个编辑器。打了几通电话,还是没问明白。我想了几秒,估算了一下距离天亮的时间,和手头上需要做的活儿。立刻下决定重新写一个工具。交互式编辑器当然没那么快能完工,但是我熟悉文件的数据格式,所以写了个一次性程序将内部出错的数据导出成文本。再写了个导入工具,可以将修正后的文本编码导回。做好工具后,便可以交给其他人去修改了。需要交代的只是那些中间文本的含义。这次的经历,让我看到了文本数据的秒处。以后我自己的项目里,所有资源一律要求在开发期制作成可读的文本结构,当考虑到效率时,再写转换工具生成二进制格式。

接下来制作了几段视频的播放程序:制作人员名单、合作方智冠的动画 logo ,还有大话西游的片头动画。是的,最早的大话西游是有一小段片头动画的,因为我们觉得,只要是电脑游戏,都必须要有片头动画。当时周云做好了交给我的时候,我还觉得它过于简陋了点。

我没时间写视频的播放器,干脆把他们压缩成一张张静态的 jpg 顺着显示,倒也简单。当我看到离天亮还有几个小时时,居然多花了些心思制作制作人员名单的播放模块,被称为 Credit 的那个恭喜。我想还有时间,应该让它绚一些。甚至还放了个彩蛋进去。

天终于亮了,熬了三天还是四天,我已经分不清了。给早上来报道的同事交代了哪些数据应该打包,头也不回的上了出租车。几乎在对司机交代目的地的那句话说出口时,睡着了。

今天,我找出了当年那天做的那段程序,是几个月后把代码和数据提取出来重新制作的一个独立包,没有代码,只有执行文件。里面用的背景音乐是网易购买了使用权的大话西游电影主题曲《一生所爱》,我很喜欢。里面还有早期同事的集体照,参与制作的所有人的名单,只要为这个游戏工作过哪怕几天的人都列了进去。那是很多回忆。只可惜刚刚试了一下,程序在 xp 上似乎不能运行 :( 就不给大家推荐了。


临近发行时,2001 年 9 月 27 日,周星驰过来公司,他是游戏的代言人。这个日子这么明确,是因为那天我约了牙医补牙。结果没赶上大家合影,有点遗憾。昨天翻出病历,找到了这个时间 :) 。第二天,星爷又到 36 楼,我也在。我凑上去聊了许多。别的不记得了,就记得光在说《南方公园》(当时很流行?) 。星爷的普通话讲的很好,人也和善,没什么明星架子。他的粉丝太多,大家又不好意思凑过去要签名,看我混的挺熟,一个劲的让我递签名本,星爷都一一的签了。

我抽屉里刚好有样东西感觉挺有纪念意义:《大话西游》客户端的母盘 :) ,让他签上了名字。有点可惜的是,公司的数码相机碰巧没电,始终没能没留个影。


哦,对了。说起这张母盘,还有点故事。今天时间还早,随便写写。

当时我想,什么游戏发行后都免不了盗版,何况以后激活帐号另需要 cd-key 。让别人盗还不如让兄弟盗。我在广州有个好兄弟,tarcy (很奇怪他怎么用个女性英文名做网名),做盗版行当的。这个家伙研究软件加解密出身,水平挺高,但在软件破解的圈子外估计没什么人知道。不过他有个小弟名气很大。dingboy ,不知道有人有印象否?呵呵,不知 google 之,我就不介绍了。

我把盘交给 tarcy 让他压几千片卖。那个年代走这个渠道比正规的卖场要有效率的多,几天就在全国铺开了。

接下来的一年多,单机游戏迅速没落,加上互联网带宽的快速发展。tarcy 他们没过多久就洗手不做盗版盘。我想有一技之长的聪明人不会被埋没,他们改行写网游外挂,又赚了不少钱,差点投资自己做游戏。此乃后话,放到以后再写吧。


谢绝转载

那些日子(目录)

Comments

是tarcy不是tracy..
呵呵,tracy是中性的名字啦,人家麦蒂就叫Tracy McGrady~ 好啦,插嘴结束,继续听故事
养成来这读故事的习惯了:-)
一口气看了那么多.总想给你留点什么言,可是手放到键盘上又不知道到写什么!#13
中年……真会说话……我大学毕业时候还想写回忆录呢。
看不到未来. 回忆点过去.
哎 没有抢到沙发 先回复 慢慢看 照常说一句 云风加油
都9了
又是一个沙发,还以为今天太忙不写了。感染的我都开始到我们BBS上面写日记了,记录每天的工作是一种美德。
当人走向中年的时候,多少会去回忆过去~

Post a comment

非这个主题相关的留言请到:留言本