« 游戏数值公式的表象与本质 | 返回首页 | 那些日子(二) »

那些日子(一)

明天就是五一假期了,同事都已放假。我不打算在假期加班,因为加班也无事可做,手头上的工作都需要与人合作。

前几天和新同事吃夜宵,大家聊的异常兴奋,我也忍不住开始想当年。当年那些美好的日子,记忆已经很模糊了。我想再过个两年,估计我都不能准确回忆起那些曾经对我影响深刻的日子准确的时间。是时候记下点什么,对自己是一种纪念。

我这人有个优点,选择性记忆,那些不快的回忆很容易随风而去。活在我记忆中的人们,对他们只留下感激。我也曾经爱写日记,很早我就写电子日记,记在自己的机器上,PDA 上,当我有一些不愿意再回忆的事情时,我会个将整个文件加上密码,长长的一次性密码,保证自己只能记住一小段日子。当这段日子过去,密码就消失在记忆中。然后再也打不开这些文字,等到下次更换硬盘,无论我多么的想再看一眼当年的自己,也无能为力,只好把加密过的文件删去。

我想我就是这么成长过来,没有什么挫折的感觉被反复咀嚼,都已经抛在脑后。生命中没有什么不可以失去的,这个道理很早就明白了。我曾经懊恼过丢失了大量的源代码、自以为写的不错的文章、早年的聊天记录、珍贵的日记、数年的电子邮件…… 最后我明白了,一切的一切不过是身外之物,我能拥有回忆中最美好的部分,那么已经是特别幸福了。

不过也正是如此,以下的记录也只能是我努力的回忆。或许因为时间久远,跟真实有所偏差,或许从我的角度只看到的事物的一面,但是、我可以保证,并没有故意在叙述中掺差虚假的东西。

是的,我想讲一个真实的故事,一个拥有数千万玩家的游戏诞生的故事。我并不喜欢这个游戏系列本身,但是我为这个产品自豪。我的代码曾运行在几千万用户的机器上,作为一个程序员,还有什么比这更让人满足的呢?也许有,比如让这个用户数量再扩大 10 倍。


认识“古越”还是我读大四下学期的时候(2000 年初)。有一天,他在 QQ 上蹦出来,问我一些“风魂”的问题。我当时上网主要在泡 sina 的游戏制作论坛,“风魂”就是那几年写的游戏之作。

更早的时候,我比较喜欢在 dos 下写点东西。研究一下 allegro 这个游戏开发库。我翻译了 allegro 第 3 版的所有文档(为此还自己做了一个辅助翻译工具),这项工程耗去了很长的时间,从 98 年开始到 99 年中,业余时间我几乎都在维护这个东西。为了翻译不出差错,同时也阅读了大部分 allegro 的源代码,从中学习到了许多游戏引擎的理念。

那些日子,时常在 allegro 的 maillist 说几句话,为一些代码做优化并迅速被 allegro 开发社区吸收进去。同时我也提出了许多自己的想法。不过由于新的想法需要对 allegro 的接口做调整,这是一个成熟的库不可接受的,和 allegro 的原作者 Shawn 通 email 的过程中,Shawn 用很友好的语气说,如果你觉得那样比较好,为什么不自己做一套东西出来?然后我就做了,甚至第一个版本在 allegro 的 mallist 中发布。有人说,这样的东西没什么意义,allegro 已经够好了(当时已经有了 Windows 版)。Shawn 还帮我解释。

哦,我说的就是“风魂”。甚至不到一个月,风魂就有了一个匈牙利用户,他还用它做了一个小游戏。

这是 1999 年 3 月 4 日到 3 月 8 日的事情。我在网吧通宵了三个晚上把风魂的第一个版本完成。之所以日子记的这么清楚,是因为我查到了当年留下的一份记录文档。开发环境是 MSVC 5 ,因为我不愿意(也没有足够的硬盘空间)装 IE4 ,所以没有安装 6.0 的 VC 。


“古越”,就是天夏的 client 主程,也担当了后来大话西游1 的 client 主要逻辑的编写工作。那个年代,精通 Windows 写游戏编写的人不多,我也只是稍微熟悉而已。很多人刚从 dos 年代过来不久,DirectX 的中文资料很少,且比较难查到。我很能理解他们选择使用“风魂”这个学生作品的缘故:开源 + 使用简单(简单的 C 接口) + 高效(在硬件条件受限的时候,我在软件优化上下了许多工夫)。

