第 7 章

模组作者的日常

2001年那些深夜里独自做出判断的管理员们,他们的个人经验无法规模化。那些不成文的社区公约,在跨文化、跨语言的全球社区里无法自动传播。那些依靠声誉积累的审核权威,在匿名化和商业化的大潮中逐渐丧失了可信度。粗放的管理方式在规模扩张面前注定崩溃,而崩溃的代价,是创作者和玩家的信任流失。这个压力,在接下来的二十年里逐渐扩大,最终笼罩了整个UGC经济。但如果我们把时间拨回2003年,回到那个压力刚刚开始积聚的时刻,我们会看到另一群人。他们不在服务器上发号施令,不在论坛里裁定纠纷。他们坐在自己的书房和卧室里,面对的不是作弊者和捣乱者,而是更磨人的东西。先说一个场景。凌晨一点,加州一间公寓的卧室里,一个年轻人盯着屏幕上的错误日志。他刚从公司下班回来,晚饭是微波炉热的三明治。他原本计划今晚把新版本打包发布,但《半条命》引擎刚推送了一个更新,他模组里自定义的网络同步代码全部报错。他打开IRC频道,想问问团队里有没有人遇到过类似问题。

频道里有三个人在线,一个在写论文,一个在出差,一个留了条消息说这周末没法干活。他关掉IRC,打开代码编辑器,开始逐行排查。三个小时后,他修好了两个bug,还剩四个。他明天还要上班。这不是某个特定人物的传记细节。这是2003年前后,成百上千个模组作者的共同经验。他们面对的不再是技术壁垒——能不能做出来的问题——而是更磨人的日常消耗:版本更新带来的兼容噩梦,社区成员对更新速度的无形催促,以及个人学业或工作与模组维护之间的持续拉扯。要理解这种日常是怎么形成的,我们需要看一个具体的模组。不是《反恐精英》,不是《DOTA》,而是一个在2002年万圣节发布、在2003年进入关键维护期的模组——《自然选择》(Natural Selection)。《自然选择》是《半条命》的一个模组,融合了第一人称射击和即时策略两种类型。一方是人类,有指挥官可以从俯视视角建造建筑、研发科技、下达指令;

另一方是外星生物,有不同的进化形态,从弱小的skulk到巨大的onos,每种形态都有独特的攻击方式。这个设计在2002年相当激进,它要在一个射击游戏引擎上实现完整的资源管理、科技树、建筑建造和单位控制。《自然选择》的开发者Charlie Cleveland从1999年开始做这个模组。他白天上班,晚上和周末写代码。他招募了一个小团队,有做模型的,有做贴图的,有做音效的,分散在美国和欧洲的不同城市。他们通过IRC频道沟通,通过论坛发布进度,通过版本号标记每一次更新。这个描述里没有技术突破的传奇。不是因为技术简单——《自然选择》的工程量比《反恐精英》大得多。但真正决定这个模组命运的,不是技术。是日常。2002年10月31日,1.0版本发布。这是一个事件性的爆发,是三年业余开发的结晶,是发布瞬间的狂欢。玩家涌入服务器,论坛上充满惊叹和赞美。有人写长篇评测,有人制作教学视频,有人开始组织战队。然后日常就开始了。bug报告像雪片一样飞来。

有的玩家在某些地图上会卡住,有的在特定配置下会崩溃,有的发现外星生物的某个进化形态完全破坏了平衡。Charlie Cleveland和他的团队开始修bug,发布1.01、1.02、1.03这些小版本更新。但修bug只是日常的一部分。更大的挑战是,玩家在玩了一段时间后,开始提出各种改进建议。有人希望增加新武器,有人希望增加新外星生物形态,有人希望调整经济系统。这些建议不是bug报告,它们涉及设计决策。你要不要采纳?采纳了,工作量多大?不采纳,玩家会不会流失?这就是日常中的权力问题。当创作变成日常,你就不能只凭灵感做决定。你需要一套决策机制,需要权衡不同玩家的需求,需要和团队成员达成共识。你需要管理社区期望,需要解释你的设计理念,需要说服别人接受你的选择。Charlie Cleveland的做法是,在论坛上发布一个帖子,列出1.1版本、1.2版本、2.0版本的计划内容。

