第 18 章

模组的边界战争

时间倒回到更早以前——"我们故意把游戏做得不完整,让玩家来完成。"

这句话是索伦·约翰逊在2005年3月旧金山游戏开发者大会上说的。当时他站在讲台上,身后的投影屏幕打着《文明IV》的XML架构图——科技、单位、文明、领袖、地形,所有核心数据都以纯文本格式暴露在外。台下坐着的程序员和制作人都在应对同一个问题:一款单机策略游戏的生命周期能有多长。

两年?三年?约翰逊给出的答案不在时间维度上。他在演讲中途停下来,说出了那句话,然后解释了他的逻辑:一个历史模拟游戏不可能穷尽人类经验的所有维度,与其试图覆盖一切,不如把规则写成一种语言,把工具交给玩家,让他们自己讲述历史。

这不是技术分享。这是设计哲学宣言。同年10月《文明IV》发售,Firaxis把完整的DLL源码打包进了安装目录。法务部门曾对此表示担忧,但设计团队坚持了一个判断:模组不是游戏的补充,而是游戏的自然延伸。约翰逊在GDC演讲中承认了这场内部争论的结果——设计团队赢了。后果迅速显现。

CivFanatics论坛的注册用户在三年内从不到十万增长到超过四十万,模组下载区的条目突破五位数。一个以论坛为核心、以XML开放架构为基础的自由创作生态形成了。参与者称它为“模组共和国”。这个共和国的宪法是开源的DLL,议会是论坛的模组讨论区,通货是下载量和评分。

它的公民来自全球——得克萨斯的大学生、斯德哥尔摩的系统管理员、首尔的兵役期程序员、广州的高中历史教师。他们用约翰逊留下的语言写作:修改一个数值是句子,创建一个新单位是段落,而像“Fall from Heaven”那样把整个游戏改写成黑暗奇幻史诗,是一部完整的小说。

“Fall from Heaven”的主创者Derek Paxton在论坛上的ID是“Kael”。他2005年12月发布了第一个版本。随后三年里,他和一个从未谋面的志愿者团队迭代了几十个版本,添加了宗教派系、魔法系统、英雄单位、原创音乐,最终形成了一个完全脱离地球历史的幻想世界。

下载量超过二十万次,评分维持在4.9分。2008年,Firaxis邀请Paxton参与官方模组开发——模组共和国的公民走进了Firaxis的办公室。

到2007年初,《文明IV》售出超过一百五十万套。但更重要的数字在另一个维度:CivFanatics的模组区里,一个叫“Rhye's and Fall of Civilization”的模组试图模拟文明的兴衰周期,一个叫“Rise of Mankind”的模组把科技树扩展了四倍,一个叫“Planetfall”的模组把《半人马座阿尔法》的派系搬进了Civ4引擎。这些作品不是官方的,但它们定义了《文明IV》在玩家记忆中的面貌。

共和国的根基在2010年9月21日出现了裂缝。那天,《文明V》全球发售。六角格取代了方格,一格一军取代了堆叠,城邦系统、社会政策树、不可逆的领袖选择——乔恩·谢弗主导的这次改版是系列历史上最激进的设计断裂。发售首周销量突破一百万套,Metacritic评分稳定在90分。但在CivFanatics论坛的模组区,帖子标题开始出现同一个词:“DLL在哪?”

不在安装目录里。不在游戏文件夹的任何角落。不在Steam的更新补丁中。模组作者很快确认:《文明V》的DLL源码没有随游戏一同发布。Firaxis没有给出明确的时间表。论坛管理员“Thunderfall”——一个从2000年起运营CivFanatics的佛罗里达软件工程师,本名Thamer Sarong——在10月初发布了一则置顶帖,措辞克制但意图明确:他建议模组作者先熟悉现有的XML和Lua脚本接口,等待进一步消息。

等待持续了两年。这两年改变了模组社区的结构。XML和Lua可以修改界面、添加单位、调整数值,但无法触及游戏的核心逻辑——AI行为、战斗计算、外交权重,这些仍然锁在编译后的二进制代码里。

为一个基于六角格和一格一军的战术系统重写AI,比在Civ4的方格堆叠系统里做同样的事复杂得多。Civ4的AI需要考虑的是堆叠顺序、攻防配对、地形修正。Civ5的AI必须处理单位站位、侧翼保护、远程火力覆盖、地形障碍的路径规划。