天夏这个小公司当时正在开发一款图形 MUD ,名字就叫“天下”。当时估计有很多 mud 迷想把 mud 图形化,但是做出来的产品寥寥。我只记得有一款叫作“笑傲江湖”的所谓图形 mud ,仅仅只是给文字 mud 加了点图片而已。真正意义上的图形化还没有人完成。

显然,天夏的开发团队也没有前人的经验可以追寻,甚至他们没有开发过单机游戏。忘了当年“古越”问了我一些什么,只是最后,他想请我帮忙做一些模块,可以让游戏开发更简单一点。这个工作是有酬的,这点吸引了我。要知道当时都是穷学生,我连买块硬盘的钱都没有,显示器也已经严重老化(93 年购入的时候已经是国外的电子垃圾,不知道服役过多少年了), 我的开发机器中的 CPU 是网友的公司赞助的,主板是编程比赛的奖品,内存条这些配件用的先前一些兼职工资买的。

所以,任何一个用自己的技能赚钱的机会都不会放过。这样,我又认识了 micro ,天夏当时的头儿之一,据说他当过 mud 的巫师,也写一些服务器的代码。不过后来我们见过面之后,一起在网易共事的日子里,几乎没见他再写过什么代码,这些是后话了。

我写了一个支持 Z buffer 的 2d 模块。这样,他们可以简单的处理 2d 游戏中 sprite 的遮罩问题。因为需要让当时配置比较差的机器(486)能跑起来,我尽可能的用汇编优化。这些工作耗费了我一两周的时间。

快完成的时候,我在网上询问了朋友(逆火的庞鑫,他与我同届,但是他在大学期间已经发行了一个游戏了:天惑),庞鑫告诉我说,他们为了养活自己的工作室,时常也接一些单来做。这样的单大约应该开个 1500 的价。当时我天真的觉得,1500 实在是个天价,要知道 97 年的时候,我帮人用 delphi 1.0 做了一个完整的软件也才拿了 600 多点,那个用了我半个暑假。

所以我跟 micro 提的价码是 1000 。有点意外的是 micro 还是觉得有点高了,不过我理解他们的艰辛(当时是一个很小的工作室,没有什么投资,几个人自己在弄),重新核算了一下,把自己花掉的时间统计了一下。按每小时 20 块(比家教的水平高多了,当时就这么想的)得到一个大约 500 的数字,micro 把款打给了我。这就是我和天夏的第一次合作。

btw, 具体的数字我记不太清了,只能说大约这个数量级吧。大学毕业后我就再也没缺过钱用,对钱的数字极其不敏感,所以忘的快。


毕业的第 2 天,我去了北京。在创意鹰翔待了三天。林广利是我很好的朋友,我看他似大哥一样。他邀请我去的北京。鹰翔当时的情况看起来不是很好,不过我不太所谓。总算毕业了,我觉得我自由了,再也不用看老师的脸色,不用应付烦心的考试,不用担心课堂点名……

当被问及我们应该重新开始做个怎样的游戏时,大家并没有想到网络游戏,虽然那个时候石器时代已经开始流行。我听到的圈子里的说法是,“目前国内有 200 个网络游戏正在开发,明年至少有 20 个上市,再开始做已经晚了,也没啥意思”。事实上,2001 年并没有那么多国产网游被开发出来,我所熟知的一个:大话西游,可耻的失败鸟 :D

那几天我们讨论了许多,但是不知道为啥,我始终没什么兴趣。我不知道我需要什么,但是我知道那些不是我想要的。

逆火工作室在创意鹰翔对面的院子里,我联系庞鑫出来聚一下的时候才发现这一点。太巧了,北京如此之大,此刻又如此之小。

庞鑫是个典型的北京人,说话极富煽动性(会忽悠?不过人家也的确有真本事)。我 98 年在北京参加一个大学生计算机比赛时,认识的他。他倒不像我是参加编程部分的比赛,而是展出他的 3d engine 。98 年,3d 显卡还是很稀罕的年代,所以我很是佩服。