1.1版本主要修bug和调整平衡,1.2版本加入新武器和地图,2.0版本加入新外星生物形态和游戏模式。这个路线图就是一种自我规训。它把创作从一个开放式的、灵感驱动的过程,变成了一个有目标、有节点、有交付物的项目。它让社区知道接下来会发生什么,也让团队成员知道自己的任务是什么。但路线图也带来了新的压力。你公布了计划,玩家就开始期待。如果1.1版本延期了,论坛上就会出现抱怨帖。如果1.2版本的内容和计划不一样,玩家会觉得你食言了。路线图是一种承诺,而承诺需要纪律来兑现。这就是2003年前后模组创作的核心转变:从爆发到日常,从灵感驱动到纪律驱动。我们再来看看另一个模组——《胜利之日》(Day of Defeat)。这个基于《半条命》的二战题材多人射击模组,在2001年发布,到2003年已经更新到1.0版本,并且被Valve官方选中,通过Steam平台发行。被Valve选中,意味着更大的曝光、更多的玩家、甚至可能赚钱。

但这也意味着,你的日常被彻底改变了。Valve有质量要求,有更新周期要求,有兼容性要求。你不能随心所欲地改设计,不能想什么时候更新就什么时候更新。你需要和Valve的项目经理对接,需要签署合同,需要处理版权问题。你的业余爱好,突然变成了一份兼职工作——一份没有固定薪水的兼职工作。《胜利之日》的开发团队经历了这个过程。他们从一群在IRC上聊天的朋友,变成了一个需要正规化管理的工作室。他们需要分配股份,需要签订协议,需要处理成员退出和加入的手续。他们需要面对一个残酷的现实:不是所有因为热爱而加入的人,都能承受这种日常化的压力。有人离开了。不是因为不爱这个模组,而是因为他需要一份能养活自己的工作,需要陪家人,需要正常的生活。模组创作从爆发变成日常,就意味着它开始和现实生活争夺时间、精力和情感。这就是2003年前后模组作者的日常:版本更新带来的兼容噩梦,社区成员对更新速度的无形催促,个人学业或工作与模组维护之间的持续拉扯。

我们来具体说兼容噩梦。2003年,Valve正在开发《半条命2》,同时也在更新Steam平台和《半条命》的引擎。Steam客户端的第一个测试版本在2003年1月《反恐精英1.6》公测时发布,作为必须安装和使用的组件。到了9月,Steam作为独立软件客户端正式推出,提供自动更新游戏的功能。每次引擎更新,都可能破坏现有模组的兼容性。你可能花了三个月做了一个版本,然后Valve发布了一个补丁,你的模组就跑不起来了。你需要反编译引擎的更新内容,找到冲突的地方,修改你的代码,重新测试。这个过程可能花掉你几个周末,而你的玩家在论坛上问为什么还没更新。这不是技术壁垒。技术壁垒是你能不能做出来的问题。兼容噩梦是,你已经做出来了,但它随时可能坏掉,而坏掉的原因不在你的控制范围内。再来说社区催促。2003年,模组社区已经形成了一种文化:玩家期待持续的更新。一个模组如果几个月不更新,就会被认为已经死亡。

这种期待,很大程度上是被《反恐精英》塑造的——《反恐精英》从beta 1到beta 7,再到1.0、1.1、1.3、1.5、1.6,持续更新了好几年,每次更新都带来新的内容和调整。玩家习惯了这种节奏,他们用同样的标准要求所有模组。但《反恐精英》有一个全职的开发团队,有Valve的资源支持。而大多数模组作者,只有业余时间和自己的电脑。这种不对称的期待,构成了日常中最磨人的压力。最后说现实生活的拉扯。2003年前后,大多数模组作者是二十多岁的年轻人。他们在上大学,或者刚刚开始工作。模组创作需要大量的时间投入——《自然选择》的开发周期是三年,每周至少二十个小时。这意味着你要牺牲社交、牺牲休息、牺牲职业发展的机会。你的同学在实习、在考证、在建立人脉,而你在写代码、做模型、测试bug。你的家人会问这能当饭吃吗,你没法回答。有些人能扛住这种拉扯,有些人不能。扛不住的人离开了,他们的模组也随之消失。

这不是因为他们不够热爱,而是因为日常消耗了他们的热爱。但正是在这种日常中,模组作者们建立起了非正式的工作流程。这些流程,是模组文化从车库爱好迈向准专业生产的第一步。第一个流程:利用论坛进行任务分发。2003年,模组团队的主要沟通工具是论坛。不是IRC——IRC用于实时讨论,但讨论的内容很容易被刷掉。论坛的帖子可以持久保存,可以分类,可以置顶,可以回复。团队会在论坛上开设不同的版块:开发进度、bug报告、美术资源、音效需求。每个版块有专门的负责人,他们会发布任务清单,标注优先级、认领人和截止日期。这种任务分发方式,和软件公司的项目管理已经很接近了。区别在于,软件公司的员工有薪水,有合同约束,有绩效考核。而模组团队的成员是志愿者,他们认领任务是因为想做,不想做了可以随时退出。这种约束力的差异,决定了模组团队的管理不能靠权威,只能靠共识和说服。第二个流程:通过IRC频道维持核心团队的凝聚力。IRC是模组团队的神经中枢。