一个业余开发者用周末时间可以为Civ4写一个还过得去的战斗AI,但在Civ5里,同样的工作量需要一个小团队全职投入数月。

这不是技术门槛的问题。这是设计哲学的问题。Civ5的一格一军系统是谢弗对战术深度的追求——他想要一个每一步移动都值得思考的战斗系统,一个让玩家在棋盘前沉吟的体验。这个目标实现了。但它同时制造了一个副产品:模组开发的准入门槛从“懂编程的历史爱好者”提升到了“有团队的专业开发者”。

在Civ4时代,一个人花一个下午可以创建一个新文明;在Civ5时代,同样的工作需要理解六角格的寻路算法、单位AI的行为树,以及一个更复杂的3D模型导入流程。模组共和国的公民发现,他们手中的工具不再是记事本和XML编辑器,而是一整套他们多数人没有时间学习的专业开发环境。

2011年春天,一个叫“Afforess”的模组作者在论坛上发了一篇长帖。他的ID在Civ4社区里有一定知名度——他做过一个改进AI的模组,下载量不错。

帖子的标题是:“模组正在死去”。Afforess的论证很直接。他列举了Civ5发售后半年内模组区的数据:新模组数量不到Civ4同期的三分之一,完成度达到“可玩”标准的完全转换模组为零。他承认部分原因是时间——Civ4的模组黄金期也是在发售后两三年才到来——但他认为更根本的问题在架构层面。“我们被锁在外面了,”他写道,“不是被技术,是被设计选择。”

帖子迅速翻到十几页。反驳的声音同样存在。一些用户指出Lua脚本提供了Civ4没有的灵活性,另一些人认为Afforess过于悲观,社区需要时间适应新工具。但没有人否认一个事实:DLL源码没有公开。

2012年秋天,Firaxis终于发布了《文明V》的DLL源码——距离游戏发售整整两年。同时发布的是第二个资料片《美丽新世界》的前瞻信息。时机并非巧合:DLL的发布被捆绑在资料片的营销周期里,更像是一个售后补丁而非设计承诺。

模组社区的反应分裂了。一部分人迅速投入开发,利用迟到的源码补全AI缺陷、调整游戏平衡。

另一部分人已经离开了。那些在2010年等待DLL的模组作者中,有些人转向了其他游戏,有些人毕业、就业、结婚,不再有周末时间写代码。模组共和国的公民流失了,而新公民的招募速度赶不上流失。还有一个更隐蔽的变化正在发生。2016年10月,《文明VI》发售。

Ed Beach主导的新作带来了区域系统、市政树、可堆叠的城市规划——又是一次设计断裂。但这次Firaxis在模组支持上做了调整:官方模组工具随游戏同步发布,DLL源码在发售后数月内开放。表面上看,这是对Civ5时代批评的回应。

但同步推出的还有另一个系统:DLC商店。《文明VI》的商业模型与Civ4、Civ5有根本不同。Civ4的资料片模式是每隔一两年发布一个大型扩展包,包含多个文明、场景和机制更新——《战神》2006年7月上市,《超越刀锋》2007年7月上市,每个定价三十美元。Civ5延续了这个模式。但Civ6在大型资料片之外,增加了一个持续更新的小规模付费内容流:单个新文明、单个新领袖、新游戏模式、新地图包,每个定价五到十五美元不等,每隔几个月发布一次。

这个模型改变了Firaxis与模组社区的关系。在Civ4时代,当一个模组作者创建一个新文明——比如波兰文明,带独特的翼骑兵单位和商业传统加成——他是在填补官方内容的空白。

Firaxis没有卖波兰文明,玩家想要体验波兰就只能下载模组。模组作者的工作是扩展游戏的可能性边界。官方与社区之间有一条清晰的界线:官方做框架,社区做内容。

但在Civ6时代,这条界线模糊了。2017年,Firaxis发布了波兰文明DLC。2018年,发布了蒙古文明DLC。2019年,发布了可选游戏模式“天启”——一个添加自然灾害和末日机制的付费内容。每一个官方DLC的发布,都在客观上挤压了同类模组的生存空间。当一个官方波兰文明存在于DLC商店里,模组作者的波兰文明就从一个“必要补充”变成了“替代选项”——而且多数玩家会选择官方版本,因为它有专业美术、配音、平衡测试和成就系统支持。

