
本文来自微信公众号: 宇众不同的露萱 ,作者:宇众不同的露萱
搬家的时候,发现一台老旧的 Game Boy,屏幕已经老化发黄,电池仓里还有腐蚀过的痕迹。把卡带插进去,开机,熟悉的音乐一响,我本来只是想测试一下屏幕按键坏没坏,结果不知不觉坐在桌前打了两个小时。
后来我和做游戏程序的朋友聊过这个事。
大家第一反应都是去分析它的心理学机制:什么 " 蔡格尼克效应 "(Zeigarnik effect,指人对未完成任务的执念)、什么 " 即时反馈循环 "。
这些解释听起来都很高级,但我一直觉得它们没有切中要害。
如果只是需要 " 消除的快感 " 或者 " 即时反馈 ",游戏史上诞生过成千上万个消除类游戏,为什么绝大多数都在三五年内被彻底遗忘,只有《俄罗斯方块》能跨越四十年、跨越硬件架构的多次巨变,在从苏制计算机到手机网页的每一个平台上都活得好好的?
真正的秘密,其实藏在它最基础的技术限制和数学结构里。
1984 年,苏联科学院计算中心(CC AS)的阿列克谢 · 帕基特诺夫(Alexey Pajitnov)在电子 -60(Electronika 60)计算机上写出了这个游戏的最早版本。
那台机器的性能非常匮乏。没有图形显卡,没有位图渲染,屏幕上只能显示纯文本字符。
帕基特诺夫一开始想做的是一个拼图游戏。但在没有图形界面、只能用字符拼凑图像的设备上,复杂度高的图形根本渲染不出来。他必须把图形精简到极致。
数学上有一个概念叫 Polyomino(多格骨牌)。如果你用 1 个正方形,只能拼出 1 种形状;用 2 个正方形,也只有 1 种(1x2);用 3 个正方形,有 2 种(I 型和 L 型)。
到了 4 个正方形(Tetramino),事情发生了微妙的变化。
4 个正方形在二维平面上旋转、翻转后,恰好能组成 7 种基础形状(即著名的 I、J、L、O、S、T、Z)。
帕基特诺夫当时做了一个非常关键的决定:停止增加块的数量,就用 4 个。
如果我们用工程师的眼光去审视这 "7 种形状 ",会发现一个极度优雅的数学平衡:
如果选择 3 个正方形(Triomino),形状只有 2 种,组合过于简单,玩家两分钟就会厌倦。如果选择 5 个正方形(Pentomino),形状会剧增到 12 种(如果算上镜像和旋转会更多)。在有限的屏幕空间里,这会导致乱码堆叠的速度远快于人类大脑的决策速度,游戏会变得不可玩。
4 个正方形构成的 7 种形状,恰好处于 " 人类短时记忆容量 " 与 " 状态空间爆发 " 的黄金交界点。
认知心理学上有一个著名的 " 神奇数字 7 ± 2" 理论(George A.Miller,1956 年提出),指人类工作记忆一次能处理的抽象符号大约就是 7 个左右。
这并不是帕基特诺夫故意设计出来的心理学陷阱。这是他在极其严苛的硬件限制下,被迫逼近数学最优解时,撞大运撞上的 " 宇宙常数 "。
但光有 7 种形状还不够。真正让这个游戏拥有无限生命力的,是它的 " 信息供给机制 "。
很多后来模仿它的游戏,败就败在对 " 随机性 " 的理解上。
最早期版本的《俄罗斯方块》,伪随机数生成器(RNG)是完全自由的。这意味着系统可能连续给你掉落 4 个 Z 字形方块。
在《俄罗斯方块》的拓扑结构里,Z 型和 S 型被称为 " 不对称毒药 "。如果连续出现三个 Z 型,在数学上就会创造出无法无缝填充的死角。
早期的硬核玩家很快发现了这一点。如果完全依赖纯随机,游戏在某些时刻不是考验技术,而是直接从数学上判了玩家死刑。
于是在后面的标准化制定中(特别是微软和任天堂参与的版本),官方引入了著名的 7-Bag 随机抽牌机制:
系统把 7 种形状看作一副扑克牌,装进一个袋子里。每次抽取 1 个,直到 7 个全部抽完,再把 7 种全新的形状重新装袋、洗牌。
这个极其轻量的规则改动,在工程上解决了两个核心问题:
这让《俄罗斯方块》从一个 " 靠运气苟活的赌博机 ",变成了一个 " 在确定性风险中寻找最优解的信息论游戏 "。
它给玩家的不是盲目的刺激,而是一种信息熵由无序变为有序的绝对掌控感。
我曾经在一篇探讨现代游戏引擎的论文里看到过一个很有意思的观点:
现代大部分游戏,本质上都在做 " 减法 "。它们用几千人团队制作的几百 G 资源,试图去模拟一个极其复杂的真实世界,但因为算力和代码复杂度的限制,最终给玩家呈现的体验,依然充满了边界墙、空气墙和僵硬的 NPC 交互。
而《俄罗斯方块》是在做 " 加法 "。
它的初始状态是一个完全干净的二维矩阵(通常是 10x20)。代码量极小,占用内存不过几 KB,逻辑简单到可以在任何微控制器上运行。
但它的信息状态空间是无穷无尽的。
它没有设定任何 " 胜利条件 "。你不可能 " 通关 " 俄罗斯方块,系统唯一的目的就是用越来越快的速度把你压垮。
你永远在为自己上一秒留下的失误买单,但也永远可以在下一秒完成一次漂亮的拯救。
从软件工程的角度看,它是极少数 " 机制完备度 " 达到了 100% 的系统——你删掉任何一个规则(比如消行、预判、下落加速),这个系统就会崩溃;但你再往里面添加任何花里胡哨的复杂规则(比如技能、装备、复杂的剧情),都是对它原本数学美感的一种破坏。
这解释了为什么即便到了今天,虚幻引擎 5 充斥着光线追踪和几百万面高模,人们依然会在手持设备、网页端甚至终端命令行里跑起《俄罗斯方块》。
因为它不依赖任何特定的硬件媒介。它不是一个时代的技术产物,它是一个被发现的数学结构。
如果把软件开发里各种花哨的技术框架剥离掉,很多时候我们会发现,能够跨越周期的东西,往往不是那些集成了最多功能的 " 大而全 " 系统,而是那些在极度受限的环境里,被倒逼出来的、结构极简的 " 基础契约 "。
代码会过时,显卡架构会演进,操作系统会被淘汰,但这种符合某种底层数学规律的逻辑,一旦被创造出来,就几乎是永恒的。


登录后才可以发布评论哦
打开小程序可以发布评论哦