随机器
在俄罗斯方块语境中,随机器(Randomizer)是「随机(方块)生成器」(Random (Tetrimino) Generator)一词的简称,特指在游戏中生成方块序列的算法[注 1]。
俄罗斯方块游戏的历史悠久、数量繁多,不同游戏使用的随机器各不相同。最早的游戏使用完全的随机,之后逐渐改进和完善。历代方块游戏开发者改进随机器的主要目的是避免玩家长时间无法得到想要的方块(「旱」,Drought)、连续得到相同方块(「涝」,Flood),以提高玩家的游戏体验。
在各类随机器发展近20年后,随着俄罗斯方块准则的出现,官方游戏开始统一固定使用将七种方块各取其一「打包生成」的 包随机器,持续已超过20年。受其影响,大多数非官方游戏也采用这一随机器。但是,仍然有很多非官方游戏在探索和发明新的随机器,或者允许玩家从不同随机器中自行选择。
分类
按算法方向划分,方块游戏使用的随机器大致可以分为完全随机、考虑历史的随机、包随机。此外还有一些不在以上三种基本分类以外的随机器(如 Cultris II 使用的动态权重随机器)。现代方块大多采用包随机(尤其是准则规定的 7-Bag 随机器)或以包随机为基础的随机器。
完全随机
以俄罗斯方块的发明者阿列克谢·帕基特诺夫于1985年开发的历史上第一部俄罗斯方块为代表,最早一代的俄罗斯方块游戏多采用完全随机。理论上,使用完全随机的游戏在每一次出块时,每种方块都有 1/7 的概率被选中。
然而,这些随机算法在事实上是伪随机的。在某些情况下,使用「种子」(Seed)的伪随机算法会被玩家破解,例如世嘉随机器著名的 Power-on Pattern[注 2]。
世嘉随机器的伪随机并未解决影响游戏体验的旱涝情况。因此后来的方块几乎不再采用完全随机和伪随机。一些简单的俄罗斯方块程序(往往是编程练习)会采用完全随机。部分游戏会在少数模式采用完全随机,提升游戏难度(比如 TETR.IO 快速游戏的逆位无暂存模组)。
考虑历史
考虑历史的随机器(History Randomizer)是俄罗斯方块诞生数年之后,较早的游戏为改善旱涝情况而提出的算法。
这类随机器涉及两个关键概念:
每当要决定一个新的方块时,随机器会考虑一定长度的历史块序,然后随机选取某种方块;若得到不同方块就确定为输出,若重复就再次随机;但随机次数存在最大值,若前几次全部重复,则最后一次无论是否重复都确定为输出。
这两个概念通常用首字母简称为 H & R,结合参数作为玩家社区对特定随机器的特征命名,如「1H2R」、「4H6R」等。
最早的 H & R 随机器是任天堂随机器,首次出现于 俄罗斯方块 (任天堂, NES) 和 俄罗斯方块 (Game Boy)。H & R 随机器略微改善了涝的情况,但旱仍然较为显著。之后的 TGM 随机器在此基础上进一步优化,随着参数不断提高,涝、旱的情况都很大程度得到改善。
包随机
- 主条目:包随机器
包随机器(Bag Randomizer)是进入21世纪后出现的新算法,最早由与俄罗斯方块公司关系密切的蓝色星球软件提出。
这类随机器以「包」(Bag)为核心,因此得名。其基本思路是,公平地选取一定数量的方块组成一「包」,每次生成一包方块,随机洗牌打乱其顺序,然后将整包方块依次发送给玩家。每一包发完之后的方块序列同样是按包生成洗牌发出,如此重复。
最早且最通用的标准版本是 7-Bag,一包由所有七个四连方块组成。这个版本也被写入俄罗斯方块准则,此后几乎所有的官方游戏都采用 7-Bag 随机器。2010 年代以来,随着玩家社区逐渐理解准则的具体内容,大多数非官方游戏也采用 7-Bag 随机器。
7-Bag 外,也存在其他的将方块「打包」的方式。比如一包中每种方块出现复数次的「7*n-Bag」、在一包七个方块上,再随机加入若干个方块的「7+n-Bag」等。
比较典型的实例有:
- TOJ 早期使用「8-Bag」,在 7-Bag 的基础上,每包加入一块。但当时这一随机器被玩家诟病,官方最终采用一开始的 7-Bag。
- TGM3 出于对准则的妥协,将包随机器与 H & R 随机器的理念结合,使用以「方块池」为基本算法的随机器。
- TETR.IO 中出现的「7+X-Bag」前四包各加入 3、2、1、1 块,加入的七块可额外组成七种方块不重复的一包。
包随机器完全解决了旱、涝情况:以 7-Bag 随机器为例,同种方块每包只会出现一次,期待的方块出现间隔最大仅为12。历代玩家以 7-Bag 为基础,开发出了大量的堆叠模式(Pattern)乃至定式(Template 与 Opener),使用相对固定乃至完全固定的方块摆放来达成特定效果。这些内容是现代俄罗斯方块玩家社区的珍贵成果和重要组成部分,而它们的搭建方法和成功率计算都基于 7-Bag 随机器规则,目前几乎没有其他随机器规则下的定式研究。
不过,也有一些玩家和开发者批评 7-Bag 过度的确定性。开发者们同时也在探索其他的包随机器与其他的随机器,意在增加方块游戏不确定的乐趣。
其他
除了以上几类主要的随机器(以及它们的衍生、结合版本)外,也有个别游戏采用独特的随机器。
Cultris II 的随机器采用动态权重系统:
- 每局游戏开始时,七种方块的权重都是 0。
- 每当要决定一个新的方块时,七种方块的权重都先减半、再各自增加 [0,1] 范围内的随机数值。
- 然后,随机器选取当前权重最大的方块,并在之后将其权重除以 3.5。然后重复上述步骤。
实践表明,C2 随机器拥有很大的不确定性。它一定程度防止了涝,但旱的情况相当严重,玩家难以预测将会得到的方块。这种不确定性迫使玩家经常需要妥协连击,使高阶连击变得更困难、更有价值。在准则时代,这样重新引入的不确定性被部分爱好者所推崇,玩家认为 C2 的连击策略有很大的深度。
也有一些随机器会故意去除一种或多种方块,以增加(或降低)游戏难度(比如 Techmino 的干旱模式,采用没有 I 的「6-Bag」随机器,以及屁块 Heaven 模式,随机器中犹且只有 I 方块),或是故意给出不适合当前地形的块序,加大玩家堆叠、消行的难度。
注释
外链
- The history of Tetris randomizers Simonlc 有关随机器的文章
参见
| 游戏机制 | |
|---|---|
| 核心机制 | 方块 · 场地 · 移动 · 旋转 · 降落 · 消行 · 得分 · 游戏结束 |
| 主要机制 | |
| 预设系统 | |
| 特定机制 | 180° 旋转 · 镜像 · 全旋 · 实心行 · 炸弹方块 · 黏着重力 · 递归重力 · 取消延迟 · 铁门 · Zone · 深降 · 半全消(颜色消除)· O 旋 |