2018年夏天,CivFanatics论坛爆发了一场长帖争论。起因是一个叫“JFD”的模组作者——他的真名是Janboruta,波兰人,以制作高质量文明模组闻名——发帖宣布暂停他的模组更新。帖子的措辞经过克制,但情绪清晰:“我花了三个月做了一个文明模组,然后官方发布了一个类似内容的DLC。我不是说他们抄了我的点子,但他们有资源做专业版本,而我的版本在Steam工坊里被埋到第三页。”

帖子的回复迅速超过两百条。立场分裂成三派。第一派是模组作者。他们的论点直接:Firaxis利用了模组社区的创意池,将热门模组概念转化为付费内容,却不给原创者任何补偿或承认。他们要求更完整的源码开放、更清晰的模组政策,以及一个防止官方内容与热门模组撞车的沟通机制。

第二派是官方开发者。Firaxis的社区经理在帖子中做了回应,措辞谨慎:公司尊重模组社区,官方内容的开发周期长达数月甚至数年,不可能实时监控模组动态并做出规避。DLL源码已经开放,模组工具持续更新,Firaxis认为自己在支持模组方面做得比大多数工作室更多。

第三派是普通玩家。他们的立场更务实:如果官方DLC质量更好、价格合理,为什么不应该买?模组免费是好事,但不是义务。一个玩家在帖子里写道:“我尊重模组作者的劳动,但我不想在十个不同的波兰文明模组里选一个。如果官方做了一个,我就买官方的。”

这场争论没有达成共识。但它暴露了一个结构性问题:模组共和国的宪法——开源DLL、自由创作、社区自治——是在一个没有DLC商店的时代写成的。当Firaxis的商业模型从“卖游戏加资料片”转向“卖游戏加持续付费内容流”,宪法里的每一条都面临重新解释。

索伦·约翰逊在2005年说“我们故意把游戏做得不完整,让玩家来完成”,这句话的隐含前提是:Firaxis不会自己去完成那些不完整的部分。一旦Firaxis开始自己完成它们,并把完成品标价出售,模组作者的工作就从“参与共建”变成了“与官方竞争”。

这不是道德问题。Firaxis有权选择自己的商业模式,模组作者有权选择是否继续创作。但约翰逊那句话所代表的哲学——模组是游戏的自然延伸,玩家是设计的共同作者——在DLC商店的逻辑里找不到位置。

2019年,一个叫“Sukritact”的泰国模组作者在论坛上发了一篇帖子,标题是:“我们还能做什么?”他列举了Civ6发售后三年里官方DLC覆盖的主题:新文明、新领袖、新奇迹、新地图类型、新游戏模式。然后他列了一个清单,上面是仍然没有被官方覆盖的空白领域。“这些是我们可以安全创作而不用担心被官方版本覆盖的,”他写道,“但这个清单每年都在缩短。”

帖子末尾,他放了一个链接:他的最新模组——一个添加了暹罗文明的作品,包含拉玛五世领袖、独特单位“皇家战象”、独特建筑“水上市场”。免费下载。评分4.8分。“我不知道这个模组能在Steam工坊首页待多久,”他写道,“但在它被埋掉之前,至少还有人能玩到暹罗。”

2005年3月的那场GDC演讲,在场的人后来回忆起来,最记得的不是那句话本身,而是约翰逊说那句话时的语气。不是宣言式的激昂,不是技术布道者的狂热。他像是在陈述一个已经发生的事实。投影上的XML架构图是黑底白字,标签层层嵌套,像一棵倒置的树。他指着那棵树说,这不是我们的设计文档,这是语法书。然后他停下来,看着台下,说出了那句话。

当时的游戏行业正处在第一次模组繁荣期的尾声。《半条命》的模组《反恐精英》已经被Valve收购,《魔兽争霸III》的地图编辑器催生了DOTA。但这些都是动作游戏和即时战略游戏的模组。回合制策略游戏的模组能否形成同样的生态,在2005年仍然是一个开放问题。

约翰逊的演讲试图回答这个问题。他的论证不依赖技术细节,而是依赖一个对历史模拟游戏本质的判断:历史是复数。

任何一款游戏对“文明”的定义——哪些文明值得收录、哪些领袖代表这些文明、哪些科技路径是“标准”的——都是一种选择,而选择意味着排除。你选了罗马,就排除了迦太基。你选了罗斯福,就排除了威尔逊。你选了太空胜利,就排除了经济胜利。这不是设计缺陷,这是媒介限制。

