第 2 章
四格骨牌的数学
第2章 四格骨牌的数学
把时钟拨回1984年。帕基特诺夫办公桌的抽屉里放着一副五格骨牌——真正的塑料骨牌,十二种形状,乳白色,边缘磨得圆润,装在一个从匈牙利数学会议带回来的灰色纸盒里。他有时午休会把它们倒在桌面上随意摆弄。那年春天的一个下午,他把十二块骨牌排成三行四列,开始一块一块翻面。
翻到第七块时他停住了。这块骨牌在零度、九十度、一百八十度和二百七十度四个方向上呈现完全相同的形状。他把它单独拿出来,继续检查剩下的十一块:八块拥有四个不同的旋转状态,一块拥有两个,三块拥有一个——镜像对称让某些形状在旋转后与自己重合。总计六十三个可辨别的空间配置。他把这个数字写在手边一张打印纸的边缘,画了一个圈。
这不是游戏设计笔记,这是数学家的条件反射。亚历山大洛夫、柯尔莫哥洛夫和他们的学生们在苏联科学院建立了一个传统:数学不只属于定理和证明,也属于拼图和谜题。
五格骨牌在1960年代通过所罗门·戈洛姆的著作传入苏联数学俱乐部,迅速成为课后兴趣小组的标准教具。孩子们用它学习面积、对称和组合爆炸——十二块骨牌可以拼出超过五千种不同的矩形图案。帕基特诺夫自己就是在莫斯科国立大学的数学俱乐部里第一次接触到五格骨牌的,那时他是十七岁的应用数学系学生,骨牌是老师讲解群论的直观教具。
二十年后的这个下午,他不再是学生。他是苏联科学院计算中心的研究员,语音识别方向的正式在编人员,月薪一百四十卢布,工作内容是编写和分析声学模型的Pascal代码。
Electronika 60终端就放在办公桌右侧,屏幕上的光标在一行编译错误信息后面闪烁。他应该继续调试语音识别算法。他没有。
他把五格骨牌推到一边,拿出一张空白打印纸,画了一个4×4的方格矩阵。四格骨牌。他开始在矩阵里填充黑色小方块,每次填四个,让它们保持连接。第一组:四个方块排成一条直线。第二组:2×2正方形。第三组:三个并排,一个连在中间——T形。第四组:两个并排,另两个错位连接——S形。第五组:S形的镜像——Z形。第六组:三个并排,一个连在右端——L形。第七组:L形的镜像——J形。七种。他放下笔,数了一遍。如果排除旋转等价,七种。排除镜像等价,五种。计算所有可能的旋转状态,十九种。他在“十九”旁边写下“7±2”。
帕基特诺夫不是心理学家。他没有引用乔治·米勒1956年的论文《神奇数字七,加减二》。但他读过足够的认知科学普及读物——苏联科学院图书馆订阅了相当数量的英文期刊,尽管送达通常延迟六到八个月——知道人脑的工作记忆有一个硬上限:普通成年人能同时处理的信息块数量大约在五到九个之间。超过九个,判断开始出错;低于五个,注意力开始涣散。七恰好位于这个区间的中心。
五格骨牌的十二种形状远远超出了这个阈值。帕基特诺夫在过去三周里观察过同事们玩他的五格骨牌电子版:出色的数值分析员德米特里在终端前坐了七分钟,推开键盘说“太多了”;计算中心最快的Pascal程序员叶莲娜在第四分钟开始频繁按错键,把骨牌放到与意图完全相反的位置;他自己在测试时也犯同样的错误——眼睛看到形状,大脑需要零点五到零点八秒完成旋转判断,手在键盘上犹豫,方块已经下落了两格。
这不是难度问题。五格骨牌的规则很简单——旋转、放置、填满一行——难度完全来自认知负荷。十二种形状意味着玩家每次放置前必须执行一次视觉搜索任务:识别形状类别,判断旋转状态,扫描可能的放置位置,评估后果。这个搜索任务的复杂度随形状数量增加呈非线性增长。心理学家在1970年代已经证明,当选项从六个增加到十二个时,决策时间不是翻倍,而是增加四到六倍。
帕基特诺夫没有读过这些实验报告,但他有眼睛。他看到玩家在五格骨牌面前那种特殊的犹豫——不是面对困难挑战时的思考停顿,而是被过载信息压垮的认知超载:视线在屏幕和键盘之间来回扫动,手指悬停在方向键上方却不按下,嘴唇微微张开。帕基特诺夫后来向朋友描述这个表情时用了俄语词“растерянность”——迷失感。
四格七形不会产生这种迷失感。七种形状每一种都有明确的视觉特征:I形是四连直条,O形是2×2方块,T形有一个突出的中心连接点,S形和Z形是两组错位的双排,J形和L形是长条加一个拐角。普通人在零点二秒内就可以完成识别——比五格骨牌快三到五倍。十九种旋转状态均匀分布在七种形状中:I形有两个,O形有一个,其余五种各有四个。总数十九,仍然落在工作记忆容量之内。几次尝试之后,旋转模式被内化,判断从有意识的分析变为无意识的直觉。
帕基特诺夫在白纸边缘写了一个词:“игра”(游戏),然后划掉,改成“головоломка”(拼图),然后又划掉,改回“игра”。他在两个词之间画了一条线。线左侧是五格骨牌——拼图,需要思考、计划、耐心。线右侧是四格骨牌——游戏,需要反应、判断、节奏。他用了三个星期的深夜调试才完成这条线的跨越,但决定跨越的瞬间就发生在这个下午,在这张纸上,在七种形状的矩阵旁边。
Electronika 60的Pascal编译器不支持图形模式。帕基特诺夫用字符界面模拟方块:方括号代表两侧,空格代表内部。一个四格骨牌显示为两行字符,每行四个字符宽度。分辨率极低,但形状辨识度足够——这是字符界面的意外优势:抽象化的视觉呈现迫使玩家依赖形状的拓扑特征而非表面细节来识别方块。大脑识别的是连接关系,不是颜色或纹理。
这个特性在1984年看起来只是技术限制的副产品,但在接下来的四十年里将被反复验证:俄罗斯方块可以在任何显示设备上运行,从单色字符终端到4K高清屏幕,从Game Boy的反射式液晶到智能手机的OLED面板,方块的外观随技术进步不断美化,但核心识别机制从未改变。玩家不需要高清贴图来辨认I形——四个方块连成一条直线,这个拓扑特征在任何分辨率下都一样。
帕基特诺夫在1984年6月6日凌晨完成了第一版可以运行的程序。编译通过后,他做的第一件事不是测试功能,而是玩。他玩了四十七分钟。
在这四十七分钟里,他的大脑完成了一次完整的神经回路重组。最初几分钟他还在用分析模式处理每一个方块——这是T形,四个旋转状态,应该放在左下角——但很快分析模式被直觉模式取代。他看到方块,手指移动,方块落在正确的位置,整个过程不需要有意识的思考介入。他的眼睛不再追踪每一个方块的完整下落轨迹,而是跳跃式扫描:方块出现→判断形状→扫视井内布局→确定目标位置→手指执行移动→视线回到顶部等待下一个方块。这个眼动模式将在三十年后被眼动追踪实验精确记录和证实,但帕基特诺夫在1984年6月6日凌晨已经用自己的视觉系统完成了第一次实证。
他停下来的时候,窗外亮了。莫斯科六月的日出时间大约是凌晨四点。他看了一眼屏幕上的分数——他不记得具体数字了,后来也从未在采访中提及——然后关掉终端,把程序保存到软盘,把软盘放进抽屉。
现在让我们拆解这个程序的核心参数。帕基特诺夫在1984年春天和初夏的调试过程中做了四个精确的设计决策。
第一个决策:伪随机分布的记忆机制。Electronika 60没有硬件随机数生成器。帕基特诺夫用系统时钟的毫秒值作为种子,通过一个简单的线性同余生成器产生伪随机序列。公式大致是:下一个随机数等于当前随机数乘以某个常数再加另一个常数,然后取除以七的余数。这个算法产生的分布在统计学上是均匀的——每种形状的出现概率在足够长的序列中趋近于七分之一。
但均匀分布不等于好的游戏体验。完全均匀的随机序列会产生数学家称为“长游程”的现象:同一种形状连续出现多次。连续三个S形的概率是七分之一的立方,约百分之零点三。这个概率看起来很低,但在一次典型的游戏过程中——假设消除五十行,对应大约一百二十到一百五十个方块——连续三个相同形状出现的期望次数约为零点四到零点五次。换句话说,几乎每两局游戏就会出现一次。
连续三个S形对游戏体验的破坏是灾难性的。S形不对称,旋转后的形状与镜像Z形不同,在拥挤的井中很容易制造无法填补的空隙。连续三个S形意味着玩家需要在极短时间内为三个最难处理的形状找到合适位置。在游戏后期速度已经加快时,这几乎等于宣判死刑。玩家会感到——用帕基特诺夫自己的话说——“算法在针对我”。
这不是偏执妄想,这是人脑对随机性的错误直觉。心理学家的大量实验证明,人类对“随机”的直觉期待与数学上的真正随机之间存在系统性偏差:真正的随机序列包含比人们预期更多的连续重复和聚集现象。当人们看到真正的随机序列时,他们会认为它“不够随机”——因为他们期待的是一种均匀交替的模式。
帕基特诺夫用了一个简单而有效的办法来解决这个认知偏差。他在代码中加入了一个长度为二的记忆数组,记录最近两次出现的形状。当随机数生成器产生新形状时,程序检查它是否与记忆数组中的两个形状相同。如果相同,重新生成一次;如果仍然相同,接受这个结果——连续三次重复在加了记忆机制后仍然可能发生,但概率已降到可以忽略的程度。这个调整在数学上破坏了均匀分布的纯粹性,但在认知上制造了玩家期待的“公平随机”:每种形状都会出现,不会连续出现太多次,下一个方块永远不可精确预测但也不会让人感到被针对。
帕基特诺夫没有用“认知最优”这个词。他只是在调试过程中发现,不加记忆机制的版本让玩家感到沮丧,加了之后沮丧消失。他保留了让沮丧消失的参数。
第二个决策:线性加速曲线。第一版俄罗斯方块使用固定下落速度:方块每秒下降一行。帕基特诺夫在测试中发现这个设置制造了一个倒置的难度曲线。游戏开始时井是空的,玩家有充足的时间和空间放置每一个方块,下落速度感觉太慢——玩家在等待方块触底的过程中感到无聊。
随着游戏进行,井内堆积高度上升,可用空间缩小,同样的下落速度开始感觉太快——不是游戏变快了,而是任务变难了。固定速度还制造了一个陡峭的难度悬崖:游戏前半段玩家感觉轻松,注意力可能游离;当堆积高度超过某个临界点——通常是屏幕中线——难度突然跃升,玩家在几秒钟内从掌控状态跌入失控状态。这不是平滑的难度曲线,这是断崖。
帕基特诺夫的解决方案是让下落速度随消除行数递增。具体参数在Electronika 60的硬件限制下反复测试得出:每消除十行,下落间隔缩短零点一秒。初始间隔为一秒,消除十行后变为零点九秒,二十行后零点八秒,依此类推。消除一百行后下落间隔为零——方块瞬间触底——但没有任何玩家能在Electronika 60的字符界面上达到这个极限。绝大多数游戏在消除四十到八十行之间结束,对应的下落间隔在零点六到零点二秒之间。
这个加速曲线的核心性质不是斜率,而是形状。线性加速意味着难度增量是均匀的——每消除十行,玩家面对的挑战增加相同的量。但这个“相同”的量在体验上不是均匀的:从一秒到零点九秒的加速感觉上是微小的调整,从零点三秒到零点二秒的加速感觉上是巨大的跳跃。线性加速在物理时间上是均匀的,在心理时间上是加速的——这正是帕基特诺夫需要的效果。
为什么心理加速是正确的选择?因为玩家的熟练度也在增长。第一次玩的人在前十行学习基本操作,大脑在建立形状识别和旋转判断的神经回路;消除三十行之后,这些回路已经建立,操作变得自动化,有效反应速度比游戏开始时快得多。如果下落速度不增加,他会感到无聊;如果增加得太快,他会感到挫败。线性加速曲线恰好——或者说,经过反复测试后恰好——让难度增长与熟练度增长大致同步。
这不是巧合。帕基特诺夫花了三个星期调试这个参数。他在不同的加速设置下反复玩自己的游戏,记录每一种设置下的游戏时长和消除行数。他让同事们测试不同版本,观察他们的表情和身体语言。他调整参数,再测试,再调整。零点一秒的增量不是计算出来的,是试出来的。
但试出来的结果恰好符合米哈里·契克森米哈伊在1975年描述的心流条件:挑战水平与技能水平动态匹配,注意力完全集中在当下,时间感消失。契克森米哈伊的心流理论在1984年还没有被应用到电子游戏设计中——第一批引用心流概念的游戏设计师要到二十年之后才会出现——但帕基特诺夫用三个星期的反复调试,在Electronika 60的绿色荧光屏上手工拟合出了心流曲线。他不知道自己完成了什么。他只知道参数对了——游戏感觉对了。
第三个决策:宽容旋转碰撞检测。当一个方块旋转时,它的新状态可能与井壁或已固定的方块重叠。最简单的处理方案是拒绝旋转——如果重叠,操作无效。这个方案在逻辑上自洽,在代码上简洁,在体验上糟糕。玩家在紧张的瞬间按下旋转键,什么也没有发生,方块继续下落,机会消失。如果这种情况发生在速度已经很快的游戏后期,一次被拒绝的旋转就可能导致整个布局崩溃。
帕基特诺夫实现了一个更复杂的算法。当旋转后的状态与障碍物重叠时,程序不立即拒绝,而是尝试将方块平移到一个可以合法放置的位置。平移顺序是:先尝试左移一格,再尝试右移一格,再尝试上移一格。如果在任何一个平移位置可以合法放置,方块自动移动到那个位置并完成旋转;如果三个位置都不可用,旋转才被拒绝。这个算法在Pascal代码中增加了大约四十行。在Electronika 60有限的内存中——机器总内存容量64KB,操作系统和Pascal运行环境占用了相当一部分——这四十行不是可以轻易添加的。帕基特诺夫必须压缩其他部分的代码来腾出空间。他做了这个选择。
平移优先级的顺序——先左、再右、最后上——不是任意的。左移优先级高于右移,意味着方块在拥挤空间中倾向于向左“滑动”。这个方向恰好与人眼的自然扫描方向一致:对于使用从左到右书写系统的玩家——俄语和英语都是如此——视觉注意力在扫描屏幕时天然偏向左侧。方块向左滑动,落在注意力已经覆盖的区域,玩家不需要额外的眼动来追踪位移。如果优先级反过来,方块向右滑动,玩家的视线需要追赶——这会在紧张的瞬间制造一个微小的定位延迟。上移是最后的选项。上移会抵消方块的下落进程,相当于给玩家额外的时间做出后续判断,在游戏后期速度已经很快时,这个额外的时间窗口可能是生死之间的差别。但上移也有代价:它改变了方块的垂直位置,可能打乱玩家已经规划好的放置序列。所以它是最后选项——只有在左右平移都不可行时才启用。
这个优先级顺序在1984年看起来只是一个程序员的编码习惯。帕基特诺夫可能自己都没有意识到他为什么选择先左后右。但他在接下来的四十年里将被数亿玩家无意识地体验和接受。没有人能说清楚为什么俄罗斯方块的旋转感觉“对”,但所有人都能感觉到它确实对。宽容的碰撞检测让玩家感到游戏站在自己这边——在看似不可能的情况下,方块仍然能找到一种方式完成旋转。这种“游戏在帮我”的感觉是俄罗斯方块触感的核心组成部分,它的根源可以追溯到这四十行Pascal代码和帕基特诺夫在深夜做出的优先级选择。
第四个决策:屏幕清空的正反馈循环。俄罗斯方块的得分机制不是简单的累加。消除一行得一百分,同时消除两行得三百分,同时消除三行得五百分,同时消除四行——用I形垂直插入一个四格深的空隙——得八百分。得分随消除行数呈非线性增长。这是有意为之的。帕基特诺夫在设计得分公式时考虑的不是数学对称性,而是心理强化。消除一行是常规操作,一百分是象征性的奖励——告诉玩家“你做对了”,但不是令人兴奋的数字。消除两行需要一定的规划——玩家必须有意识地在井中留出一个两格深的空隙——三百分的奖励与规划的努力相匹配。消除三行需要更复杂的准备,五百分让玩家感到自己完成了一件不寻常的事情。消除四行——俄罗斯方块玩家后来称之为“Tetris”——需要精确的布局和I形在正确时机出现,八百分制造了一种强烈的快感:屏幕上的四行同时闪烁然后消失,上方的所有方块整齐下移,分数计数器跳升。
更重要的是屏幕清空本身。当一行被填满并消除时,它从屏幕上消失,上方的方块向下移动一行。这个视觉反馈是即时的、清晰的、不可逆的。玩家看到自己的行动产生了直接后果——混乱被消除,空间被释放,秩序被恢复。在游戏过程中,屏幕上的方块不断堆积,熵不断增加。消除一行是逆转熵增的瞬间——秩序从混沌中浮现。这个瞬间触发的多巴胺释放,在神经层面上与完成一个拼图、清理一个空间、解决一个问题完全相同。帕基特诺夫没有用神经科学的语言思考这个问题,但他知道消除行是“令人满足的”。他在调试过程中反复体验了这种满足感,并且有意识地把消除行的视觉反馈做得尽可能清晰——在Electronika 60的字符界面上,消除行不是简单地消失,而是先闪烁两次再消失,上方的方块分两步下移。这个两阶段的动画增加了零点三秒的持续时间,但大大增强了满足感的强度。闪烁是信号:“看,你做对了。”下移是结果:“秩序恢复了。”
即时反馈循环、不可逆的错误堆积、屏幕清空的快感——这三个机制加在一起,构成了一套完整的操作性条件反射。玩家放对一个方块,得到即时的正面反馈;放错一个方块,得到即时的负面反馈——错误留在原地,占据宝贵空间,制造空隙。错误不可撤销——没有“撤销上一步”的按钮,没有时间倒流。每一个错误都会堆积在之前的错误之上,直到堆积高度触顶,游戏结束。玩家在每一次放置中都能看到自己距离胜利或失败还有多远——屏幕上的堆积高度是一个直观的、不断更新的进度条。这套机制不是帕基特诺夫发明的。操作性条件反射的原理在二十世纪上半叶已经被斯金纳等行为主义心理学家完整描述。但帕基特诺夫是第一个把这些原理应用到下落型拼图游戏中的设计师——而且应用得如此精确,以至于在接下来的四十年里,几乎所有同类型游戏都沿用了相同的机制框架。即时反馈、不可逆错误、可视化的失败进度——这三条成为下落型益智游戏的标准配方。
现在我们必须回答一个更深入的问题:这些设计决策为什么发生在莫斯科计算中心,而不是硅谷、东京或伦敦?
1984年的西方游戏产业已经是一个成熟的商业生态系统。雅达利在1982年经历了著名的崩溃——ET外星人游戏的失败导致数百万张卡带被埋在新墨西哥州的垃圾填埋场——但任天堂的FC游戏机在1983年日本发售后正在重新点燃市场。动视、电子艺界、雪乐山等公司正在建立现代游戏发行体系。游戏设计师是一个正在形成的职业身份,有薪水、有预算、有截止日期、有市场部门的要求。如果帕基特诺夫在这个生态系统中工作,他会被要求写一份设计文档,包含目标市场分析、竞品分析、预计开发周期、预计销售数字。他的五格骨牌原型会被提交给内部审查委员会。委员会中的某人会指出五格骨牌太复杂——这是正确的观察——然后某人会建议三格骨牌:两种形状,容易理解,适合大众市场。这个建议在逻辑上合理,在商业上安全,在设计上灾难性。三格只有两种形状:直条和L形。两种形状无法产生有意义的排列变化,游戏会在五分钟内耗尽所有可能性。但没有人会为这个灾难性的后果负责,因为没有人能提前预见到它——预见到它需要实际编写程序、反复测试、亲身体验认知负荷的边界。而商业开发流程不允许设计师花三个星期做这种没有明确交付物的探索。
即使帕基特诺夫坚持四格方案,下一个障碍是焦点小组测试。1984年的焦点小组方法论还很粗糙,但基本流程已经确立:找来一群目标用户试玩原型,填写问卷,参加座谈会。四格七形的俄罗斯方块在焦点小组中会得到什么样的反馈?第一次接触的玩家会在前五分钟感到困惑——形状识别和旋转判断需要时间建立神经回路。困惑的玩家在问卷中给出中等偏下的评分。市场部门看到评分,要求设计师“简化”游戏。设计师增加教程、降低初始速度、添加提示箭头。这些修改各自看起来都合理,但累积起来会破坏心流曲线的精确平衡。最终上市的产品是一个被焦点小组磨平了棱角的俄罗斯方块——更容易上手,但失去了让帕基特诺夫一口气玩四十七分钟的魔力。
还有技术约束。宽容旋转碰撞检测需要额外的四十行代码和相应的处理器周期。在1984年的西方游戏开发中,程序员需要为每一个功能写理由。产品经理会问:“这个功能对销售数字有什么贡献?”程序员无法回答这个问题。他不能证明宽容旋转会让游戏卖得更好——没有数据支持这个判断。所以功能被砍掉。旋转被拒绝时什么也不发生——这是最简单的方案,也是最差的体验,但它在成本效益分析中胜出。
帕基特诺夫不需要面对这些。他没有设计文档,没有审查委员会,没有焦点小组,没有产品经理。他唯一的约束是Electronika 60的硬件性能和自己的审美判断。他在三个星期里反复测试、调整、再测试,把每一个参数推到他认为“对”的位置——不是市场认为对的位置,不是焦点小组认为对的位置,不是产品经理认为对的位置。这是苏联计划经济产权真空的一个意外后果。产权真空意味着没有人拥有俄罗斯方块——帕基特诺夫不拥有它,计算中心不拥有它,苏联国家不拥有它(在1984年,没有任何机构意识到它值得拥有)。这种无主状态制造了一种特殊的创作自由:作者不为任何人工作,所以他可以为作品本身工作。他不服务于市场,因为市场不存在;不服务于雇主,因为雇主不知道他在做什么;不服务于意识形态,因为俄罗斯方块的规则不携带任何意识形态标记——没有英雄,没有敌人,没有胜利条件,没有叙事,只有方块和井。
但产权真空也有另一面。帕基特诺夫完成程序后,把它拷贝到一张五英寸软盘上,放进办公桌抽屉。软盘没有加密——Electronika 60没有加密功能。软盘上的文件可以被任何有权限接触这台机器的人复制、修改、分发。权限的门槛很低:计算中心的研究员们共享终端和软盘驱动器,同事之间互相借用磁盘是日常工作流程的一部分。帕基特诺夫没有为俄罗斯方块的拷贝设定任何限制,因为他没有理由这样做。这不是一件产品,不产生收入,不包含商业机密。它是一个有趣的程序,同事们可能会喜欢玩。仅此而已。
在接下来的几个月里,这张软盘将被复制。帕基特诺夫自己会把拷贝送给几个亲近的同事,同事们会把拷贝送给他们的朋友,朋友们会把拷贝带到其他研究机构。从计算中心到莫斯科国立大学,从莫斯科到列宁格勒的约费物理技术研究所,从列宁格勒到基辅的控制论研究所,从基辅到新西伯利亚的计算机中心。每一张新软盘都是一次没有许可的复制,每一次复制都没有产生一分钱的收益,没有一个苏联机构站出来声称对这个程序拥有权利。这不是盗版。盗版的前提是存在正版——存在一个合法的、受法律保护的、产生经济价值的原始版本。1984年的苏联不存在这样的前提。版权法在苏联存在——苏联在1973年加入了世界版权公约——但它保护的是文学和艺术作品,不保护计算机程序。计算机程序在苏联法律中的地位是模糊的:它既不是传统的“作品”,也不是传统的“发明”。专利法同样不适用——苏联的专利制度是为工业发明设计的,需要正式的申请、审查和注册流程。没有人会为一个电子游戏申请专利,因为没有人认为电子游戏是值得申请专利的东西。
所以俄罗斯方块在诞生之初就处于一个法律上的无人区。它既不受版权保护,也不受专利保护。它的作者不拥有它,作者的雇主不拥有它,国家在技术上拥有一切但在实践中一无所知。它是真正的无主之作——一件被制造出来但不属于任何人的作品。这个状态在资本主义产权体系中是不可想象的。在西方,一件作品的诞生同时意味着产权的诞生:版权自动附着于作品,作者从创作完成的那一刻起就拥有版权,除非他签署了转让协议;公司雇佣的程序员写的代码属于公司——雇佣合同中的知识产权条款确保这一点。没有人可以合法地复制和分发一个商业软件而不支付许可费——如果这样做,他面对的是律师函和侵权诉讼。
苏联体系在理论上也有类似的产权安排。苏联科学院计算中心是一个国家机构,帕基特诺夫是国家的雇员,他在工作时间使用国家设备编写的程序在原则上属于国家。但在实践中,这个“属于国家”没有任何操作意义。国家没有一个部门负责管理计算机程序的版权许可,没有一个法律框架来定义和执行软件产权,国家甚至不知道这个程序存在。当产权在理论上存在但在实践中无法执行时,产权的实际效果等同于不存在。
这就是俄罗斯方块诞生的制度环境:一个理论上拥有一切、实践中一无所知的国家;一个没有商业压力、没有市场反馈、没有产权激励的研究机构;一个拥有时间、设备和默许的程序员;一个恰好落在人类认知舒适区边缘的设计方案。这四个条件缺一不可。如果帕基特诺夫在一家西方游戏公司工作,俄罗斯方块会被焦点小组和产品经理修改得面目全非。如果苏联有成熟的软件版权制度,俄罗斯方块的扩散会在第一步就被法律限制阻断。如果Electronika 60有更好的图形性能,帕基特诺夫可能会被视觉效果分心,而不是专注于核心机制的反复调试。如果五格骨牌不是苏联数学俱乐部的标准教具,帕基特诺夫可能永远不会想到把骨牌游戏搬上计算机屏幕。
所有这些“如果”指向同一个结论:俄罗斯方块的普遍可玩性不是文化偶然,而是一组精确设计决策的数学后果——但这些设计决策之所以能够发生,之所以能够以如此纯粹的形式发生,是因为一个特定的制度环境在特定的历史时刻提供了一个特定的创作真空。
这个真空即将被打破。1985年,俄罗斯方块的拷贝将抵达莫斯科的另一个研究机构——杜布纳联合核子研究所。在那里,一个访问学者的十六岁儿子将看到这个程序,并把它移植到IBM PC上。IBM PC版本的俄罗斯方块将比Electronika 60版本更易于传播——IBM兼容机在苏联虽然稀少,但在东欧社会主义国家正在逐渐普及。从IBM PC版本开始,俄罗斯方块将跨越苏联国界,进入匈牙利、捷克斯洛伐克、波兰。在布达佩斯,它将引起一个英国软件商的注意。
帕基特诺夫在1984年6月6日凌晨关掉终端时,对这些即将发生的事情一无所知。他把软盘放进抽屉,站起来,走到走廊尽头的茶水间,给自己倒了一杯已经凉了的红茶。计算中心第六层的走廊空无一人,荧光灯管每隔三秒发出一次微弱的嗡鸣。他端着茶回到办公桌前,坐下来,按下空格键。又一个倒T形从屏幕顶部开始下落。抽屉里的软盘在黑暗中等待。程序在产权真空中等待。它将在接下来的几个月里被一双手取出,复制到另一张软盘上,带出计算中心,开始它跨越国界的旅程。那双手是谁的——这个问题在后来的调查中被反复追问,答案始终无法完全确定。因为在1984年的莫斯科计算中心,没有人会为一张软盘的借出和归还做记录。软盘在同事之间流转,像图书馆里一本没有登记卡的书。谁借了,谁还了,谁又借给了谁——这些信息消失在日常工作的灰色地带里。
但有一件事是确定的。当那张软盘被第一次复制时,俄罗斯方块就不再属于帕基特诺夫了。它甚至不再属于计算中心。它开始属于每一个拿到拷贝的人,每一个在终端前坐下来、按下空格键、看着方块从屏幕顶部缓缓下落的人。它开始属于世界。而世界还不知道它即将得到什么。