第 7 章
阁楼里的引擎
罗兹办公室里那份平面图,后来很少有人说得清究竟是谁先画的。图纸右下角的日期已经发灰,边角卷起,折叠处磨出毛边。唯一还能清晰辨认的是顶楼房间旁的一道红色虚线,把靠近天窗的一小块隔间圈了出来。
红线的一侧写着“发行”,另一侧用同样的红笔写着“红队”。两个词之间没有连接线,没有编号,也没有负责人签字。
按比例尺换算,那片红色闭圈对应的实际空间不过是一间斜顶小屋,夏天热气蒸腾,冬天暖气断断续续,窗外就是罗兹老城灰扑扑的屋顶。
这个命名后来固定为 CD Projekt RED,但它起初更像一个实验车间,而非正规工作室。把时间拨回 1997 年前后,当伊温斯基和基琴斯基在办公室里划出这块飞地时,他们要解决的不是如何打造一个开发部门,而是如何把公司里最难以纳入现有业务的一小群人先安置在一个不会干扰日常运转的地方。
红队最初只有寥寥数人,被公司内部戏称为“红队”。那张平面图本身就是一份诚实的文件:它没有展示任何宏大的扩张蓝图,只记录了一次管理上的隔离。
这家公司从 1994 年成立后,真正建立起稳定现金流的,是西方游戏的波兰本地化发行。《博德之门》的波兰语版本让 CD Projekt 证明了一件事:即便玩家成长于盗版货架前,也愿意为正版服务付出真金白银。
但本地化是一门依靠时间差和地理差的生意。公司必须不断取得西方厂商的授权,管理光盘压片和库存,与华沙、克拉科夫和格但斯克的批发商周旋,揣摩波兰玩家对价格和品质的承受边界。
这门生意塑造了公司的组织性格:大量人手围绕谈判、物流、成本和渠道分布,管理语言建立在短周期、可预期回报之上。每一笔本地化投入,都能大致估算出项目周期、成本上限、发行规模和毛利区间。
在这种节奏里,伊温斯基和基琴斯基对公司的掌控力来自他们对现金流的直接感知。他们知道每多签一个发行合同意味着多少箱货,也知道仓库里长时间堆放的库存会吃掉多少利润。
但当西方发行商开始绕开本地代理直接进入波兰市场时,这种节奏开始被打破。
波兰玩家终于可以用更直接的方式购买英语或波兰语版本的新游戏,本地分销商的议价空间被压缩,原有的地理保护也被迅速侵蚀。CD Projekt 的两位创始人并非在 1997 年就已经完整预见到自研游戏的必要,但他们已经看到了中间商地位松动的迹象。发行部的报表也许还能维持一段时间,可依赖别人授权而建立的盘子,终归没有属于自己的重量。
红队最初的建立,并不能被解释为一次勇敢的产业升级。更准确地说,它是公司面对未来收入来源不确定时做出的一种试探。
而试探的方式,不是大规模招募顶级开发者,不是立项国际产品,而是在顶楼划出一块区域,把几个早已被收拢的技术人员放进去,告诉他们可以试着做点东西。至于做什么、怎么做、做多久,管理层自己也没有答案。
当时波兰并不缺有天赋的游戏技术人才。前几年,他们在克拉科夫的交换摊位上传递盗版盘,在华沙的 BBS 上讨论内存地址和显示模式,在各地小型聚会上比较谁修改的 MOD 更稳定,谁能用最少的字节制作出最炫目的演示场景。
这些人通过拆解盗版游戏、参与演示场景和本地化的技术修补积累了实用能力,但他们中的大多数人从未被组织起来完成一款真正的商业游戏。CD Projekt 从这些圈子里招到的人,背景五花八门:有的人精通图形排序,有的人能修改光盘校验,有的人对角色扮演系统有非常个人化的理解。
但他们进入公司后,发现自己处在一个奇怪的位置。发行部的流程不覆盖他们的工作,财务部不知道如何归类他们的消耗,人力资源也难以定义他们的职务层级。
于是最省事的方式,就是把他们放进顶楼那间与业务区相对隔绝的房间。红色虚线因此既是空间分隔,也是组织姿态:公司承认这些人的价值,却无法把他们嵌入既有体系。
伊温斯基很快感受到一种全新的管理失重。在本地化业务里,他面对的是可以谈判的授权方、可以预测的生产周期、可以被库存周转率检验的现金流。在红队里,他面对的是无法在短期产出可交付物的人员。
游戏开发在前几个月几乎没有可以拿出手的成果,过了半年或许只有几张界面草图和零散代码,过了更长的时间可能仍停在原型阶段。钱却从第一天起就开始离开公司账户。伊温斯基后来在不同场合承认,游戏开发消耗资金的速度是本地化业务的数倍,而产出却遥遥无期。
这个判断本身并不夸张。因为发行商习惯的三角关系,在开发工作中被击碎了。本地化的时间、成本和交付物之间,存在相对线性的关系;游戏开发的投入却像在往一个无底容器里灌水,何时能看见水面上升,谁也说不准。
红队的烧钱并不表现在庞大的采购订单上,而是表现在持续不断的工资、设备、软件许可和反复推倒的方案上。每一笔单独看都不惊人,合并起来却让公司原有的成本核算表失去了解释力。
红队早期到底在做什么,从一份被反复增补的设计文件可以看得很清楚。那本装订粗糙的打印稿,内页纸张厚薄不一,部分页面出现污渍,明显不是一次完成的。标题页用波兰语标着与猎魔人相关的设计草案字样,下方的说明文字已经被磨损得难以辨认。
正文没有按照常规设计文档的方式从系统概述、目标平台、核心玩法和操作模式开头。
它更像一本围绕杰洛特展开的故事提纲。开篇用了大量篇幅描述北方诸国的战争态势,非人种族的生存处境,以及杰洛特在动荡世界中可能的游历路线。很多段落几乎是在复述萨普科夫斯基小说中的场景感,人物对话被预先写出,心理状态和动作描写也极为细密。
显然,写作者首先被猎魔人世界所吸引,其次才想到游戏。文档中某个中段任务设想,要求玩家扮演杰洛特在暴风雨之夜穿过森林,沿地面残留的气味追踪一只受伤的吸血妖鸟,同时还要与途中遇到的多个势力进行带有道德分量的对话。
这个构想在文字层面极具画面感,却几乎没有提及摄像机位置、操作方式、追踪判定规则、对话分支结构或战斗切换条件。
它是一段精彩的文学想象,不是能够指导程序或美术落地的工作包。问题的严重性在于,红队里当时并没有足够经验的人站出来指出这份文档的缺陷。
他们大多从玩家、模组作者和演示场景爱好者转来,熟悉游戏,也热爱猎魔人的故事,但没人完整负责过一部商业游戏的设计。对这些人来说,游戏设计首先被理解为世界再现,而不是规则构建。他们用大量时间把原著的场景、人物和氛围转写进文档,却迟迟无法把“道德分量”转化成可被系统执行的触发条件。
他们也讨论过战斗,讨论过炼金术,讨论过某种赌局玩法,甚至有人花数页篇幅描述角色衣摆在风中摆动的方式。这些内容单独看都有灵气,编在一起却形成了一本越来越厚的设定集,而不是一条可以从开始到结束走通的机制路径。
公司内部仍把它称作设计草案,但它实际上变成了集体写作的小说。小说可以搁置核心循环,游戏却不行。
没有循环,角色行动就没有可重复的驱动;没有可重复的驱动,任务和战斗就只是排列在故事线里的零散片段。
红队在这个问题上失语,正是因为他们缺少从文学文本跨越到可玩机制的经验。
技术方面,团队拿到了 BioWare 极光引擎的使用授权。从商业上看,这个选择十分自然。
CD Projekt 发行过《博德之门》,对无限引擎及其工作流并不陌生,极光引擎在角色扮演游戏领域也已经证明了自己。通过授权引擎起步,至少可以先把底层渲染、存档和脚本系统交给现成框架,省去从零搭建引擎的时间。
可是极光引擎有它的预设。它适合等距视角的团队战斗,适合对话树和脚本触发,适合基于角色等级和属地的数值成长。
但红队想要呈现的是一个强调剑术节奏、翻滚躲避、法印释放和游走缠斗的猎魔人世界。银剑面对怪物,钢剑面对人类,战斗中的武器切换、距离判断和动作反馈需要更灵活的驱动方式。极光引擎的底层状态机并不天然支持这种动作化战斗。
团队最初采用修补策略,试图在许可范围内改变脚本、调整数值、替换表现层。有人整夜伏在屏幕前,试图从资源包和外部脚本中找到绕过限制的办法。
他们熟稔拆解,这正是这批波兰技术青年的长处。但授权引擎不同于被拆解的盗版游戏,它没有向使用者敞开全部底层通道。越往深处改,阻力越大。
角色状态机在战斗中的表现反复失控,路径计算在复杂地形中经常失效,加入新的战斗表现后帧率又掉到不可接受的程度。每一次逼近理想效果,都在某个位置被弹回。这种技术挫败逐渐在团队中积累成一种情绪:他们能拆开一部分,却拆不开决定游戏手感的那部分。
一个残酷的事实也随之中介化:无论设计文档写得多么动人,只要极光引擎无法承载他们设想的战斗系统,猎魔人世界就只能在纸面上成立。
资金还在继续流出。按照后来披露的数字,这个原本只有十几人的小团队,在全力开发后迅速扩充到约一百人,研发成本超过两千万兹罗提。这个数字对一家以本地化发行利润供养开发计划的公司而言,已经超过了最初的预期。
预算超支本身不是耻辱,问题是超支背后没有对应的产出。红队花掉的钱,一部分变成了无效的设计文本,一部分变成了打在极光引擎上的补丁,还有一部分变成了团队内部反复争论和推倒重来的人员工时。季琴斯基后来承认,由于预算有限,一些内容不得不删除,但角色个性得以保留。
这句话放在当时的环境里,其实包含着不少苦涩。删掉的不仅是内容,还包括许多早期设想中被认为可以实现的机制和场景。
公司内部对红队的怀疑逐渐浮上水面。发行部门的人在走廊里碰见那些从顶楼下来的年轻人,常常不知道该问什么。问销量,没有;问上线日期,没有;问演示版本,偶有却总不稳定。财务部门看到他们的成本曲线一路向上,却看不到能够纳入季度预测的收入。
一些中层管理者私下里认为,公司应该守住本地化和分销,不应该在自研上继续下注。
但伊温斯基和基琴斯基没有松手。两人的坚持,一方面来自对游戏市场长期价值的判断,另一方面也来自一种很朴素的认识:如果只做发行,等到西方大厂彻底完成终端直销,CD Projekt 就只剩下越来越薄的价差。红队的存在,至少让公司有了一个属于自己的生产端。
但拥有一个生产端与拥有一款成功产品之间,还有极长的距离。这间阁楼后来在组织记忆中被逐渐神化。
人们会把它说成 CD Projekt RED 的诞生地,会把它描述为波兰游戏民族品牌的起点。然而回到那几年,它更像一个不断产生问题的房间。
团队人数越来越多,项目管理经验却几乎没有同步增长。最初十几个人可以靠喊话和临时会议协调,当人数膨胀到数十人乃至更多时,任务分工、版本管理、美术管线和代码规范都变得更加复杂。
原先靠个人默契维持的协作方式迅速失效。项目文件散落各处,设计文档不断被增补却缺少版本控制,不同人写的系统模块彼此冲突,技术负责人经常在解决系统崩溃与调整角色动作之间来回奔波。
此时的 CD Projekt 并没有完整的项目管理体系。没有清晰的里程碑,没有严格的评审节点,没有专职制作人来平衡设计野心与资源边界。
团队在阁楼里的热情是真实的,但热情无法替代工程方法和制作流程。它支持着人们加班到深夜,也掩盖了组织上长期积累的错配。技术上的岔路最终逼迫管理层正视一个根本问题。
极光引擎在等距角色扮演游戏上的便利,与猎魔人世界需要的动作化表达之间,存在着难以弥合的距离。
团队内部对此争执不休。保守方案认为,应继续在极光引擎上修补,先把角色扮演的故事骨架搭起来,接受战斗表现上的折中。
激进方案认为,想要做出符合原著气质的剑术体验,就必须放弃对现有引擎的依赖,寻求新的底层方案。这个分歧不是技术细节之争,而是对项目未来方向的判断。
继续修补,意味着他们可以保留已有的部分资产,减少沉没成本,但可能要接受一个在战斗表现上不那么“猎魔人”的游戏。推倒重来,意味着过去几年投入的大量工作可能会被清空,公司还要继续供养一个无法确定产出的新方向。
两种选择都不容易下决心,而红队此前积累的经验,大多来自拆解和修补,来自在既有框架内寻找缝隙,而不是从工程底层出发构建一套完整系统。他们缺少从零开始开发工业级引擎的信心,也缺少评估这一冒险成败的参照系。
正是在这个节点上,资金压力、技术瓶颈和组织错配第一次集中到同一张桌面。
红队拿不出完整产品,本地化竞争又不断压缩利润空间,极光引擎的边界使项目无法继续向前推进,而团队内部对继续修补还是推倒重来仍未形成一致结论。公司高层必须做出一个决定,而这个决定不能只靠技术测试来回答。因为无论走哪条路,都需要继续投入大量资金,需要一个比红队更明确的组织实体,需要一套更清晰的产品方向。
为了开发这款游戏,公司在 2002 年成立了游戏开发工作室 CD Projekt RED,设于波兰罗兹,交由塞巴斯蒂安·杰林斯基负责管理。这个安排在当时更像一种被迫的组织升级。红队终于从顶楼飞地变成一个正式工作室,名称固定下来,权责也要重新划分。
杰林斯基需要面对的,还是一支由本地化学徒、模组作者和演示场景爱好者混合而成的队伍。他们中的许多人没有在其他商业工作室完整工作过,对版本管理、内容管线、里程碑评审和多部门协作仍然陌生。
但至少,公司的选择不再是继续把几个人藏在发行部门看不到的角落,而是承认游戏开发必须有自己的组织机体。
这个机体刚刚挂牌,就带着极光引擎留下的悬念。第一款《巫师》的战斗系统仍没有找到理想的实现方式。
BioWare 的帮助在商业展会上十分具体,后来在 2004 年电子娱乐展上,公司获得了 BioWare 提供的展位,紧邻《翡翠帝国》展位。这对 CD Projekt 而言无疑是一次曝光机会,但它同时意味着他们必须拿出一段可以向国际媒体和潜在发行伙伴展示的内容。
可极光引擎在动作表现上的局限并未消失。为了赶上展示,团队只能不断在现有框架内调整脚本、简化特效、优化资源,让展台现场不超过崩溃底线。战斗系统的深层问题没有被解决,只是被暂时按住。
预算压力也没有消失,团队从最初的十几人扩大到一百人,研发成本超过两千万兹罗提,最终仍要面对部分内容被删除的现实。
这个过程把 CD Projekt 的管理层逼到了更清楚的认识:授权引擎可以帮你启动项目,却未必能帮你完成你想做的游戏。
引擎的限制会在项目后期反复发作,让你在展会上让记者试玩时提心吊胆,让你在内容规划和动作设计上不断后退。如果没有这段经历,CD Projekt 后来对自研 REDengine 的执念也许不会那么强烈。因为红队正是尝够了他人的引擎对自己意图的拒斥,才会在日后选择把底层技术握在自己手里。
但这份执念同样带着风险。后来当《巫师 3:狂猎》在开放世界环境中展示非线性角色扮演特性时,REDengine 3 被视为公司技术能力的重要证明。
波兰产业界一度把它抬到民族技术自尊的高度,似乎拥有自己的引擎,才有资格在全球舞台上与大型发行商平起平坐。这个观念在很大程度上源于早期与极光引擎搏斗时留下的挫败感。它把“自研”从技术方案上升为身份宣言,也为日后更大规模的项目失误埋下伏笔。
技术民族主义的萌芽,并非来自某个一夜之间的雄心,而是来自这间阁楼里反复撞墙的队伍。
设计文档中那个关于“吸血妖鸟”的任务条目,可能是红队早期工作方式最诚实的切片。它在打印稿里占有将近三页,纸张比其他部分更薄,边缘有反复翻折的痕迹,说明不止一个人在它上面停留过。条目用第一人称视角写就,仿佛写作者自己就是杰洛特,正在穿过一片被暴风雨压弯的混交林。文本详细描述了雨水如何顺着银剑剑柄的缠绳往下淌,靴底如何在泥泞中打滑,以及猎魔人勋章在嗅到妖鸟气味时震动的频率。
问题不在这些描写本身,而在于文档下方的“实现备注”一栏只填了短短一行字——“气味追踪系统:待定”。这六个字背后藏着一整片技术盲区。极光引擎的脚本系统可以驱动对话树和任务触发,但要在三维环境中实时生成一条随天气、地形和怪物状态变化的嗅觉路径,需要一套完全不同的底层算法。红队里没有人写过这种算法,甚至没有人能准确估算它的开发周期。
这份任务条目的写作者显然以为,只要把感觉写得足够真切,程序员就能找到实现的方法。
但这种假设在企业级游戏开发中恰好是反向的:必须先确认系统能做什么,设计才能建立在其上。当时团队里还没有人能把这种关系说清楚,因为大多数成员从未经历过从白纸到产品的完整周期。
这种脱节同样出现在战斗设计的早期讨论中。红队对猎魔人战斗的理解,往往从萨普科夫斯基小说的具体段落出发。书中有一段杰洛特在酒馆外与三个打手的冲突,文字节奏极快,剑身偏转、脚步侧移和法印释放交替出现,动作之间几乎没有停顿。团队中的几个狂热读者反复引用这段描写,坚持认为游戏必须呈现同等的流畅感。
但当美术人员尝试按照这段文字制作分镜时,立刻发现了问题:小说中的战斗是线性叙事的,作者可以任意控制时间流速和信息密度,而游戏中的战斗是交互性的,玩家必须在每一帧做出输入决策。极光引擎的回合制底层并不擅长处理高频动作输入,它的战斗更适合在暂停后分配指令,而不是实时响应翻滚和格挡。
有人提出过折中方案——把战斗拆成短促的即时片段,中间插入类似“动作点”的决策暂停。但这个方案在被画成分镜图后,看起来既不像角色扮演游戏,也不像动作游戏。红队成员聚在屏幕前看完演示,沉默了很长时间。
没有人愿意说出口,但他们心里都清楚:他们在试图用一套等距视角的工具箱,去制造一套第三人称动作体验。这种方向上的含糊,消耗的不只是时间,还有团队对自身能力的判断。
阁楼里的物理空间也在加剧这种不安。夏天午后,天窗下的温度常常超过三十五度,几个程序员挤在角落里,背心湿透,CRT 显示器散发的热量让室内像一个缓慢烘烤的炉膛。有人把脚边的小风扇开到最大,吹散的都是热风。
设备本身也是拼凑起来的。开发用机型号不一,有的来自公司内部调拨,有的从二手市场淘来,显卡规格参差不齐,导致同样的场景在不同机器上表现截然不同。美术人员在较新的工作站上调出的光影效果,在另一台旧机型上跑起来像褪了色的布片。
版本管理更是一塌糊涂。当时团队还没有引入正式的版本控制系统,代码和资源文件通过共享文件夹传递,覆盖和冲突时有发生。不止一次出现过这样的场景:某个程序员花了一整个周末调试的脚本,周一早上被另一位同事用旧版本误覆盖,而覆盖者完全不记得自己改过什么。
这些摩擦单看都是小问题,累积起来却像砂石一样磨损着团队的动力。更棘手的是,红队的成员们很难在组织内部找到可以倾诉的对象。
发行部的同事不理解为什么改一个追踪算法需要两周,财务部不理解为什么同样的功能要反复推翻重做。隔着一道红色虚线,两边对工作的认知已经形成了两套不兼容的语言。
伊温斯基和基琴斯基并非对此一无所知。他们定期上楼查看进度,次数多了,渐渐能从屏幕上的内容判断项目状态。如果他们看到的是逐步成型的游戏循环,心里或许会踏实一些。
但更多时候,他们看到的是千疮百孔的原型:角色可以走动了,攻击时手臂却插进了怪物模型;对话可以触发了,选项分支却在第三层之后全部导向同一个结果;森林场景美得可以截图当桌面背景,但帧率在战斗触发时跌到个位数。每一次上楼,创始人看到的是努力,看不清楚的是产品。
这种感觉对伊温斯基尤其陌生。在本地化业务里,他能用一个下午理清授权合同的每条条款,能用季度报表判断库存周转的健康度,能用与批发商的半个小时电话谈妥下一批货的折扣。但在红队面前,他发现自己问不出正确的问题。他不懂代码,不熟悉渲染管线,无法分辨一个系统是“还没做完”还是“做不出来”。这是他第一次在自己的公司里感到某种专业上的无力。
基琴斯基同样在寻找参照系。他开始接触其他波兰游戏团队,询问他们如何管理项目、使用何种引擎、怎样评估进度。
他们被授权引擎卡住喉咙,被战斗系统无法实现的手感折磨,才逐渐形成一种共同信念:只有掌握引擎,才能真正决定游戏的样子。这种信念既合理又危险。合理的是,创造自由确实需要技术基础;危险的是,自研引擎本身的复杂度、维护成本和人力要求,常常远超项目初期的想象。
回到那间罗兹的顶楼,当时的红队还来不及思考技术民族主义。他们面对的,只是桌子堆满设计文本,屏幕显示不稳定的原型,以及天窗下令人窒息的空气。
那份用红色虚线标出飞地的平面图没有消失,它被保存在公司的旧档案里,后来偶尔被拿出来提醒人们起点何在。红色虚线之内,曾有过一群想再现杰洛特世界却写不好游戏规则的人;曾有过几段描述暴雨夜追踪吸血妖鸟的漂亮文字,却配不上一套可以运行的追踪系统;曾有过在原版引擎框架外强行注入动作手感却屡屡失败的夜晚。
这些都是 CD Projekt 后来品牌基因的一部分,只不过当时没有人把它叫作品牌。它只是组织错配与创作热望相互挤压后的产物。
最具体的技术悬念仍摆在那里:使用极光引擎做出的战斗原型,无法实现团队设想的银剑与钢剑交替、翻滚周旋和法印侧击。这个瓶颈在《巫师》从原型走向正式产品前一直悬而未决。它逼着公司在继续修补授权引擎和另寻新路之间做出选择,而这一选择又牵动着版权、资金、人员和项目命运。如果连战斗手感都做不出来,再精美的任务设计和再忠实的原著复刻都难以成立。如果推倒重来,公司必须面对更大的沉没成本和更长的等待。这个两难没有被文件平面图上的红色虚线划开,也没有被顶楼的闷热空气溶解。它只是静静压在项目的正中央,等待一个必须由明确决策打开的出口。