旋转系统
旋转系统(Rotation System)规定方块旋转时的行为。
旋转系统会极大地影响操作的效率与手感。不同的游戏(系列)拥有不同的旋转系统,同一个游戏系列的游戏通常使用相同的旋转系统,其间可能会有改进和升级。
对于知名的旋转系统,历史上玩家社区使用首字母缩写代指,例如 SRS(Super Rotation System)、ARS(Arika Rotation System)等等。但这种缩写难以扩展且极易撞车,因此几乎也只有几种最常用的能形成共识。
广义的旋转系统也包括方块的配色、出块朝向与位置等信息,故有“ARS 配色”、“SRS 配色”这样的称呼。
旋转系统不仅适用于俄罗斯方块,噗哟噗哟等使用多连方块的下落式消除游戏也存在旋转系统。
旋转中心
一些旋转系统方块原地旋转时行为与几何上的旋转相同,也就是四次旋转时围绕一个固定的中心点,如 SRS,此时可称该中心点为旋转中心(Rotation Center)。
但也有很多旋转系统的四次旋转的中心并不一致(尤其是 I、S、Z 若只有两种状态,则不可能有一致的旋转中心),严格说此时不存在旋转中心,但有时某种视觉上的中心[注 1]也会被误称作旋转中心。
踢墙
方块尝试旋转时,若旋转的终点被原有的方块或场地边上的墙阻挡,系统会按照预设的规则对方块测试一系列位移,从而可能修正到其他位置。由于看上去像是方块旋转时撞墙从而被弹开,玩家社区俗称踢墙(Wallkick),简称踢。
早期的、最简单的旋转系统普遍只有原地旋转而没有踢墙。由于方块靠墙旋转时可能转不动从而影响游戏体验,一些开发者设计了踢墙。踢墙一词最初仅指代水平位移(下称狭义踢墙),后来被直接用来泛指旋转产生的所有方向位移。
部分较早期游戏的踢墙仅检测旋转后位置超出场地左右边缘,并相应地试图把方块拉回场地范围,如世嘉俄罗斯方块。更多游戏则会将已锁定方块的阻挡与墙的阻挡一并考虑。较新的游戏有更灵活复杂的踢墙机制。
踢墙表(kick table)是一种较常用来描述一次踢墙行为测试流程的数据结构:预先定义一串位移量 (Δx, Δy) 的序列,旋转时将旋转后的方块从基础位置逐个加上位移量去尝试,直到其中一个能放下,则旋转成功并使用此位置,否则整个序列尝试完都不行则旋转失败。
随旋转系统的设计不同,对于不同的方块、朝向、旋转方向都可能使用不同的踢墙表,一种实现方式是以多维表格形式记录每个方块、从每个朝向、往每种旋转方向使用的位移序列。部分旋转系统还会对特定的踢墙施加额外的限制、根据周边地形改变踢墙流程等。例如 ARS 为避免玩家滥用踢墙采取的“J、L、T 卡中”。
踢墙不仅使得方块旋转更加灵活,可以避免一些方块卡死的情况,还衍生出了踢墙 Spin 等进阶技巧,一些游戏还在对 Spin 消行计算奖励的判定流程中参考该方块锁定前经历的踢墙信息。
例一: T 块的踢墙
|
|
|
无踢墙:T 贴左侧墙旋转,一格与墙发生重叠,转不动,有一种“吃键”感觉。
|
|
需要先向右 1 格获得空位,然后转才能转得动。
|
|
|
有踢墙:T 贴墙旋转,如使用 SRS 踢墙规则,赋予 T (1,0) 的偏移值,旋转成功。
踢地
踢地(floor kick)则是方块旋转时应用了向上的偏移,因看上去像从地面上弹起得名,属于广义踢墙中的一类。
横 I 贴地旋转 |
目标位置被阻挡 |
应用 (0,2) 偏移,I 成功竖起 |
一些游戏中对踢地还有特别处理与限制,如 TGM3 中的 ARS 只允许 I、T 块踢地,仅在贴地情况下允许踢地,踢地会重置锁定延迟(狭义踢墙则不会重置),且每一块允许踢地次数有限制。
若使用 SRS,配合 无限重置,玩家甚至可在特定地形利用旋转的踢地将方块持续抬升十几格。
允许踢地的旋转系统若规则设计不当,游戏可能有允许玩家的方块在特定地形空中无限旋转踢地(不必沾地、不涉及锁定延迟重置),导致任意拖延的漏洞。
部分知名的旋转系统
如需查阅更多旋转系统,请前往分类:旋转系统。
注释
- ↑ 可能是该方块各状态总包围框的中心,或各状态重叠在一覆盖最多的交点,等等