每天晚上,核心成员会上线,讨论当天的进展,解决遇到的问题,争论设计方向。IRC的实时性,让它成为团队凝聚力的关键——你不仅是在和工作伙伴沟通,你是在和朋友聊天。你们会聊游戏,会聊电影,会聊生活中的琐事。这种社交纽带,是志愿者团队能维持下去的重要原因。但IRC也有它的阴暗面。实时讨论意味着情绪化的争论,意味着深夜里的激烈争吵,意味着有人摔键盘退出频道。IRC的聊天记录不会被正式保存,所以这些争吵不会留下痕迹。但它们会在人的心里留下痕迹。第三个流程:用版本号标记创作的生命周期。版本号看起来是个技术细节,但它实际上是一种叙事工具。1.0意味着这是一个完整的作品,1.1意味着正在改进它,2.0意味着一个重大的飞跃。版本号让模组的演进变得可读,让社区能理解创作的生命周期。更重要的是,版本号是一种自我承诺。你发布了1.0,就意味着你承认这个版本不够完美,你会在1.1中改进。你规划了2.0,就意味着你对这个模组有长期的愿景。

版本号把创作从一个静态的事件变成了一个动态的过程,它让日常有了节奏和方向。这三种流程——论坛任务分发、IRC凝聚力维持、版本号生命周期标记——构成了2003年前后模组作者的非正式工作体系。这套体系不是谁设计的,不是哪本管理学的产物。它是在日常的磨砺中自然生长出来的,是创作者们为了在现实生活的拉扯中坚持下去而发明的自我规训。这套体系,就是模组文化从车库爱好迈向准专业生产的第一步。但这一步也带来了新的问题。当创作变成日常,当模组有了路线图和版本号,当团队有了任务分发和IRC例会,模组创作就不再只是个人表达。它变成了一种社会生产,而社会生产必然涉及权力、资源和认同的分配。谁来决定路线图的内容?谁有权分配任务?谁的贡献更大?如果模组开始赚钱了,钱怎么分?如果有人想离开,他做的内容能不能带走?如果有人想加入,他需要经过谁的同意?这些问题,在爆发阶段不会出现。当你和几个朋友在车库里熬夜写代码的时候,你不会想这些。

但当创作变成日常,当团队维持了三年、五年、七年,这些问题就会浮出水面,而且会变得越来越尖锐。2003年前后,大多数模组团队没有准备好回答这些问题。他们只是想做游戏,不想处理人事纠纷和版权争议。但日常不会放过他们。《自然选择》的团队后来经历了分裂。一部分人想保持模组的独立性,继续免费发布;另一部分人想商业化,想成立公司,想把《自然选择》做成一个独立的游戏。争论持续了几个月,最终有人离开,有人留下。留下的人成立了一家叫Unknown Worlds Entertainment的公司,后来做出了《深海迷航》(Subnautica)——一个在Steam上卖出几百万份的商业游戏。从模组到独立游戏,这条路看起来很美好。但在这条路上,有多少团队因为日常的消耗而解散,有多少创作者因为现实生活的拉扯而放弃,有多少设计因为兼容噩梦而流产,我们永远不会知道。

我们能知道的是,那些坚持下来的创作者,他们建立起的那套非正式工作流程,后来成为了整个UGC经济的基础设施。论坛任务分发,演变成了Steam创意工坊的提交和审核系统。IRC频道的实时沟通,演变成了Discord服务器的社区管理。版本号标记的生命周期,演变成了抢先体验模式的长期更新承诺。这些演变,不是Valve或任何一家公司发明的。它们是从2003年前后那些坐在书房和卧室里、面对日常消耗的模组作者们的实践中生长出来的。他们为了解决自己的问题而发明的土办法,后来被平台吸收、标准化、规模化,成为支撑几百万创作者的基础设施。这就是日常的力量。它不性感,不传奇,不激动人心。但它塑造了历史的结构。让我们回到一个更具体的画面。通过2002年发布的用户调查,Valve意识到,75%以上的用户可以使用高速网络连接。这个数据意味着在线分发成为可能,Steam的开发工作在2002年开始,计划代号为Grid(网格)及Gazelle(羚羊)。2003年1月,《反恐精英1.6》公测时,Steam客户端的第一个测试版本作为必须安装的组件发布,其主要功能是简化在线游戏的补丁过程。到了9月,Steam作为独立软件客户端正式推出,提供自动更新游戏的功能。这对模组作者意味着什么?意味着他们的玩家可以自动下载模组更新了,不需要手动打补丁了。这听起来是好事。但它也意味着,模组作者必须跟上Steam的更新节奏。如果Steam改了分发协议,你的模组安装包就要重新适配。如果Steam改了反作弊系统,你的模组服务器就要重新配置。技术基础设施的每一次进步,都在改变模组作者的日常。自动更新让分发更容易,但也让兼容性问题更频繁。高速网络让下载更大模组成为可能,但也推高了玩家对模组内容量的期待。平台的每一次升级,都在重塑创作者的日常节奏。

