包随机器

来自俄罗斯方块中文维基

包随机器Bag Randomizer[注 1],或 Random Generator ?[注 2])是一类生成方块序列的算法(即随机器)。这类随机器以「」(Bag)为核心,因此得名。标准的包随机器最早由 Blue Planet Software(代表俄罗斯方块公司官方)开发,是俄罗斯方块准则的一部分,是目前最广泛使用的随机器,被21世纪以来几乎所有准则游戏和大多数非官方游戏所采用。

在俄罗斯方块游戏中,四连方块共有七种。在标准的包随机器算法中,七个不同的方块组成一「包」(Bag),每次生成一包方块,随机洗牌打乱其顺序,然后将整包方块依次发送给玩家。每一包发完之后的方块序列同样是按包生成洗牌发出,如此重复。这样就保证了在每一局游戏中,每七块[注 3]一定是七种不同的方块各一个,避免玩家长时间无法得到想要的方块(「旱」,Drought)、连续得到相同方块(「涝」,Flood)。

随着方块游戏的发展,出现了多种衍生变种的包随机器。它们都遵循「按包生成和发出、包内随机打乱」的规则,但是包的内容和长度不同。于是为作区分,玩家社区以包的特征命名各种随机器:最早的标准包随机器是七块一包,因此被称为「7-Bag」;而其他变种包括「7*n-Bag」、「7+n-Bag」等。而「包随机器」这个名字就变为这一类随机器的统称,逐渐较少被玩家社区使用。本条目以下也将使用玩家社区公认的特征命名法。

在标准的 7-Bag 随机器的规则下,一包之内的七个方块共有 7! = 5040 种不同的排列顺序,并且这些顺序出现的概率相同。这也是各种定式和全消等项目计算成功率的基础。

命名

7-Bag 随机器的规律与过去的随机器完全不同,因此很早就被玩家发现和讨论。2006年,一名自称 BPS 员工在 Tetris Concept 论坛上回复玩家的讨论,确认了这个新随机器的存在。根据他的说法,7-Bag 随机器被命名为 Random Generator(随机生成器)。在2009年版的俄罗斯方块准则文档被泄露后,玩家们发现准则文档中随机器章节的标题为 Random Generation(随机生成)。

因此,7-Bag 随机器的官方命名存在两种可能:

  • 根据自称 BPS 员工的说法,Random Generator 作为专有名词,是该随机器的官方正式命名,首字母需要大写。
  • BPS 或 TTC 也完全有可能并未命名该随机器,准则文档中的 Random Generation 只是一个普通的章节标题。

不过,无论 Random Generator 是否确实是官方命名,这个名字都过于一般化、无法体现独特性,极易产生歧义。因此虽然早期的英文维基认可了这个名字,但现在的玩家在讨论时很少使用。

玩家社区将其重新命名为「包随机器」(Bag Randomizer),通过「包」的前缀突出其核心特点。如前所述,随着更多种包随机器的出现和发展,「包随机器」成为了统称,玩家社区又发展出了按包的特征来命名特定的包随机器的方法。

历史

前准则时代

参见:随机器

俄罗斯方块准则诞生以前,即使是官方俄罗斯方块游戏也采用各不相同的随机器算法。例如,1985年最早的俄罗斯方块采用完全随机[注 4];1988年的世嘉随机器也几乎是完全随机;1989年的任天堂随机器引入对历史序列和随机次数的考察,做了一定改进;1998年的 TGM 随机器在任天堂的基础上进一步做了利于玩家的优化。

诞生与发展

进入21世纪,俄罗斯方块版权的持有者俄罗斯方块公司通过实际开发游戏的关联公司 Blue Planet Software 提出了 7-Bag 随机器的算法,并将其写入俄罗斯方块准则

2001年的 Tetris Worlds 是第一款采用准则的官方俄罗斯方块游戏,自然也是 7-Bag 随机器的第一次应用。

自此之后,21世纪00年代以来所有的官方俄罗斯方块游戏都采用了 7-Bag 随机器,只有个别游戏、个别特殊模式根据具体情况存在例外。

