はじめに
みんな大好き20TSD, 普通にLSTすれば21くらいまではワンチャンあるけどそれより上はどうすへばいいの?
そんなあなたにJstris! 僕と記録を競いませんか?
前提知識
テトリスの致死判定について
これは
- テトリミノの出現位置にすでにブロックが存在している
- 20段目より上にテトリミノを置く
の2通りがあります
テトリミノは画面外の 21, 22 段目に出現します この出現位置に既にブロックが存在していた場合, NEXTがそこに突き刺さって終わります
画面に映っている1番上の段が20段目です つまり画面外にテトリミノを設置してはいけません ただし, 18〜20段目に設置したミノが画面外にはみ出るのは問題ありません
出現位置と負け判定(旧) - テトリスのかけら - atwiki(アットウィキ)
この記事がわかりやすかったです
Jstris の仕様について
まず 20TSDモードについて
上記のものに加えて, TSD以外でライン消去を行った場合にも致死判定を受けます つまり, 連続で何回TSDを打てるのか競えるモードですね
ここまで聞くとどう頑張っても20+2,3回くらいが限界に思えます
実際, ぷよぷよテトリスにおいて最強のAIとの呼び声高い Cold Clear さんでも, 24回が限界なようです
[PPT AI] Cold Clear - 24 T-Spin Doubles - YouTube
人力で24回 (置きミスがなければ25回) を達成している方もいらっしゃいました すごすぎ
【ぷよぷよテトリス2】24TSDs 【20TSD】 - YouTube
しかし, Jstris の仕様を利用することでこの限界を突破できます
それが Line Clipping です!
Line Clipping in Jstris 20 TSD - YouTube
この動画を見ると, 明らかにおかしな点があると思います 既にブロックが存在している場所にミノを置いているように見えますよね
Jstris では, 設置したミノの画面外にはみ出した部分が消える というすごい仕様があるため, このようなことが可能になっています
初めて気づいたときにはバグかと思ったのですが, REN の弱体化のための仕様なのではないか という話もありました
正確には, 22段目以上の部分は消える 21段目の部分はそのまま残るが, 同じ位置に別のブロックを重ねることが出来る
っぽいです 厳密な仕様は知りませんが, いろいろ試した感じ多分これで合っていると思います
やり方
方針
とにかくたくさんミノを消したい, できるだけTspinをする場所に積み上げたくない
ということで, ドネイトをします
開幕TSDをしたときの2巡目でたまにやるかっこいいドネイトですが, これは乗っけた分を全部消してるので積み上がりません
このドネイトを無限に行うことで, 高さを稼いでいきます すると余るミノが大量に出てくるので, これを 右三列に積み上げ, Line Clipping で消していくわけです
ドネイトに使わないミノはすべて右三列に積まないといけないので普通に難しいですが, これは慣れるしかないです
ネクストをよく見てドネイトの先読みもして何とかします
何回かこれを挟んで, 限界になったら右の更に 1, 2 列を埋めて普通の LST をする というようなことをすると 30TSD ほど出すことができます
【Jstris】29 TSDs【20TSD】 - YouTube
Line Clipping でミノを消す必要がありますが, 21 段目のブロックは消えずに残ってしまうので, 画面外がどうなっているのか を把握しながら消していく必要があります (特に SZ)
ここからさらに回数を増やすためには, Oミノと Iミノが邪魔になってきます
Oミノが邪魔な理由は, 21 段目は消えないということは高さ 2 しかない Oミノは消すことが不可能 (重ねるのはできるが) なので, どう頑張っても右三列だけでは処理しきれなくなるため, Iミノが邪魔な理由は, どう回転しても右三列に乗らないためです
そこで, Oミノ専用の置き場所を作ることを考えました
このように, 限界がきたらミノをひっかけて2列左に伸ばします
このとき, 右三列は 21段目を埋め, 伸ばした二列は開けるようにします
すると, 次に TSD を打つと二列下がって図のようになります
右三列は Line Clipping をして, Oミノは空いたところに置きます
するとまた先ほどの状況に戻りますね
伸ばした部分が一番下に来るまでこれを繰り返します
この方法の利点は, Oミノの部分は 21段目が開いているので Iミノの致死判定を回避できることです
また, Oミノを置いた後でもどのミノも180°回転を駆使することで右側に持っていくことができます (Zミノの回転法則わかってないですが, なんか越える)
一番下まで来たら, うまく隙間を埋めてあとは LST を頑張ります
こうすると, 50 TSD くらい出すことができます
【WR】52 TSDs in 6:50.853 【Jstris】 - YouTube
おわりに
暇だったので書きました 暇な人は挑戦してみてください
上手くいった とか もっといい方法見つけた とか ここ教えてほしい とかあったら教えてもらえると嬉しいです
意識してることとかは暇なときに追記するかもしれません