消息是王磊带回来的。
那天是七月十五號,中午,天热得像下了火。工作室的窗户全开著,但没风,只有热浪一阵阵涌进来。三台电脑的风扇在嗡嗡响,屏幕上是代码编辑器、终端窗口、网络拓扑图。阿坤在推演增量算法的数学公式,草稿纸铺满了半张桌子。林浩在写客户端架构,键盘敲得飞快。王磊在调试服务端,嘴里叼著根没点的烟——工作室禁菸,他只能闻闻烟味解馋。
然后王磊的手机响了。是很老式的诺基亚,铃声是单调的“嘀嘀嘀”。他看了一眼,是个深圳的號码。
“餵?”
电话那头的声音很大,林浩隔著两米都能听见:“磊哥!出大事了!”
“慢慢说,啥事?”
“《龙腾传奇》!跑路了!”
王磊的脸色变了。他站起来,走到窗边,压低声音:“什么时候的事?”
“就今天早上!伺服器全关了,官网打不开,客服qq全黑!圈子里都炸了!听说卷了小一千万!”
“玩家呢?”
“全傻了!几百万玩家,充的钱全打水漂了!现在都在找下家,但没一个私服能接住这么多人的!”
王磊又问了几个问题,掛了电话。他站在窗前,背对著房间,站了很久。然后转过身,脸色凝重。
记住我们101看书网
“出事了。”他说。
林浩和阿坤都停下来看著他。
“深圳那边,《龙腾传奇》私服,跑路了。”王磊走回座位,坐下,声音很沉,“那是个大私服,开了半年,號称『最稳定、最良心』,玩家有两三百万。今天早上,伺服器全关,官网下线,老板失联。捲走的钱,少说七八百万。”
阿坤皱眉:“私服……不是违法的吗?”
“是违法,但架不住人多。”王磊说,“《传奇》官服卡,收费贵,私服免费,爆率高,玩的人多。这两年私服遍地开花,但像《龙腾》这么大的,不多。它一倒,几百万玩家没地方去,全成了无主流量。”
林浩没有说话。他靠在椅背上,手指在桌面上轻轻敲著。脑子里在快速计算。
2002年,《传奇》是中国网游的代名词。官方伺服器经常卡顿,外掛泛滥,点卡收费不便宜。私服於是兴起——架设私人伺服器,修改爆率、经验值,吸引玩家。很多私服是短期圈钱,开几个月就跑路。但《龙腾》做了半年,积累了口碑,突然跑路,確实会留下巨大的市场空白。
几百万玩家,在2002年,是天文数字。盛大官方的《传奇》同时在线也就五十万。这几百万流失的玩家,会像飢饿的鱼群,寻找下一个池塘。
“你怎么看?”林浩问王磊。
“机会。”王磊说得很直接,“如果我们现在做一个私服,用《龙腾》的版本,稍作优化,打上『接盘』的旗號,一个月內就能接住几十万玩家。点卡、装备、会员费……一个月流水几百万不是梦。”
“但那是私服。”阿坤说,“违法的。”
“是违法的,但大家都在做。”王磊说,“你不做,別人做。这几百万玩家,总要有地方去。与其让那些垃圾私服圈钱跑路,不如我们来做,至少我们用心做,不坑人。”
“那还是违法。”阿坤坚持。
王磊看向林浩,等他的决定。
林浩没有立即回答。他站起身,走到窗前。外面,烈日下的县城一片寂静,只有知了在拼命地叫。街道上几乎没人,这么热的天,都在家里躲著。
私服。违法,但暴利。如果他只是一个想赚快钱的商人,这確实是最佳时机。但他不是。他要做的是浩宇科技,是要改变中国网际网路格局的公司。私服是污点,一旦沾上,洗不掉。
但机会就在眼前。几百万玩家,巨大的流量,如果不用私服,能用什么方式接住?
“小艺。”他在心里默念。
没有回应。手机已经没电一个星期了。那0.0%的电量,像一道锁,锁住了未来的知识。他现在只能靠自己。
他走回座位,看著王磊和阿坤。
“我们不能做私服。”他说。
王磊的眉头皱起来:“为什么?这是最好的机会!”
“因为我们要做的是正规军,不是土匪。”林浩说,“私服违法,风险大,做不大,也做不长。今天你圈了钱,明天可能就被抓。就算不被抓,这个污点会跟著浩宇一辈子。以后我们想做正规模游戏,做平台,做生態,別人会说:哦,那家啊,以前做私服起家的。”
“那我们看著钱不赚?”王磊的声音提高了,“你知道现在工作室帐上有多少钱吗?三百二十七块!宽带费下个月要交,电费要交,吃饭要钱!没有钱,我们连下个月都撑不过去!”
“钱要赚,但不能这么赚。”林浩说,“我们要赚长期的钱,赚乾净的钱。”
“那你说怎么赚?”王磊盯著他,“几百万玩家在那里,你不做私服,怎么接住?”
林浩沉默了几秒。然后他说:“我们不做私服,我们做游戏。”
“做游戏?”阿坤抬起头。
“对,做我们自己的游戏。”林浩说,“2d即时战斗网游,但不用《传奇》的代码,不用任何侵权的素材。我们自己做引擎,自己做玩法,自己做运营。”
王磊笑了,是那种气笑的:“老大,你知道做一个《传奇》级別的网游要多少人、多少钱、多长时间吗?盛大几百號人,做了两年!我们就三个人,三个月都做不出来!等我们做出来,玩家早跑光了!”
“不用做《传奇》那么复杂。”林浩说,“我们做一个简化版,但体验更好的游戏。核心是战斗和成长,去掉繁琐的任务、复杂的地图,聚焦在『爽』上。”
“那也来不及啊!”
“来得及。”林浩说,语气很肯定,“因为我们有《龙腾》跑路爭取到的时间。玩家现在对私服失去信任,他们会观望,会犹豫。这个窗口期,至少有一个月。我们用一个月的衝刺,做出一个可玩的demo,然后开放测试,用口碑吸引玩家。”
“一个月……”王磊摇头,“不可能。光是客户端开发,没有半年下不来。”
“如果不用从头造轮子呢?”林浩说,“如果我们有一个现成的、高度优化的2d游戏引擎呢?”
王磊和阿坤都愣住了。
“你有引擎?”阿坤问。
“没有,但我们可以有。”林浩走到白板前——那是他前几天买的,掛在墙上。他拿起马克笔,开始画。
“2002年的2d游戏引擎,不管是官方的还是私服的,都基於一个很原始的架构:客户端负责显示,服务端负责逻辑,通信用简单的tcp封包。这个架构有几个致命问题:延迟高、同步难、外掛多、扩展性差。”
他在白板上画了两个方框,一个標“客户端”,一个標“服务端”,中间用线连著。
“《传奇》的架构更原始,很多逻辑在客户端,所以外掛横行。私服在它的基础上修修补补,但核心架构没变。”
“那我们要怎么做?”阿坤问。
“我们要做一个全新的架构。”林浩说,笔尖在白板上快速移动,“基於状態同步,而不是指令同步。服务端维护完整的游戏状態,客户端只是视图。通信用udp,加可靠传输层。逻辑帧和渲染帧分离,客户端预测,服务端校正。”
他画出一个复杂的架构图,有多个模块,多条连线。王磊和阿坤看著,眼睛渐渐睁大。
“这……这是哪来的思路?”王磊问,“我从来没见人这么设计过。”
“因为这是未来的思路。”林浩说,“2002年没人这么想,但2010年之后,这会是標准。我们要做的,就是提前八年,把它做出来。”
阿坤走到白板前,仔细看那些模块:“这个『客户端预测』……具体怎么实现?”
“服务端每隔一个逻辑帧(比如100毫秒)把完整状態同步给客户端。客户端在两个同步点之间,根据用户输入预测下一个状態,並立即渲染。如果预测错了,等下一个同步到来时纠正。玩家几乎感受不到延迟。”
“但这样服务端压力会很大。”王磊说,“要维护完整状態,还要频繁同步。”
“所以需要优化。”林浩说,“状態压缩、差异同步、空间分区。阿坤,这是你的强项。”
阿坤盯著白板,手指在空中虚点,嘴里喃喃自语,在心算什么。过了一会儿,他说:“理论上可行。但实现复杂度很高。”
“高才有门槛。”林浩说,“如果简单,別人早做了。我们做了,別人就追不上。”
王磊沉默了很久。他看著白板上的架构图,眼神复杂。有怀疑,有震惊,也有一丝兴奋。
“就算架构先进,美术呢?资源呢?策划呢?”他问,“游戏不是只有代码。我们需要原画、模型、动作、音效、剧情……这些我们都没有。”
“美术可以外包,找大学生,便宜。资源可以自己画,简单的像素风格,2002年够用。策划我来做,玩法设计我有思路。”林浩说,“最重要的是核心战斗体验。我们要做的,不是另一个《传奇》,而是一个『更好的《传奇》』。”
“更好在哪?”
“第一,战斗更爽。”林浩说,“取消《传奇》那种你一刀我一刀的站桩对砍。加入走位、技能衔接、打断、连击。虽然是2d,但要有动作游戏的感觉。”
“第二,成长更清晰。去掉那些乱七八糟的属性,聚焦在攻击、防御、生命、速度几个核心属性。装备系统简化,但每件装备都有明確的特效和成长路径。”
“第三,社交更便捷。內置语音聊天(虽然2002年网速不支持实时语音,但可以预设语音包),一键组队,公会系统深度整合。”
“第四,反外掛。从架构上就杜绝大部分外掛可能。客户端没有关键逻辑,外掛无从下手。”
王磊听著,眼神里的怀疑渐渐褪去,取而代之的是一种跃跃欲试。
“听起来……很诱人。”他说,“但时间还是太紧。一个月,从零开始,做一个可玩的demo。这得玩命。”
“那就玩命。”林浩说,“这是浩宇的第一个大考。考过了,我们就有资本,有口碑,有未来。考不过……”
他没说下去,但意思很明显。考不过,浩宇可能就到此为止了。
房间陷入沉默。只有风扇的声音,和窗外知了的叫声。热浪从窗户涌进来,但三人都没动。
阿坤先开口:“我加入。架构里的数学问题,我想解。”
王磊看著他,又看看林浩,最后嘆了口气,笑了:“妈的,老子在深圳混了三年,也没见过这么疯的事。行,算我一个。不过说好了,要是做成了,得分我大头。”
“按贡献分,公平。”林浩说。
“那还等什么?”王磊站起身,活动了一下手腕,“开干吧。先从哪开始?”
林浩看著白板上的架构图,深吸一口气。
“第一步,引擎。”他说,“我们需要一个全新的2d游戏引擎,代號『浩宇1.0』。阿坤负责数学库和物理引擎,王磊负责网络模块和底层框架,我负责整体架构和工具链。目標:两周內,完成引擎核心。再两周,完成第一个游戏demo。”
“两周……”阿坤轻声重复。
“能做到吗?”林浩看著他。
阿坤抬起头,眼睛里有一种林浩熟悉的光芒——那是解题者的兴奋,是面对挑战的渴望。
“能。”他说。
“好。”林浩拍板,“那从现在开始,浩宇项目001暂停,全部资源转向项目002:浩宇1.0游戏引擎。我们要在《龙腾》跑路留下的窗口期关闭之前,拿出我们的作品。”
三人各自坐回电脑前。但气氛已经完全不同了。刚才的沉闷、焦虑,变成了紧绷的、蓄势待发的状態。
林浩新建了一个文档。標题:“浩宇1.0引擎设计文档”。
他开始写。键盘声比刚才更快,更重。
阿坤在草稿纸上推导状態同步的数学公式,笔尖沙沙响。
王磊在配置开发环境,安装编译器、调试器、版本控制。
窗外的太阳慢慢西斜,但热度不减。汗水从三人的额头流下,滴在键盘上,滴在纸上。
没有人说话,只有键盘声、写字声、风扇声。
晚上七点,母亲又打电话来。
“浩子,还不回家?”
“妈,这几天我住公司,项目紧。你跟爸说一声。”
“住公司?那怎么行!睡哪?吃啥?”
“有床,有泡麵。別担心。”
母亲还想说什么,但林浩说:“妈,相信我。我们在做大事。”
电话那头沉默了一会儿,然后母亲说:“那……你注意身体。別熬太晚。”
“知道了。”
掛了电话,林浩继续写。他写引擎的模块划分,写通信协议的定义,写资源管理的设计。
晚上十点,王磊出去买了三份炒粉,十块钱。三人狼吞虎咽吃完,继续。
凌晨一点,阿坤推导出了状態同步的数学模型,兴奋地拿给林浩看。林浩看了,点头:“对,就是这个。但还要加一个容错机制,防止网络抖动导致的预测错误。”
“好,我再想想。”
凌晨三点,王磊搭好了服务端框架,能跑起来了。虽然只是个空壳,但能连接,能通信。
凌晨五点,天快亮了。林浩完成了设计文档的第一版,列印出来,三份。
“今天到此为止。”他说,声音沙哑,“睡四个小时,九点继续。”
三人倒在行军床、地铺、椅子上,几乎瞬间睡著。
窗外的天亮了。晨光照进房间,照在三张年轻的、疲惫的脸上。
他们睡了四个小时。九点整,闹钟响。三人爬起来,用冷水洗脸,泡麵当早饭,然后继续。
第二天,第三天,第四天……
工作室的灯再也没有在凌晨两点前关过。泡麵盒子堆成了小山。草稿纸铺满了地板。白板上写满了公式、架构、todo列表。
林浩瘦了五斤。阿坤的黑眼圈重得像熊猫。王磊的鬍子长得像野人。
但他们眼里的光,越来越亮。
第七天,引擎的核心数学库完成了。阿坤写了三千行代码,实现了向量、矩阵、四元数、插值、碰撞检测。
第十天,网络模块完成了。王磊实现了基於udp的可靠传输,加入了流量控制、拥塞避免、前向纠错。
第十二天,林浩完成了资源管理器和渲染器。虽然简单,但能加载图片、播放动画、渲染精灵。
第十四天,晚上十点。
三人站在一台电脑前。屏幕上,一个简陋的窗口,背景是纯黑色。中间,一个像素小人,红色的。可以用方向键控制移动。另一个像素小人,蓝色的,是npc,会自动追击红色小人。
红色小人移动,蓝色小人追击。碰撞时,红色小人血量减少。很简陋,很原始。
但这是完全基於浩宇1.0引擎实现的。从数学库到物理引擎,从网络模块到渲染器,每一行代码都是他们自己写的。
“运行稳定,帧率60,网络延迟平均80毫秒。”王磊说。
“碰撞检测准確,预测纠正平滑。”阿坤说。
林浩看著屏幕,看了很久。然后他伸出手,按下了退出键。
“第一阶段,完成。”他说,声音很平静,但手在微微颤抖。
王磊和阿坤看著他,等著。
“休息一天。”林浩说,“明天开始,第二阶段:游戏demo。我们要在两周內,做出一个可玩的、有趣的、能留住玩家的游戏。”
“什么游戏?”阿坤问。
“暂定名:《浩宇传奇》。”林浩说,“但记住,我们不是做私服。我们做的是全新的游戏,只是借了《传奇》的皮,因为玩家熟悉。內核,是我们的。”
“玩法呢?”
“简化版mmorpg。一个主城,三个野外地图,五个副本。职业简化成战士、法师、射手。等级上限30级。核心玩法:打怪、升级、打宝、pk。但战斗要爽,成长要快,社交要方便。”
“两周……能做到吗?”
“必须做到。”林浩说,“《龙腾》跑路已经两周了,玩家已经开始寻找新家。我们再不做出来,窗口期就过了。”
三人对视。疲惫,但坚定。
“干。”王磊说。
“嗯。”阿坤点头。
林浩笑了。这是他这些天第一次笑。
“那就干。”
窗外的夜很深了。星星很亮。
工作室的灯,又亮了一夜。
浩宇1.0引擎,刚刚诞生。
而浩宇科技的第一个游戏,正在孕育。
时间紧迫,机会稍纵即逝。
但他们相信,他们能做到。
因为他们別无选择,因为他们必须做到。