初めに
皆さんはテトリスというゲームを御存じだろうか。ほとんどの人が知っていると思うが一応説明しておくと7種類あるブロックを積み上げるゲームだ。その際、横一列が埋まればその一列のブロックは消え、その上のブロックは落ちるという単純なものだが実はいろいろなルールがある。文化祭で展示するために似たような落ちものパズルゲームを作っていたところルールの多さに驚いたので紹介しようと思う。ちなみにテトリス®はThe Tetris Companyが保有する登録商標であり、この記事は非営利目的である。
基本
基本のルールは下の画像の真ん中の10×20のマスの中にブロックを積み上げるだけだ。 右側に表示されているのは次に来るミノで上に表示されているものから順番に来る。 左側に表示されているのはホールドで、後で説明する。

ちなみにミノの種類は以下の7種類で右から順番に似た形のアルファベットからOミノ、Iミノ、Tミノ、Lミノ、Jミノ、Sミノ、Zミノと呼ばれる。

操作
左右移動、左右回転、ハード/ソフトドロップ、ホールドなどが各コントローラーに割り当てられている。 ゲームコントローラーやキーボードだけでなくガラケーやテレビのリモコンなどにも割り当てがあるらしい。
左右移動
ボタンを押したら1ブロック移動
ドロップ(下移動)
ソフトドロップとハードドロップの二種類があります。ソフトドロップは素早く下に一マスいどう、ハードドロップは一気に一番下まで落とす
ホールド
先ほど少し話したミノをストックしておく機能。連続で使うことはできない。
SRS(スーパーローテーションシステム)
回転したとき、壁や他のブロックに当たったら少し位置をずらして回転を成功させるシステム。例えば、壁にぴったり張り付いているときに回転しようとすると昔のテトリスでは回転できなくなることがあった。しかしSRSがあれば横にずれて回転成功になる。
Tスピン
SRSを利用したテクニック。Tミノを特殊な回転ではめることで発動する。普通に消すより高得点で強い攻撃になるので対戦テトリスでは重要なテクニックになっている。
7-BAGシステム
昔のテトリスではIミノが全然来ない!みたいなことがあったらしい。そこで導入されたのがこの7-BAGシステムだ。7種類のブロックを袋に詰めてシャッフルし、1つずつ出していくというルール。つまり少なくとも13回落とせばもう一度同じミノが来る。これにより不公平感が大きく減った。ちなみに同じミノが同時に表示されていたら、その間に二つのバッグの切れ目があるということだ。
ロックディレイ
ブロックが下に落ちた時、すぐに固定されるわけではなく、僅かな猶予がある。この間に左右移動したり回転すれば固定されるのを遅らせることができる。
DASとRSS
DAS(Delayed Auto Shift)
キーを押してから連続で動き出すまでの待ち時間
APR(Auto Repeat Rate)
押しっぱなしの時の移動速度
これらは見えない部分だがテトリスの操作感を左右するため競技プレイヤーには重要な知識。
コンボ
連続でラインを消すと「コンボ」としてボーナスが入り、攻撃力もアップする。
パーフェクト
フィールドを一掃して一マスも残さずに消すと「パーフェクト」となる。難しいが、決まれば高得点。
終わりに
テトリスに似た落ちものパズルを作ることを決めた理由は「簡単そうだから」であった。しかし、調べていくうちにここで紹介したようなルールを知って、すべて実装するのは最初に思っていたよりも大変だった。さらに大変だったのはデバッグだ。テトリスをあまりやったことがなく、下手だったのでこれらを実装できているか調べるのには苦労した。テトリスは奥が深い。
参考
参考にしたテトリスガイドランのファイル。英語で書いてあるので英語苦手な方は注意
- Dropbox - tetris guideline docs 2009.zip - Simplify your life
https://www.dropbox.com/scl/fi/9rmpisk25nurrxfwqtduc/tetris-guideline-docs-2009.zip?rlkey=c8e6hsdev1acriggzyp9y932p
SRSについてわかりやすく解説してくれているサイト
- Tetrisちゃんねる
https://tetrisch.github.io/main/srs.html