同时,由于官方游戏对准则的统一遵守,受其影响,10年代以来的大多数非官方自制游戏也都采用了 7-Bag 随机器。也有一些更新的非官方游戏拥有更高的自由度、或尝试做出改变,允许玩家使用其他的随机器。

例外

这里列举个别例外的官方俄罗斯方块游戏。

探索过改变规则的官方游戏:

  • Tetris (WonderSwan Color)N-Blox 使用 8-Bag 随机器,即每包增加一个随机的方块参与打乱。
  • Tetris Online 在测试阶段也使用了 8-Bag 随机器。不过,由于测试反响不佳,游戏在正式发布时仍然使用标准的 7-Bag 随机器。

沿用或复刻早期规则的游戏、模式:

现状

7-Bag

如前所述,随着准则的规定,21世纪00年代以来几乎所有的官方俄罗斯方块游戏都采用了 7-Bag 随机器;由于官方游戏的影响,10年代以来的大多数非官方方块游戏也都采用了 7-Bag 随机器。因此,7-Bag 随机器是目前最广泛使用的随机器。

7-Bag 随机器几乎完全解决了旱、涝情况,极大程度地降低了玩家因为单纯块序不佳而导致堆叠崩溃甚至游戏结束的可能性。玩家可以更轻松地完成完整堆叠和消四,并进一步追求做出更复杂和出色的内容。

更进一步地,由于每包总能得到每种方块各一个的确定性,历代玩家逐渐开发出了大量的堆叠模式(Pattern)乃至定式(Template 与 Opener),使用相对固定乃至完全固定的方块摆放来达成特定效果。很多堆叠模式可以让玩家无限游玩下去,很多定式可以让玩家简单快速确定地打出高收益的 T 旋,更有很多定式可以让玩家不断循环做出全消。这些内容是现代俄罗斯方块玩家社区的珍贵成果和重要组成部分,而它们的搭建方法和成功率计算都基于 7-Bag 随机器规则,目前几乎没有其他随机器规则下的定式研究。

其他衍生

同样是因为确定性,也有一定数量的玩家认为 7-Bag 随机器让游戏变得简单或无聊,一些被研究出的固定最优解也确实一定程度破坏了一些游戏或模式的环境。因此,为了满足这些玩家的诉求、提升游戏的难度和随机性、探索更多可能性,很多非官方游戏也都提出了其他的包随机器。

如前所述,官方游戏在2002-2007年之间曾经进行过 8-Bag 的探索,但随着最后一次测试的反响不佳,没有了后续。而在非官方游戏中,早在 NullpoMino 就出现了长度为 1、2 或 9 的特殊包。

现在,常见的非 7-Bag 的包随机器包括但不限于以下几种:

  • 14-Bag、21-Bag 等:七种方块各两个或各三个,组成一包。
  • 7+1-Bag、7+2-Bag 等:除了七种方块各一个之外,再增加一个或两个随机的方块[注 5],组成一包。
    • 这种随机器有时也会被称为 8-Bag、9-Bag 等,玩家需要自己注意它们与 14-Bag、21-Bag 等的区别。
  • 7+X-Bag:TETR.IO 于2024年新推出的一种衍生随机器,目的是削弱开局定式。该随机器与 7-Bag 只有前四包不同:额外生成一包7个方块,按随机顺序与随机位置将这一包分散加入前四包正常 7-Bag 的方块中,前四包每包分别得到3、2、1、1块。四包(或者实际上是五包)以后,恢复正常的 7-Bag。

注意,这里列举的并非「其他的随机器」而是「其他的包随机器」。不按包生成、打乱、发送的随机器,例如考虑历史序列、会进行重抽的随机器等不在此列。请参阅随机器

注释

  1. 玩家社区出于习惯和方便起见的称呼,并非官方命名。
  2. 存在争议,见命名章节。
  3. 这里指从一局游戏第一块开始算起的每七块,即 7n+1 至 7(n+1) 块,而非任意截取的连续七块。
  4. 实质上是伪随机。
  5. 一般情况下增加的方块是完全随机的,因此 7+2-Bag 存在增加两个同种方块的可能性。


参见