庞鑫试图说服我加入他们的工作室,跟随一个投资者(yan dan ,那个时候听说很有名,他说他帮过许多人,比如雷军)做手机的软件。据说很有前景。EPOC 系统,我第一次听说,现在已经改叫 Symbian OS 了。我们为 EPOC 做一个 3d 游戏引擎,应该很不错的。我可以做我最熟悉的一块,在 arm 处理器上,用 arm 汇编优化 2d 部分(因为手机当时还不能配备 3d 硬件,都是软件实现,最终都需要转到 2d 显示)以及一些底层核心代码。

安宁(后来为天下 2 写了几年的程序)当时也在那里,我挺喜欢这个人,他曾经用汇编写了一个软件 3d engine 。符合我心目中的牛人标准。

庞鑫的说服工作只用了几个小时就成功了。我给林广利打了个电话,他只是叹气而已,没太说什么。我就直接住进了逆火工作室租的那间大屋子。

那段日子过的挺自在,都是一帮好朋友,住在一起,半夜饿了就打车出去永和喝豆浆。白天叫些外卖。伴晚时分,也出去闲逛。我在北京有很多朋友可以一个个蹭饭 :)。几乎都是游戏圈子的。比如,最早拉我进入这个圈子的王欣(八爪鱼工作室的负责人);为无数国产游戏“擦过屁股(修补 bug 并完成游戏好拿出来卖)”的余雪松(可能说起后来的 kele8 大家更熟悉一下)等等。

这段日子一直过到天气开始转凉。我还清晰的记得那一天,有人通知我们第 2 天去深圳见风险投资的公司代表。我们连夜做了 PPT ,赶上第 2 天早上第一班飞机南下。我们只在飞机上打了个盹就被拉到另一个合作的团队的驻扎地。这个团队当时叫做 wass ,后来其主干有建立了家新公司唤作“数位红”,现在好象已经不存在了,不过应该 google 的到。

原来投资商是再后一天从新加坡去广州的。我们在深圳只是再准备一下。这次让我领略了该怎么忽悠风险投资 :)我们掐着秒表准备演讲内容,甚至连中场休息的笑话都是预备好的。

我的部分不太需要准备,反正不是说大话,怎么想怎么说即可。所以得以有两三小时的睡眠。等天再此蒙蒙亮的时候,我们已经上了去广州的 taxi 。几乎是一睁眼就到了,除了困,我什么都不记得了。

我和庞鑫的演讲部分安排在最后,会议室里,我们拼命的喝着不加糖的咖啡,中间上了三次厕所。我和站在外面吸烟处猛着抽烟的新哥们相似而笑。 40 多小时没怎么合眼。大家都困死了。

投资商是宏基,看起来比较重视,派了个元老过来谈的,带了很多人。我和庞鑫的演说很成功,想来是因为我们年轻,表现的相当有激情,甚至还为技术细节吵了两句。说完了我们就回房间睡觉去了。晚上有人来敲门的时候,已经带着好消息。

虽然我们要求的四百万美刀没有被答应,不过对方还是答应投资 1.5M 。我们这大摊子人一共保留多少股份不太记得了。只记得逆火工作室的哥几个分到百分之十几。

我们需要签四年的合同,合同很厚很厚,回北京后还安排了律师给我们讲解。我觉得学到了许多。只是最后签字前的那一晚,我想了一个问题:这是不是我的追求,我要的人生?

庞鑫曾经跟我说,没错,如果我们有 15w RMB 我们就可以自己干。即使大家现在一无所有,只要有技术,无论做点什么,不需要多少时间就可以赚到这么多钱,然后开始做自己更想做的东西。但是,或许有更好的路,让我们就有更高的起点,节约我们的生命。我知道逆火的兄弟曾经过的很辛苦,《天惑》做了三年多,只卖了五万块 RMB ,而且出版商还拖欠款项很久。但是我没有亲身经历,我不喜欢手机这个开发平台,离我的想法太远。

在那个大屋子里,大家围坐在一起,劝我不要走。我也很犹豫。负责投资的那个头儿接了电话过来,只问了我是否真的想离开。我说,我不确定,但是我知道,这些不是我想要的。这句话,很多年后我又说过一次。每次说出来,都得到了理解。就这样,我离开了这个团队。

下次再接着写吧,我想会一直写到梦幻西游的成功,是个很长的故事,不知道有没有朋友会一直读下去。我只是想记录这几年的历程,没有读者也无所谓。


注:本文全凭记忆复述,和事实或有偏差。如以后发现错误之处,会尽量修正。顾谢绝转载。