但如果你把游戏规则设计成一种语言,让玩家可以用这种语言自己定义文明、领袖、科技、单位、胜利条件,那么媒介限制就被打破了。玩家不是在玩你的游戏,而是在用你的语法写他们自己的历史。

约翰逊在演讲中举了一个例子。他说,Firaxis内部曾经讨论过是否要在《文明IV》中加入宗教分裂机制——当天主教和新教同时存在于一个文明中时,是否会导致内部冲突。讨论持续了几周,最终被搁置了。不是因为不重要,而是因为太复杂:不同文明的历史经验差异太大,任何一个通用机制都会在某些历史语境中显得荒谬。但约翰逊说,这个决定之所以能做,是因为他们知道模组作者会接手。果然,在《文明IV》发售后不到半年,一个叫“The Lopez”的模组作者就发布了一个宗教分裂模组。它不够完美——AI不懂得如何应对教派冲突,平衡性有问题——但它证明了一个原则:官方做不到的,社区可以做。官方不敢做的,社区敢做。

这种分工在Civ4时代运转了五年。Firaxis做框架,社区做内容。框架的边界由DLL源码划定——源码开放到哪里,框架就延伸到哪里。而Civ4的源码是完整开放的。这意味着框架的边界不是一堵墙,而是一扇门。模组作者可以走进去,修改任何他们想修改的东西。

2006年,一个叫“Bhruic”的模组作者发现了一个AI漏洞:电脑玩家在计算宣战收益时,没有考虑第三方介入的可能性。这意味着一个弱小的文明会向一个强大的文明宣战,仅仅因为它在军事力量对比中误判了自己的优势。Bhruic修改了AI的战争评估函数,加入了“联盟威胁”变量——AI在决定宣战前,会检查目标文明是否有共同防御条约。

这个修改后来被Firaxis吸收进了官方补丁。模组共和国不仅在使用Firaxis的工具,也在改进这些工具。反馈是双向的。

这种双向反馈在Civ5时代中断了。不是因为Firaxis不再关心模组,而是因为设计优先级变了。乔恩·谢弗在2010年接受采访时说过一句话:“我想让每一步移动都有意义。”他指的是Civ5的一格一军系统。在Civ4里,你可以把二十个单位堆叠在一个格子里,移动它们就像移动一叠筹码。战术深度不在移动本身,而在堆叠的组合——矛兵配弓兵,骑兵配攻城器。谢弗认为这种设计让地图变成了一个抽象的棋盘,而不是一个真实的战场。他想要一个每一步都需要思考的系统:你的弓箭手应该放在森林后面还是山丘上?你的长矛兵应该保护左翼还是右翼?你的骑兵应该从哪个方向冲击敌人的侧翼?

这个设计目标实现了。《文明V》的战斗系统被评论界普遍认为是系列最佳。但它同时制造了一个后果,这个后果在发售时没有被充分讨论:每一步都有意义的战斗系统,意味着AI必须理解每一步的意义。Civ4的AI只需要计算堆叠的力量对比,然后决定进攻或防守。Civ5的AI需要评估地形、站位、射程、视野、侧翼暴露度、撤退路径。这是一个数量级上的复杂度提升。Firaxis的工程师可以处理这个复杂度——他们有全职的AI程序员,有测试团队,有预算。但模组作者没有。一个业余开发者想在Civ5里修改AI行为,需要先理解一个比Civ4复杂五到十倍的决策树,然后在没有完整源码的情况下,通过Lua脚本间接调整参数。结果是可以预见的:大多数模组作者放弃了AI修改,转向了更安全的领域——新文明、新单位、新奇迹。那些在Civ4时代由社区驱动的AI改进,在Civ5时代几乎完全消失。

2011年春天Afforess发那篇“模组正在死去”的帖子时,他已经在Civ5的AI上花了几个月时间。他试图改进电脑玩家的战术移动逻辑,让单位不会在开阔地无谓暴露,让弓箭手优先占据高地,让骑兵避免正面冲击长矛阵。他取得了一些进展,但最终承认了一个他无法逾越的障碍:没有DLL源码,他无法修改AI的核心决策循环。他只能在外围打补丁。帖子的回复里,有人问他为什么不继续做Civ4模组。他回答说,Civ4的模组社区已经过了巅峰期,玩家在流失,下载量在下降。继续做Civ4模组就像在一个正在退潮的海滩上建沙堡。而Civ5的海滩上,潮水还没来,但沙子是硬的——工具不够,源码不开,一个人建不了任何东西。

