2022年4月20日,那天是星期三。距离我玩的一个“古董”网页游戏的更新还有两天,我打开讨论群,本想看看有没有人转发游戏的更新预告,却意外看到了另一个消息:《QQ堂》停服了。
2021年12月,腾讯已经发布了《QQ堂》的停服公告
2004年,《QQ堂》上线。它是一款多人在线休闲游戏,玩家在13×15格的2D地图上对战,以泡泡作为武器,可以利用泡泡困住对手或炸开障碍物,被泡泡困住一段时间的玩家会被判定失败出局。在不同模式下,游戏玩法有所差别,但总的来说,假如你玩过“炸弹人”,或是韩国Nexon公司开发的网游《泡泡堂》,就能对《QQ堂》有个大概印象。
时过境迁,《QQ堂》和那些曾经红极一时的多人休闲网游已不再是游戏市场上处于风口浪尖的角色,玩家大多也聚成小圈子,在运营不足、同好流失的空隙之间享受着游戏的乐趣。
我找到了一些《QQ堂》老玩家,在游戏停服之前,他们还想在这块13×15格的空间里记录下更多东西。
他们在搞研究我问给我发来《QQ堂》停服消息的朋友,你之前也玩过这个?她说:“我很喜欢玩,但是上墙的技术一直不好。”“上墙”是什么?我对这类游戏的印象还停留在“放炸弹”“炸人”等传统的玩法上,陌生的名词多少让我有些惊讶。朋友随手给我找来一条视频链接——“《QQ堂》2020年穿泡穿墙教程”——光是这个标题就足够让我新奇了。《QQ堂》是2004年开服的,16年后,竟然还有玩家在制作视频教程?
我就是这么遇见小麦的。小麦是教程作者,在教程视频里,他从不露脸,只有一个年轻的男声,画面上是一张思维导图。他的声音并没有那么流畅,语序也有些零乱:“那么今天下午我给大家带来一场直播演讲。”他对着思维导图,尝试组织语言,“我先讲一下这个‘穿’是怎么回事啊。”
所谓的“穿”,实际是一类利用Bug达成的操作。不知是因为网络卡顿还是处理延迟,玩家在经过一系列特定操作后,有可能无视泡泡或者墙壁的碰撞体积,强行穿过泡泡,或是站上墙壁。这种操作最初是由哪个玩家发现的已不可考,但在这之后,无数玩家们从代码和实践中寻找规则,整理出了一套如何触发这种Bug的技术理论。他们称呼这套理论为“穿技”。
穿技的触发条件相当复杂。不同的角色位置、不同的放泡数量、不同的速度以及不同的道具,演变出了各种各样的情况和穿的手法。本该按部就班运行的代码和程序此刻夹杂了一丝玄学——教程的演示图片里展示了最简单的一种穿法:角色在身后放了3个泡,突然就蹿上了一旁的障碍物。
穿技的演示,我看不懂,但大受震撼
我问过小麦,这些操作在比赛中能用到吗?小麦说,其实用到的不多。但我也明白为什么有这么多人追求穿技——太酷了。当你在一局游戏里成功穿到墙上,就会有人激动地在聊天框里打字:“大神,怎么做到的,加我好友,教教我。”
写攻略的玩家们不止于此。2012年,玩家们的讨论从论坛开始慢慢转向贴吧,开启了贴吧的黄金岁月。穿技的研究者之一猪哥,也是在2012年前后从论坛来到了更加大众化的贴吧。猪哥前后写了数十个关于《QQ堂》穿技理论与研究的帖子,从新手入门到各种不同的道具穿、隔空穿、弹穿,猪哥对研究不同的穿技与穿技触发条件十分着迷。
猪哥的教程合集
猪哥最后一个穿技理论帖发布于2015年。他在这个帖子里说,从2011年开始,他就在只身一人研究穿技,而这次分享的技术是冷门中的冷门。他不指望大家都学会,但他想为自己一直以来的研究留下一点痕迹。他在帖子里详细描述了自己发现的“变速超隔空穿”,这种手法可以在短时间内连续触发两个变速道具而达成远距离穿泡。尽管参与讨论的大多数人都表示“看不懂”,但这个帖子仍然火爆,回帖挤满了5页,数下来一共有360多条回复。大部分留言可以总结为一句话:“手残学不懂,但是给你点赞!”
猪哥大概在2016年离开了《QQ堂》。那一年,他发了自己在QQ堂吧的最后几个帖子,公开了一些聊天记录,“挂”了一个人。当时猪哥已经对《QQ堂》失去兴趣,早已删除游戏,一个来求学穿技的网友却百般纠缠,要求他上线“亲自教学”。猪哥解释了半天,说聊天交流技术可以,但自己早就不玩游戏了。对方便对着猪哥乱发脾气,甚至怀疑他拒绝的动机。从耐心交流到怒不可遏,好脾气的猪哥在最后忍无可忍地骂道:“我花了这么多精力,在贴吧写免费教程是图什么?不就是为了把知识教给大家?”
根据猪哥的发帖记录,离开《QQ堂》之后,他曾一度在“恶魔城”系列里驻足,也曾在《最终幻想14》的世界里遨游。猪哥的游历轨迹像是大多数玩家的缩影——从早期不成熟的网游,转向内容更多、更有趣的单机游戏,或是制作更加精美、运营更加先进的新时代网游。尽管《QQ堂》也尝试了许多新系统与新功能,但终究还是跟不上时代的脚步。
在这之后,猪哥也写了很多攻略。他写过“恶魔城”的“卡墙”攻略,写过《最终幻想14》的截图与穿搭教程,也写过《王者荣耀》里蒙犽和嬴政的操作心得。他的讲解依旧图文并茂,也会在帖子里详细回答他人的疑问。在示范GIF图片中,猪哥操纵主角来须苍真熟练地“卡”上了一道墙壁——就像之前一样。
他们在办比赛“知道这个消息的时候,我们的杯赛刚办到一半。”年年发给我一条她去年12月的B站动态,“对,你看,就这条。”
得知停服消息之后,年年发了一条空间动态
年年是一位玩家社区的赛事组织者,曾经操办过3届民间比赛。去年12月,她刚刚和朋友们一起办了一届“情怀杯”比赛。也正是在这个时候,《QQ堂》运营方发布了将在5个月后关服的消息。小麦告诉我,其实他和年年一起在办比赛,也是在这个过程中得知了游戏将要关服的消息。“我们开玩笑说,这届比赛办到一半,就从‘情怀杯’变成‘关服杯’了。”
通过小麦的视频我才了解到,《QQ堂》原来还有公开的民间比赛,而且赛况远比我想象得更加激烈。在只有195格的地图上,两个玩家出生在地图两端,从密不透风的地图中渐渐炸开一个个豁口,获取随机出现的强化道具,用以强化泡泡的爆炸距离和数量。炸出的强化道具不同,打法也会产生变化。在对局的后期,他们会同时在地图上选中好几个点,快速地布下五六个排布各异的炸弹和不同的道具,而后根据场上炸弹的位置,精准地找到这一轮爆炸中的安全地点。这一切博弈的操作都发生在几秒钟之内。
比赛的实况,相当考验反应力
《QQ堂》曾经举办过官方线下比赛。从2005到2012年,连续8届“《QQ堂》中华英雄争霸赛”,其中诞生了很多玩家口中的“远古大神”,比如“凡酷”“技猫”。他们的事迹经过玩家口耳相传,几近传说。但现在,关于这些选手的去处,也只剩下了传说。技猫在赢得数届比赛冠军之后,2009年转业去了《穿越火线》电竞战队——就像是当年怀揣着电竞梦投身“CF”的千千万万少年一样。
2012年,最后一届官方争霸赛的宣传图
民间比赛最早的形式是喇叭赛。喇叭是一种付费道具,玩家如果想要发送面向全服的公告,就得掏钱买这些全服、全区喇叭。喇叭赛依靠喇叭约战,奖惩也靠喇叭来实现:无论比赛结果如何,输的一方都要承担喇叭的费用,购买喇叭向全服通告比赛的参加者与最后的比分——一般10个喇叭起步。就像是江湖中人的比武,输了的人也不必承担什么额外的惩罚,只不过要扯着嗓子喊上10遍:“今日,我负于某某大侠!”
稍微正式一点的,就是各种“杯赛”了。杯赛的奖金靠主办方自掏腰包,选手也全靠主办方和裁判的人脉拉来。年年和小麦办的就是杯赛。对于办比赛的初衷,他们俩的回答大同小异:为了宣传游戏,让更多人能回来玩,最好能让游戏重新热闹起来。
但作为主办方,他们要面对的困难层出不穷。除了确定形式、赛制之外,如何防外挂、裁判对违规行为如何判定等等,也都是必须解决的麻烦。当然,最大的问题还是选手。“我们发布了比赛专用的补丁,能解决一些电脑软件打不开的问题,但报名参赛的人还是不多。”为了防止选手爽约,年年设置了押金制度,但到了复赛时仍有选手不来参赛,放了所有评委和观众的鸽子。
《QQ堂》在Windows 10系统的电脑中已经无法运行,需要利用虚拟机搭载Windows XP系统才能登录
“毕竟选手们普遍都已经成家立业,也有自己的工作和家庭了。”和年年他们一样办比赛的“洞庭湖以南”这样告诉我。
以南办过几届“新年模式”的比赛,规模比年年办的“英雄模式”比赛更大,但赛程也拖得更长——新年赛往往不固定参赛时间,全看对局选手有没有空。
以南告诉我,除了这些,遭到观众的误解和攻击是常有的事。不只是评委组和主办方,选手们也会遭到攻击。去年12月的“英雄03情怀杯”的决赛录像中,选手风清和江华一组在比赛中略现颓势,就有弹幕开始攻击江华:“4个人里就他的水平最菜,换个人风清还能赢。”江华和风清最后没能赢下比赛,但背后的缘由却很难用“江华最菜”来简单概括:风清的老搭档没有参赛,他俩是临时搭组;江华也本不擅长“英雄03”这张地图,平时主打的是其他模式。尽管如此,他们还是在这场比赛中拿下了亚军。
纵然过程坎坷,年年办的“英雄03情怀杯”最终还是完美收官了。为了纪念这次比赛,年年在最后录了一期长达一个小时的颁奖仪式与赛后杂谈视频。颁奖仪式在游戏里的等待大厅中进行,背景音乐播放着皇后乐队的《We Are The Champions》。经过了一系列拉人踹人后,6个评委和两位冠军站在了等待大厅里。弹幕里的观众起哄有没有奖杯,裁判组的“诙谐”在游戏聊天框的表情里找了半天,最后发了一个鸡尾酒杯。
“这就是奖杯了。”年年说
冠军也被他们拉进了语音频道,让他发表获奖感言。冠军先是再三推脱:“没有获奖感言!”奈何耐不住几个裁判和观众的催促,只得开始临时编排语言:“首先是感谢各位裁判,一路陪我们走来辛苦了。然后,接下来就是感谢我,我的这群兄弟们,一直以来,都是我喊他们打比赛,其实他们很多人都已经不玩了,但是,他们还是选择回来玩,就是……我真的很感动。再一个,很感谢对手,他们这次也都打得很好。最后感谢一下华宝吧。”他顿了顿说,“我这次比赛结束之后,应该就不会再玩《QQ堂》了,就是怎么说……华,是我这么多年的兄弟,好搭档。”
他停了一会儿,才接着开口:“再说我要哭了,不说了,要脸,要脸。”
活动快到尾声时,年年被推上台发表主办感言。说了几段感谢观众、感谢选手的话之后,她的情绪忽然激动了起来:“我真的,特别对不起我的裁判们,他们为这场比赛付出了这么多。第一天直播的时候我没有来,他们也没有直播过,很多事情都没有处理好,就有喷子来喷他们,我自己被喷无所谓,但是我的裁判被喷我不能接受……”裁判组的亮仔在一旁安慰她:“怪我,怪我好吧,怪我咸鱼太久了,要是我和当年一样和那些喷子对线,现在哭的就是他们了。”
“我们办这个比赛,其实是想着,新年模式的比赛有那么多,我们英雄模式也想办很多很多比赛,但是没想到办的第一届就变成了最后一届。”年年又有些哽咽,“还是要感谢各位观众一直支持到现在。”
到关服前,年年在视频网站上已经发布了总时长近百小时的游戏与比赛录播。她说,她还想留下更多东西。
他们在写Bug我最早关注到红薯,是因为贴吧里的一个帖子。发帖日期显示为2020年,帖子的标题很简单——“正在做一款《QQ堂》”。
“类QQ堂”,或者说“类炸弹人”的游戏数不胜数。在网上搜索“QQ堂”,从Flash制作的网页小游戏,到偷偷摸摸背着腾讯运营的套壳手机游戏,组成了我对“自制‘类QQ堂’游戏”的初步印象。但这个帖子却不太一样,楼主红薯想制作一款单机版的“类QQ堂”游戏,“希望可以还原穿泡、穿墙、半身等技巧”。
这是很新奇的——以前可能没有什么人会冲着“还原Bug”去制作一个游戏的仿品。帖子里记录了他大约两个月的开发经历,里面详细记录了他如何一点点还原《QQ堂》的这些“Bug”和操作手感。在帖子最后,他放出了开发出的第一个试玩版本,之后便没有了下文。
单机版研发的过程
我在年年的视频里再次见到了这个“单机版《QQ堂》”,当初的试玩版此刻已经拥有了自己的名字——《果糖》,也拥有了全新的角色形象和独立Icon。最重要的是,在原先试玩版的基础上,《果糖》最终成功复刻了《QQ堂》里的穿技。尽管有些不可思议,但它确实做到了。
《果糖》里的原创角色小不甜
在年年的帮助下,我联系到了作者红薯。当我问起制作《果糖》的缘由时,红薯的回答有些出乎我的意料:“我最早想做单机版的时候,和关服其实没什么关系。”
“我从小学开始玩《QQ堂》,最开始就对穿泡很感兴趣。毕业之后从事了游戏相关行业,一直对这个‘Bug’非常着迷。想要从设计师的角度出发,看看如何能够还原。”
制作过程远比想象中艰辛。我原以为红薯会从游戏源代码解包开始,却没想到他是“从零开始写Bug”。最早他甚至连图片素材都没有,全靠截图,还是在一个群友的帮助下才得到了解包的图片素材。
如果不分析原本游戏的代码,该怎么写底层逻辑?红薯的答案是“实践”。得到了小麦的理论支持,红薯开始一遍遍尝试各种类型的穿法,尝试找到逻辑上的共性。“每当我觉得整理的逻辑已经完美符合了所有穿法时,总会发现一种新的穿法,打破之前的规则。”回想起当年的经历,红薯感慨良多,“过程中遇到了不少挫折,屡屡以失败告终。”
后来,在一条官方公告中的发现,为解决问题带来了一丝曙光。“穿泡不是Bug。”红薯找到了《QQ堂》2006年的公告,公告中提到了“加入穿泡功能”,并简单介绍了如何穿泡。这激发了红薯的思路:如果官方是专门做出了这样的功能,那在代码里应该也有相应的变量,储存玩家是否能穿泡的状态。通过在游戏里一遍遍复现穿泡的操作,同时扫描内存数据的变化,他最终找到了决定是否可以穿泡的两个关键数值,以及如何记录状态持续的时间。《果糖》由此开始一点点构筑成型。
“但我还是没有找到逻辑上的通用解,所以我只能把所有穿泡的情况列出来,一项一项地写进去。”
这也成了红薯一直以来的疑惑,他不明白开发者为什么会写出这样的功能。或许穿泡原本只是一个修不好的Bug?但专门设置一个状态变量,用来判定玩家是否可以无视泡泡的碰撞箱,这件事本就有些不可思议。“我只能用最笨的办法,把官方列举的所有穿泡方法加进游戏里。”
在枯燥乏味的一遍遍重构和优化后,《果糖》诞生了。我在贴吧的回帖里看到了许多热心的玩家,有提供原创美术素材的,有提供技术支持的。“能走到这一步,确实是靠着所有热爱的玩家。”红薯总结道。
年年制作的《果糖》介绍视频
根据QQ群内的人数判断,关注《果糖》的玩家规模已经有2000人以上,但年年似乎对此略有顾忌。她制作的《果糖》介绍视频简介里写着一句话:“请不要用‘私服’伤害为《果糖》努力的开发人员。”
《QQ堂》关服后,有不少玩家涌入了《果糖》,其中也不乏有对《果糖》颇有微词的人。《果糖》就像制作精良的《以撒的燔祭》同人游戏《I.RULE》、或是“宝可梦”系列同人游戏《漆黑的魅影》一样,因为美术资源与IP形象的问题,没法算是完全原创,只能在同人游戏与独立游戏的领域之间徘徊踟蹰。
他们,或是我们年年做了很多视频向《QQ堂》告别。
她的视频——说实话,并不算是“成熟”的短视频剪辑作品。许多“怀念旧游戏”视频短小精悍,熟练地使用表情包、设置悬念、抛出话题,每一秒都在想尽办法留下点进视频的观众。年年的视频不一样。有的太长,内容是朋友们几个小时的比赛录屏;有的门槛很高,如果不是玩家,很难理解剪辑内容的笑点。在了解游戏之前,我也看得一头雾水。
但这就是一个玩家的真实写照。游戏的种种问题,曾经遇见过的是是非非,此刻都成为过去。就像她的视频简介里写的那样,作为玩家,她只想记录下这些没法复现的故事。
年年最后的纪念
我也是一个“古董网游”的玩家。从我第一次注册账号到现在,已有十多年了。尽管那款游戏的内容已经所剩无几,但每周五我都会习惯性地登录游戏,看看剧情,买买服装。我也曾经去见过游戏的制作组,在公司偌大的办公室里,5位美术和一位策划加在一起只占有房间角落里的两张桌子,但我未曾想过它关服了会怎样——我不太敢去想。
停服之后会怎样呢?年年说,她也不知道。或许生活还是不会改变,只是玩游戏的时间变成了刷手机。近些年来,老游戏们一个接一个地关服,2019年,她见证了《QQ音速》的停运。她说,那时玩家间就有《QQ堂》要停运的传闻,她也是从那个时候开始学习做视频,想要把这些故事多留下一点。
年年的视频结尾是一段游戏录像。这局比赛和之前的无数场比赛并没有什么区别,只是在比赛结束之后游戏画面并没有回到大厅,而是跳出了一个弹窗:“与服务器的链接断开,您必须重新登录小区。”
这是最后的一场比赛。