那些日子(目录)

Comments

“我不知道我需要什么,但是我知道那些不是我想要的。”
“这是不是我的追求,我要的人生?”
“我不确定,但是我知道,这些不是我想要的!”
希望自己也有一天能够有自信这么说。

验证了那句话,只要坚持,就有成功的一天.会继续关注你的.

hehe.........

似水流年啊

感谢经验分享,期待下文...

呵呵 写的蛮好的 很真实
我会一直读下去的

看到逆火工作室的杂志是"GAME集中营"
采访云风的杂志是"家用电脑与游戏机"
John Carmak写的书是"DOOM启示录"

最早是在<GAME集中营>这本杂志上了解到逆火工作室和他们开发的游戏<天惑>,后来也有幸玩到,相当不错.之后,好像是在99年左右的时候,在<家用电脑与游戏机>杂志上看到对云风的采访,有张照片是在云风的书桌前拍的,旁边放了本猫头鹰标志的<家游>杂志.

能够拨号上网后,去过云风的网站,但那时候还主要是学习编程阶段,所以,没有尝试过使用风魂.

我觉得云风和John Carmak的气质很像.感觉都具有自由的"侠客"气质.看到<DOOM启示录>,很喜欢那种几个年轻有活力朋友聚一起,在一个与外界相对隔绝的环境中,废寝忘食的研究游戏引擎等一系列难题,而且整个过程中充满乐趣.

数位红现在搞手机游戏搞的挺红火的.前段时间自己写手机游戏玩的时候,玩过数位红做的游戏,做得很精致.不过,现在好像被盛大买下了,用于完善它的产品线.

感叹一下!!

非常喜欢你的这句“我不知道我需要什么,但是我知道那些不是我想要的。”

勾起了很多会议呢,记得高中时对游戏编程很感兴趣,可惜周围都没有玩电脑的人,经常上网看游戏开发方面的文章,对云风的个人网站印象深刻(最深的印象是老不更新 -_,-)

有如传奇

读的很是投入

很高兴读,很期待继续读。

终于看到我能看得懂的东西了,呵呵!
我写博客也是为了留住某段记忆,因为再过多少年后,肯定会忘记,所以趁现在还没忘记的时候就记录下来,等再也跑不动的时候,翻出来慢慢看,相信哪个时候我不会后悔曾来人间一趟!

佩服,继续写把,整理好出个电子版自传;D

超赞的经历~
并进入等待-拜读-等待循环^_^

期待作者的继续~很精彩的文章

前辈走过的路永远指引着我们这些后辈们啊,继续关注ing

期待下文!

云风的风格改变啦?我记得你曾经说过不喜欢用开发环境,以前的个人主页也是用写字板写出来的。现在这个看起来不像哦?!

keep reading

希望过些年,可以自己写故事。

好文,请云风兄继续讲下去,等下文

<b>Good!</b>
谢谢分享你的故事,让我们学习:)

不知道楼下的人看过之后有没有湿眼圈的?

来听云风讲故事.

简直像传奇一样!由本人写出来甚至比doom启示录更适合程序员看。期待续篇!

这样的游戏经历会激励更多的人来从事这个富有激情的行业,用三多的话说--是一件很有意义的事情。

梦幻西游某篇文章说客户端大约50%的代码都是你写的,是不是呀!~你真的好强!!!期待下文!!

期待下文^_^

期待下文~~~

文章很好,有时回忆回忆过去,真的有一种让时间暂时停留的感觉。8过,经常熬夜不好。以后要争取2点前睡觉啊呵呵

第一次看到云风的allegro翻译教程是98年还是99年,当时我还在读高中。那个时候我还用它做了个3D的俄罗斯方块。呵呵。转眼10年了,有时候还真怀念啊。

或许我比较悲观,悲惨的回忆更加能令我记住。

雁过留声 人过留名 神过不留神

别人的故事总是比自己的好,哈哈。

我也是选择性记忆,对不快的记忆的处理,几乎与你类同。记得的是两种:
1.美好的回忆;
2.别人的尖刻批评。我很少会忘记别人说的很对的批评,尤其是尖刻的话,会一直记得。

对提供给我这两种记忆的人,我都很感谢。

五一回来听更多的故事。

搬台沙发坐稳等候下文。。。

Post a comment

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