Afforess的帖子在论坛上挂了三年。2012年DLL源码发布后,有人在帖子下面回复:“现在你可以回来了。”Afforess没有回复。他的账号最后一次登录是在2013年初。他下载了源码,发布了一个Civ5 AI改进模组的早期版本,然后停止了更新。他的个人简介里写着一句话:“Civ4 modder, retired.” Civ4模组作者,已退休。他不是唯一一个退休的。Civ4模组黄金期的核心创作者中,大约三分之一在Civ5时代停止了模组开发。有些人是因为生活变化——毕业、工作、家庭——这些在任何社区都会发生。但有些人是因为工具链的变化。他们不是不会用新工具,而是不愿意用。一个在Civ4时代用XML和Python写模组的人,面对Civ5的Lua脚本、六角格寻路、3D模型管线,需要重新学习一套技能。而学习需要时间,时间需要动机,动机需要信念——相信这个新平台值得投入。当DLL源码迟迟不发布,当官方对模组支持的承诺停留在公关辞令,信念就开始流失。

2012年DLL源码发布时,Civ5已经发售两年。两年里,游戏本身经历了多次补丁和两个资料片——《众神与国王》在2012年6月上市,《美丽新世界》在2013年7月上市。每一次更新都改变了游戏的核心机制,模组作者需要不断追赶官方的修改节奏。而每一次追赶都需要重新编译DLL,重新测试兼容性,重新处理与其他模组的冲突。这是一个没有尽头的循环。Civ4的模组黄金期建立在稳定的基础上——《超越刀锋》2007年发售后,游戏机制基本固定,模组作者可以花几年时间打磨一个作品。Civ5的模组作者没有这种奢侈。他们在一个移动的地基上建造。

这种不稳定性在Civ6时代进一步加剧。2016年Civ6发售后,Firaxis的更新节奏从“资料片模式”转向了“持续内容流”。新文明、新领袖、新游戏模式每隔几个月发布一次,每次更新都可能破坏现有模组的兼容性。一个模组作者在2018年写道:“我花了两个月做了一个模组,然后官方更新了一个补丁,模组坏了。我花了两个星期修好它,然后官方又更新了一个补丁,模组又坏了。我放弃了。”这不是个别案例。Steam工坊的Civ6模组区里,大量模组的最后更新日期停留在某个官方补丁发布之前。它们没有被删除,但也不再工作。它们是模组共和国的废墟——依然矗立,但无人居住。

2018年那场长帖争论的核心,表面上是DLC与模组的内容撞车,但更深层的问题是:模组作者在Civ6的生态系统里到底扮演什么角色。

2018年的那场争论之后,模组社区没有解体,但它改变了形态。一部分模组作者转向了“官方不会碰”的领域——完全奇幻转换、历史替代场景、机制大修——这些主题太大或太偏门,不在DLC商店的商业逻辑之内。另一部分人接受了新现实:模组创作不再是参与共建,而是个人表达,下载量和评分比不过官方DLC,但依然有意义。还有一部分人离开了。CivFanatics论坛的模组区仍然活跃。Steam工坊的《文明VI》条目下仍然有数千个模组。但“模组共和国”这个词,在2018年之后越来越少被提起。当官方开始卖“可选游戏模式”时,模组不再是游戏的宪法修正案,而是它的民间传说——依然存在,依然动人,但不再定义王国的边界。而那个在2005年GDC演讲中说“我们故意把游戏做得不完整”的人,早已离开了Firaxis。索伦·约翰逊在2007年《超越刀锋》发售后离职,创办了自己的工作室。

他留下的哲学存活了五年,然后在DLL源码延迟发布的那两年里开始风化,在DLC商店上线的那个秋天完成了它的历史使命。一种设计意图——让玩家成为共同作者——被另一种商业逻辑——让玩家成为持续付费者——替代了。这不是背叛。这是演化。但演化的方向不是由设计哲学单独决定的,而是由设计哲学、商业压力、技术门槛和社区反应共同塑造的。模组的边界战争没有胜利者,只有幸存者。那些仍然在Steam工坊里发布模组的人——JFD、Sukritact、以及数百个名字不会出现在任何官方记录里的作者——他们继承的不是约翰逊的完整遗产,而是遗产的碎片。碎片仍然可以建造东西。只是不再能建造一个共和国。