2003年9月,Steam作为软件客户端正式推出,提供自动更新游戏的功能。这对模组作者意味着什么?意味着他们的玩家可以自动下载模组更新了,不需要手动打补丁了。这听起来是好事。但它也意味着,模组作者必须跟上Steam的更新节奏。如果Steam改了分发协议,你的模组安装包就要重新适配。如果Steam改了反作弊系统,你的模组服务器就要重新配置。技术基础设施的每一次进步,都在改变模组作者的日常。自动更新让分发更容易,但也让兼容性问题更频繁。高速网络让下载更大模组成为可能,但也推高了玩家对模组内容量的期待。平台的每一次升级,都在重塑创作者的日常节奏。2003年的一个夜晚,某个模组作者坐在电脑前,打开IRC,看到团队里负责模型的成员发了一条消息,大意是他最近工作太忙,没法继续做下去了,祝大家好运。他盯着这条消息看了几分钟。然后他打开论坛,开始写一个新的任务帖子,招募新的模型师。

他写完了帖子,又打开代码编辑器,继续修那个已经花了三个周末还没修好的兼容性bug。窗外是夜晚。他明天还要上班。这就是模组作者的日常。它没有《反恐精英》发布时的狂欢,没有Valve收购时的传奇,没有百万销量时的辉煌。它有的是版本号、bug列表、IRC聊天记录、论坛帖子、兼容性补丁、路线图更新、团队成员退出和加入的邮件。它有的是,一个人在自己的房间里,面对屏幕,坚持做一件没有薪水、没有保障、没有尽头的事情。而正是这些日常,这些看起来微不足道的坚持,这些在巨大阴影下仍然开垦新地块的努力,构成了UGC经济最深层的基础。因为只有当创作成为一种日常,它才可能开始追求风格。只有当创作者建立起自我规训的纪律,他们才可能在灵光一现之外,持续地产出作品。只有当模组文化从爆发走向日常,它才可能从车库爱好变成一种产业。2001年的服务器管理员们面对的是治理问题。他们发现,个人判断无法规模化,社区公约无法自动传播,声誉权威无法维持公信力。

草率的治理在规模面前必然失效。2003年的模组作者们面对的是日常问题。他们发现,灵感无法持续,热情会被消耗,现实生活会不断拉扯。没有纪律的创作在日常面前必然瓦解。这两个问题,是同一枚硬币的两面。治理问题关乎如何管理一个已经存在的社区,日常问题关乎如何维持一个还在创作中的项目。它们共同指向一个核心矛盾:当玩家造物主从个体变成群体,从事件变成过程,从爱好变成产业,那些曾经依靠个人热情和社区共识运转的机制,就必须被重新发明。但这个重新发明的过程,会在接下来的二十年里反复试错、反复冲突、反复寻找答案。在Steam创意工坊的审核争议中,在Roblox的算法治理中,在无数模组团队的兴衰存亡中。而在2003年,那些坐在书房和卧室里的创作者们,他们还不知道自己正在发明的东西会在未来支撑起一个几百亿美元的产业。他们只是在做一件事:打开电脑,打开编辑器,继续做那个他们相信的东西。版本号还在更新。IRC频道还在跳动。论坛上的任务帖子还在被认领。

