那些日子(七)
01 年的夏天到来的时候,《大话西游》跨过了一个里程碑。古越发了一个内部的 demo ,没有网络功能,只是一个主角在两个场景间转悠。一个长安城,一个化生寺。回想起来,整个 demo 就是被逼出来的,没什么太大意义。老板说,要有一个 demo ,那么就有了。
我的场景管理模块完成了,角色精灵的显示完成了,其实要做的工作只是粘合一下,没什么实质的东西。这种 demo 更像是无数国内开发小组忽悠投资用的玩意,秀几个人物,来两个场景转悠一下。只要美术做的足够漂亮,就足够可以蒙过那些不玩游戏的投资人了。这样的 demo 多如牛毛,相互之间不同的是,图象上能表现出来的技术含量高低:2d 的还是 3d 的,有多少特效,画面刷新率多少等等。其实离游戏还远着呢。图象表现上的技术,是游戏开发中最简单的技术了。倒不是技术含量低,而是一旦有人克服了技术点后,都是成熟的玩意。接口简单易用,也容易独立的更新换代。从工程角度上讲,可以正交分解的模块都是简单的东西。
不过话说回来,在上个世纪,国内就连这些简单的部分也做不好。随便发行个(单机)游戏,不在底层出点 bug 就可归为上成佳作了。多少好的游戏就毁在引擎的不稳定上。离开一个稳定的引擎支持,就不要奢谈游戏性的调整。妄图在一个不稳定的引擎基础上设计出一个好的游戏出来,那是空中楼阁。绝对不存在一个游戏,单单只是程序有太多 bug,而游戏设计却非常棒的。程序这块做坏了,不仅仅影响玩家的感觉,同样影响策划的工作。等到《梦幻西游》出现在这个故事中,我会展开来谈谈这些。
对于这个 demo ,不光是在游戏部门内展示,为网易工作的大多数人都见过了。既然,这个 demo 根本不应算是这个游戏项目的里程碑,自然也没有收集到多少有价值的意见。许多人只是表示,如果护城河里的水可以动就好了,岸边的柳树应该随风摇摆一下…… 是啊,谁不想更生动一些呢?
就在那几天,游戏开发团队全部搬离了市中心,迁入处于城郊的天河工业园。今天,那一带热闹多了,甚至有了四星酒店,高档商品楼,满街的饭馆。科韵路那条小街也被改造成有中央隔离带的主干道,只是当年,我第一次到工业园区的时候,只觉得:荒凉。
一开始我不想搬到工业园去上班,因为不想住在那边。而每天从市中心奔过去的话,来回又会浪费太多时间。广州网易财务部的头儿 Rose 大姐在离职前嘱咐道,给云风在 36 楼留个位置吧,我就留了下来。有时就在 36 楼写代码,除了大猫猫,只我一个游戏开发的。好在网易技术部的人也混熟了几个,倒是不寂寞。有时也去工业园看看,micro 给我在那边留了个工位,添了台机器。
没人知道我今天在哪里,明天去何方。如果我不在工业园,那么就在 36 楼;不在 36 楼就在工业园。如果我在家里办公而不去任何一间办公室报道,恐怕没人会知道。只是我从没这么做过。
只到半年之后,工作越来越忙,接连两周,我每天都赶去工业园。到了第三周再回去 36 楼的办公室时,发现抽屉里已不是我的物件了。旁边的同事对我说,“以为你不来了呢,现在有人坐这儿了。你的柜子在储藏室里。”。我在储藏室没找到我的东西。那使我遗失了许多私人物品,一些信件,笔记,相片之类的。有点怅然若失。但不久就想开了。人活在这个世界,没有什么不可以失去的。即使记忆、纵然生命,百年后,尘归尘、土归土。
建华路 25 号 2 楼,1500 平敞开的几大间屋子。网易游戏部新进驻的时候,只坐了一半(一个大开间)。装修很别致,据说是丁磊从硅谷学来的风格。铺着地毯,大家都穿拖鞋,甚至打赤脚。天花上没有吊顶。楼上是住家,粗大的下水管道只是用彩色的塑料胶布缠了一下。偶尔能听到抽水马桶的冲水声,大家笑称,都是肥水呢。
另外空着的三间大房间,很久很久以后摆上办公桌。一间里放了张乒乓球桌,晚饭后,大家排着队打球。据说古越的老爸是乒乓球教练,曾经发明了一种碟形球拍,有专利的。服务器的主程 ten 是乒乓好手,我水平一般,陪他们练练球而已。另一间里吊了一个沙袋,有人在里面拳打脚踢。累了,就去一间有电视的小休息室,在 ps 铁拳上继续。
给我们搞卫生和做饭的阿姨有两个,一个胖胖的,我们管她叫胖阿姨;另一个瘦瘦的胡阿姨。阿姨挺牛的,不讲卫生或是浪费粮食会被教育的。她们不算正式员工,但绝对是游戏部门的元老。
刚到新地方的时候,大家都很兴奋。第一天音响开的很大,震的屋子乱颤。而写服务器的 ten 是个极需要安静的人,有点噪音就干不下去活。最终,立下了规矩,大家一律带耳机,上下班都不准用音箱。呵呵,我配的机器是个例外,有一对音箱。只是我没有听歌的习惯,从来不开它们。其实环境嘈杂或是安静,我都无所谓,估计是耳朵对声音不敏感,也怪不得我五音不全,不爱唱歌了:) 。其实大多数程序员还是需要一个安静的环境吧。
micro 有一间小的办公室,他是游戏部门的头儿,也是《大话西游》的项目经理兼产品经理。办公室里有六张桌子。我不记得还坐了谁,应该不只 micro 一人,但也没有坐满。他有时候出来转转,问些问题。我很奇怪项目经理到底应该做些啥,制定每个阶段的目标吗?但我看到的都是些形式。什么时候完成什么全系在负责的那个程序身上(单从程序角度上来看)。做的人慢点,进度就慢了点,快一点,那么进度就快了点。旁人影响不了什么。项目经理在后面嚷嚷,快点快点,加班加班,似乎起不到什么作用。写程序不是记件的活儿,多干一个小时就能达成完成度一分的。
micro 那时也表现出一丝无奈。记得他对我私下里讲过,他很想写些服务器方面的程序,就像他以前做 mud 巫师那样,但是实在是无从下手了。我想那个时候他陷入很多事情里,正如今天的我。不过我现在好那么一点,至少时间上宽松一些,而且多了这么多年的技术积累。
很大程度上,我所能看见的 micro 的工作都是在招人。他向我征询意见,问我对某某的看法,我直言不讳。
刘铁是当时圈子里小有名气的策划了,据说 95 年就混迹于国内的游戏制作圈,新疆人,能写文章能作诗。为人豪爽,特能喝酒。我们第一次见面,他就拉着我灌白酒,喝的醉熏熏便开始豪言壮语。几年后离开网易销声匿迹了很久,我一直听说他在搜狐做《天龙八部》只是产品怎么也出不来。今年,《天龙八部》一鸣惊人,张朝阳扬眉吐气,丁磊垂涎不已。我想此人功不可没。林广利曾经这么评价他,刘铁的思想过于天马行空,想的太多,所以做出来就少。可买下《天龙八部》这个题目,把人限制在一个小圈子里,反而可以让他反反复复研究个透彻,东西也就做的好了。呵呵,姑且听之。
我曾经诧异一个网游(天龙)能憋这么久才出来,等我自己做时,今天回首过去三年,不也一样吗?
萝卜是之后大话2后期的产品经理,到如今已经是游戏部门的领导了。他是那个时候入职网易的。挺偶然,他弟弟在游戏部门做 QC ,他过来看看,觉得不错,就留了下来。第一份工作是做大话的界面设计,偏美术一些,离策划较远。萝卜是游戏部门公认的好人,好脾气。听他聊过他的过去工作经历:自己卖过电脑,做过三星显示器的地区总代。最终赔了钱后又只为学点东西,在家小店面帮人用 photoshop 做平面设计,被人剥削了还乐呵呵的满不在乎。曾经四处游玩,只因到了一处,碰见一拨人吃完晚饭在街上踢毽子,一起玩的开心,就跑去他们公司干了半年 …… 一个随性,谦虚,豁达的人。
还有一人(这里隐去名字,因为要谈点人家的糗事),不拘小节。有天白天我在写程序,旁边传来鼾声,四处寻觅不见。突然身边站起一美女,婉婉而去。原来我们的办公桌的侧隔板和窗台边留有半米距离,刚好能放下一睡袋。平时打地铺,外面看不到,无损形象。估计是夜里工作的晚了,此人白天怀抱女友入睡,一直睡着,mm 才离开。我就这么记住了这个新来的策划。
他成天的在公司,夏天里没回家洗澡。可想而之,这日子久了,周围的人哪堪忍受。后来此人离职,阿姨拿着火钳夹出工位下的拖鞋扔掉,根本无人敢碰。
ten 是个极爱干净的人,每每跟我说起,都捂着鼻子。只要是策划开会需要程序参加,他都勒令某人回家先洗了澡再来。:D
好在我是个百无禁忌的人,跟谁都相处的很好,啥毛病都能忍。倒是没觉得太多不是。
天气最为炎热的那几天,我跟果子在弄 client 更新的模块。我设计了一种数据包的格式,其实并不复杂,只是把零碎的数据文件连起来而已。关键在于,我们希望日后的更新可以尽量的不影响旧的数据。因为我们已经预料到以后 client 会频繁的更新。更新包的数据下载,网络带宽是一部分制约因素,而下载更新包后,怎么合并到原有数据文件中也是一个会影响用户观感的问题。
如果让玩家只是简单的把下载的更新数据包解开,然后重新打包进硬盘上的旧数据包中,很可能这个过程会随着 client 的迅速膨胀而变的异常漫长。
所以我优先考虑的是,如何追加新的数据进数据包,而尽量不影响旧数据在硬盘上的物理位置。其次,就是帮助玩家节省硬盘,而不能每次都把新数据追加在老的数据包之后。
这块东西最后是我和果子合作完成的,我设计了数据包的数据结构和更新数据包的规则和方法,他制定了 patch 包的规范,并编写了代码。
虽然当初做的草率,可大体上却是没什么问题。这套系统沿用了好多年,今天网易的新产品还在继续使用。恐怕只有我目前的这个新项目才在翻新重新设计吧。相比很多别的公司的产品,在 patch 更新方面,我想我们做的还是相对不错的。比如 wow ,每次下载完大的 patch 包,打 patch 的时间都远长于下载时间。如果 wow 也一周一个 patch 的出,估计玩家要郁闷死的。
唯一不能被打包的是当时的 UI 系统用到的资源。那些图片、js 文件、超文本等等。本应是有办法的,只是我们没有时间去找。郭斌不想让最终用户可以看到那些 js 文件的源代码,他写了个程序做扰码。把那些发行版中的 html 和 js 都弄的面目全非 :) 。可惜没有解决上百个小文件的问题(js 文件过大后,在早期的 IE 版本上还有些毛病)。
最终大话的发行版安装时,大部分时间的等待都消耗在了 UI 系统的安装上,不停的拷啊拷啊的。可能那些扰码还有点浏览器兼容性故障,有些版本的 IE 会时不时蹦出脚本出错的对话框。
我已然意识到用 html 来实现界面的诸多问题了。比如显而易见的内存消耗,IE 控件吃掉了大量的内存。不象我们自己的引擎可以控制内存中的图象让他们压缩存放,浏览器放置那些图象素材时一定是平坦的扔在内存中的,也无法做动态加载。
但是没有时间让我们放弃这一方案,甚至从一开始,这就是个帮我们节省开发时间的方案。
我依旧住在市中心,每天公交车收班后才回家。住在那一带的同事拼辆 taxi 回家,走对路的话,是 28 块,虽然有点远,但路上随便的聊聊就到了。四人一车,我、郭斌和刘国斌。还有一人,此人对日后的网易游戏部举足轻重。Ding dang ,从肖海彤的办公室也搬到了工业园。
谢绝转载
Comments
Posted by: 小蓝猫 | (32) November 30, 2015 05:41 PM
Posted by: Wang | (31) October 17, 2015 02:32 PM
Posted by: 杨怪怪 | (30) September 23, 2015 01:46 PM
Posted by: 渤海湾[小鱼儿] | (29) March 28, 2009 06:20 PM
Posted by: Anonymous | (28) August 27, 2008 01:57 PM
Posted by: tanya | (27) July 25, 2008 06:38 PM
Posted by: liuy | (26) June 23, 2008 07:10 PM
Posted by: zen_yue | (25) May 8, 2008 12:51 AM
Posted by: chinetman | (24) May 7, 2008 10:32 PM
Posted by: 22F太激动 | (23) May 7, 2008 10:01 PM
Posted by: kl | (22) May 7, 2008 09:51 PM
Posted by: Siney | (21) May 7, 2008 08:43 PM
Posted by: xianxian | (20) May 7, 2008 06:10 PM
Posted by: 佳霖 | (19) May 7, 2008 05:04 PM
Posted by: lee | (18) May 7, 2008 04:54 PM
Posted by: srdrm | (17) May 7, 2008 04:00 PM
Posted by: leon | (16) May 7, 2008 01:45 PM
Posted by: hello_world | (15) May 7, 2008 12:13 PM
Posted by: Rexzhou | (14) May 7, 2008 12:05 PM
Posted by: nothanks | (13) May 7, 2008 10:42 AM
Posted by: 孤单 | (12) May 7, 2008 10:29 AM
Posted by: rocky | (11) May 7, 2008 10:13 AM
Posted by: chengjie | (10) May 7, 2008 10:07 AM
Posted by: david | (9) May 7, 2008 10:07 AM
Posted by: xyz | (8) May 7, 2008 10:02 AM
Posted by: HitJ | (7) May 7, 2008 09:22 AM
Posted by: HitJ | (6) May 7, 2008 09:20 AM
Posted by: oyang | (5) May 7, 2008 08:53 AM
Posted by: tigerdx | (4) May 7, 2008 08:45 AM
Posted by: alexandercer | (3) May 7, 2008 01:49 AM
Posted by: 古越 | (2) May 7, 2008 12:48 AM
Posted by: Maya | (1) May 7, 2008 12:22 AM