这套筛选机制,在2003年还没有名字。它不会出现在任何一份设计文档里,不会被写进任何一个模组团队的招募帖里,不会被任何一个在IRC频道里讨论技术问题的创作者意识到。但它就在那里,在日常的每一个缝隙里。我们来看一个具体的材料。2003年,《自然选择》发布1.0版本后的第三个月,Charlie Cleveland在论坛上发布了一篇帖子,标题是“我们需要帮助”。帖子里列出了团队急需的人手:一个能处理网络同步问题的程序员,一个能制作玩家模型的美术,一个能管理社区论坛的版主。帖子发出去三天,有七个人回复。其中两个人有相关经验,但一个在欧洲,时差让协作几乎不可能;另一个在美国东海岸,可以试试。其余五个人,有三个是高中生,热情很高但时间完全无法保证;有两个是大学生,正在期末考试,说暑假可以帮忙。Charlie Cleveland给那个东海岸的程序员发了私信,聊了两次IRC,对方说可以试着修几个简单的bug。然后对方就消失了。两周后回了一条消息,说老板突然加了个项目,实在没时间。这不是一个关于背叛或失信的故事。这是一个关于日常筛选的故事。

那个东海岸的程序员不是不想做。他有能力,有兴趣,有初步的承诺。但他没有时间。或者说,他的时间已经被现实生活中的优先级占满了——一份需要加班的工作,一份需要偿还的助学贷款,一个需要维系的社交圈。模组创作需要的时间不是碎片化的,不是每天半小时就能推进的。它需要大块的、连续的、不受打扰的时间——那种你只能在周末或深夜才能找到的时间。而能找到这种时间的人,往往有特定的条件:一份不需要加班的工作,或者根本没有工作;一个能容忍你深夜不睡的居住环境;一种能承受长期不确定性的心理素质;一笔能让你不为下个月房租发愁的储蓄或家庭支持。这些条件,在2003年的模组社区里,从来不是平均分配的。它们集中在特定的人群身上——大学生,而且是那些学费由家庭支付、不需要打工维持生计的大学生;刚毕业的年轻人,而且是那些找到了稳定工作、不需要疯狂加班证明自己的年轻人;以及少数能靠模组创作本身获得收入的人。其他人呢?那些需要打工赚学费的大学生,那些在服务业工作、排班不固定的年轻人,那些有家庭需要照顾的创作者——他们在日常的筛选中,被逐渐淘汰了。

他们可能做了一个很棒的模型,但没时间做完。他们可能修了一个关键的bug,但没时间跟进后续测试。他们可能发起了一个有潜力的模组项目,但更新停在0.3版本,再也没有继续。他们的作品不会出现在模组历史的叙事里。我们记住的是《自然选择》,是《胜利之日》,是那些坚持下来、最终被平台认可、甚至发展成独立游戏的模组。我们不会记住那些永远停在0.9版本的文件夹,那些再也没有亮起的IRC头像,那些论坛上最后一条帖子停留在“最近太忙,下个月继续”的招募帖。但正是这些沉默的退出,构成了日常筛选最真实的面貌。这不是一个关于能力的故事。这是一个关于容量的故事——你的生活能容纳多少没有回报的创作时间?你的日常能承受多少次兼容性崩溃和社区催促?你的未来能容忍多少年的不确定性?2003年的模组作者们,用他们的日常实践回答了这个问题。而那些没有回答的人,他们的沉默,本身就是答案。

兼容性bug还在被修复。团队成员还在加入和离开。日常还在继续。他们用版本号、路线图、任务清单和IRC聊天记录,把创作从灵光一现变成了日复一日。他们在这个过程中建立起的纪律和流程,成为了后来整个UGC经济的隐性骨架。但当创作成为日常,当纪律取代灵感成为创作的驱动力,一个新的问题就悄然浮现:那些被日常消磨掉的创作者,那些因为现实生活拉扯而离开的人,他们的声音和视角,就永远地从这个产业中消失了。我们看到的,只是坚持下来的人的故事。而坚持下来的人,往往有某种特定的条件——有时间,有经济缓冲,有支持他们的家人,有能承受不确定性的心理素质。这意味着,UGC经济从它日常化的那一刻起,就不是一个平等的竞技场。它在筛选谁能参与创作,谁能坚持到被平台认可,谁能从日常的磨砺中存活下来。这种筛选,不是由某个公司的政策决定的,而是由日常本身的结构决定的。

这就是2003年前后模组作者的日常实践留下的最深层的后果:它创造了一套让创作可持续的纪律,同时也创造了一套让创作有门槛的筛选机制。这套机制在接下来的二十年里不断演化,最终成为笼罩整个UGC经济的结构性压力——谁有权利成为造物主,谁能在造物主的日常中存活下来,谁的作品能被看到和认可。这些问题,在2003年还只是隐约的轮廓。但在那些深夜里独自面对屏幕的创作者们的日常中,在那些被兼容性bug消耗掉的周末里,在那些IRC频道里无声退出的人留下的空白头像里,在那些永远停留在0.9版本号上的模组文件夹里,它们已经埋下了种子。