Difference between revisions of "Playing forever"

From TetrisWiki
Jump to navigation Jump to search
*>Colour thief
m (Reverted edits by 666 (talk) to last revision by Simonlc)
Tag: Rollback
 
(26 intermediate revisions by 10 users not shown)
Line 1: Line 1:
[[Image:Playing forever like CT.gif|right|frame|A 140-tetromino run of this strategy.]]
[[Image:Playing forever like CT.gif|right|frame|A 140-tetromino run of this strategy.]]
The following outlines a method of playing forever given the following conditions, which apply in many [[Tetris Guideline|''Tetris'' products since 2001]]:
The following outlines a method of playing forever given the following conditions, which apply in many [[Tetris Guideline|''Tetris'' products since 2001]]:
*the [[Random Generator]] is used to generate piece sequences
*the [[Random Generator]] is used to generate piece sequences
*the game has the [[Hold]] feature
*the game has the [[Hold]] feature
*at least 4 [[piece preview]]s are available
*at least 3 [[piece preview]]s are available


== Standard procedure ==
== Standard procedure ==
[[Image:Polyomino.net Playing forever.png|right|frame|The 10x56 cell tiling that this method creates]]
The general method is achieved by dividing the screen into self contained sections as shown below. Specifically, the 4 left columns, the 4 right columns, and the 2 middle columns will be treated as distinct regions, with specific pieces assigned exclusively to each region. Because the random generator provides strings of bags containing each of the 7 pieces in a random order, it is possible to construct a strategy around the relatively small variation, with looping patterns.
The general method is achieved by dividing the screen into self contained sections as shown below. Specifically, the 4 left columns, the 4 right columns, and the 2 middle columns will be treated as distinct regions, with specific pieces assigned exclusively to each region. Because the random generator provides strings of bags containing each of the 7 pieces in a random order, it is possible to construct a strategy around the relatively small variation, with looping patterns.


S, T, and Z will be placed to the left, L, J, and O will be placed to the right, and I pieces will fill the middle.
S, T, and Z will be placed to the left, L, J, and O will be placed to the right, and I pieces will fill the middle.


{{pfstart}}
<playfield>
{{pfrow| |Z| | | |I| | | | }}
Z   I  
{{pfrow|Z|Z|S| | |I|L|O|O|J}}
ZZS  ILOOJ
{{pfrow|Z|T|S|S| |I|L|O|O|J}}
ZTSS ILOOJ
{{pfrow|T|T|T|S| |I|L|L|J|J}}
TTTS ILLJJ
{{pfend}}
</playfield>


=== The S, T, and Z piece loop ===
=== The S, T, and Z piece loop ===
{| style="float:left"
{| style="float:left"
|{{pfstart}}
|<playfield>
{{pfrow|S|T|T|T| | | | | | }}
STTT     
{{pfrow|S|S|T|Z| | | | | | }}
SSTZ     
{{pfrow|S|S|Z|Z| | | | | | }}
SSZZ     
{{pfrow|S|S|Z|Z| | | | | | }}
SSZZ     
{{pfrow|T|S|Z|Z| | | | | | }}
TSZZ     
{{pfrow|T|T|Z|T| | | | | | }}
TTZT     
{{pfrow|T|Z|T|T| | | | | | }}
TZTT     
{{pfrow|Z|Z|S|T| | | | | | }}
ZZST     
{{pfrow|Z|Z|S|S| | | | | | }}
ZZSS     
{{pfrow|Z|Z|S|S| | | | | | }}
ZZSS     
{{pfrow|Z|T|S|S| | | | | | }}
ZTSS     
{{pfrow|T|T|T|S| | | | | | }}
TTTS     
{{pfend}}
</playfield>
|}
|}
This pattern loops after 4 bags of pieces. Depending on the order of the pieces for each bag, you may need to use [[Hold]] to force a piece to come last. Piece previews are technically not required to play this pattern.
This pattern loops after 4 bags of pieces. Depending on the order of the pieces for each bag, you may need to use [[Hold]] to force a piece to come last. Piece previews are technically not required to play this pattern.
Line 39: Line 41:


The Z piece must drop after T, so use Hold to change the order if necessary:
The Z piece must drop after T, so use Hold to change the order if necessary:
{{pfstart}}
<playfield>
{{pfrow| |Z| | | | | | | | }}
Z      
{{pfrow|Z|Z|S| | | | | | | }}
ZZS     
{{pfrow|Z|T|S|S| | | | | | }}
ZTSS     
{{pfrow|T|T|T|S| | | | | | }}
TTTS     
{{pfrow|G|G|G|G| | | | | | }}
GGGG     
{{pfend}}
</playfield>


The T piece must not drop first, so use Hold to change the order if necessary:
The T piece must not drop first, so use Hold to change the order if necessary:
{|
{|
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | |T| | | | | | }}
  T    
{{pfrow| |Z|T|T| | | | | | }}
ZTT     
{{pfrow|Z|Z|S|T| | | | | | }}
ZZST     
{{pfrow|Z|G|S|S| | | | | | }}
ZGSS     
{{pfrow|G|G|G|S| | | | | | }}
GGGS     
{{pfend}}
</playfield>
Option 1
Option 1
|{{pfstart}}
|<playfield>
{{pfrow|T| | | | | | | | | }}
T        
{{pfrow|T|T| | | | | | | | }}
TT       
{{pfrow|T|Z| | | | | | | | }}
TZ       
{{pfrow|Z|Z|S| | | | | | | }}
ZZS     
{{pfrow|Z|G|S|S| | | | | | }}
ZGSS     
{{pfrow|G|G|G|S| | | | | | }}
GGGS     
{{pfend}}
</playfield>
Option 2
Option 2
|}
|}
Line 71: Line 73:
The T piece must land diagonally adjacent to the other T, so use Hold to change the order if necessary:
The T piece must land diagonally adjacent to the other T, so use Hold to change the order if necessary:
{|
{|
|{{pfstart}}
|<playfield>
{{pfrow|S| | | | | | | | | }}
S        
{{pfrow|S|S| |Z| | | | | | }}
SS Z    
{{pfrow|T|S|Z|Z| | | | | | }}
TSZZ     
{{pfrow|T|T|Z|G| | | | | | }}
TTZG     
{{pfrow|T|G|G|G| | | | | | }}
TGGG     
{{pfrow|G|G|G|G| | | | | | }}
GGGG     
{{pfend}}
</playfield>
Option 1 (needs<br>
Option 1 (needs<br>
T before S)
T before S)
|{{pfstart}}
|<playfield>
{{pfrow|S| | | | | | | | | }}
S        
{{pfrow|S|S| |Z| | | | | | }}
SS Z    
{{pfrow|G|S|Z|Z| | | | | | }}
GSZZ     
{{pfrow|G|G|Z|T| | | | | | }}
GGZT     
{{pfrow|G|G|T|T| | | | | | }}
GGTT     
{{pfrow|G|G|G|T| | | | | | }}
GGGT     
{{pfend}}
</playfield>
Option 2 (needs<br>
Option 2 (needs<br>
T before Z)
T before Z)
Line 94: Line 96:


The T piece must drop last, so use Hold to change the order if necessary:
The T piece must drop last, so use Hold to change the order if necessary:
{{pfstart}}
<playfield>
{{pfrow| | | | | | | | | | }}
         
{{pfrow|S|T|T|T| | | | | | }}
STTT     
{{pfrow|S|S|T|Z| | | | | | }}
SSTZ     
{{pfrow|G|S|Z|Z| | | | | | }}
GSZZ     
{{pfrow|G|G|Z|G| | | | | | }}
GGZG     
{{pfend}}
</playfield>


=== The L, J, and O piece loop ===
=== The L, J, and O piece loop ===
This pattern loops after a single bag of pieces. Depending on the order of the pieces, you will need to use a different construction. If this STZ pile needs the first tetromino of the bag to be held, four previews are required to play this pattern, because in the worst case scenario TLZSIxy, you will need to see four pieces ahead (with L as the active tetromino, you need to see x) in order to determine whether the O piece is coming last. Otherwise, the first L or J tetromino can be held and put into place once its mirror or the O shows up in the preview.
This pattern loops after a single bag of pieces. Depending on the order of the pieces, you will need to use a different construction. At least 5 previews are required to choose the appropriate construction. Alternatively, it is possible to use 3 previews and clever use of Hold (that does not conflict with the STZ loop's Hold needs) to choose an approriate construction using some advanced techniques.


O first (OJL, OLJ):
O first (OJL, OLJ):
{{pfstart}}
<playfield>
{{pfrow| | | | | | |J|J|L|L}}
      JJLL
{{pfrow| | | | | | |J|O|O|L}}
      JOOL
{{pfrow| | | | | | |J|O|O|L}}
      JOOL
{{pfend}}
</playfield>
O last (JLO, LJO):
O last (JLO, LJO):
{{pfstart}}
<playfield>
{{pfrow| | | | | | |L|O|O|J}}
      LOOJ
{{pfrow| | | | | | |L|O|O|J}}
      LOOJ
{{pfrow| | | | | | |L|L|J|J}}
      LLJJ
{{pfend}}
</playfield>
JOL: (mirror for LOJ)
JOL: (mirror for LOJ)
{|
{|
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | |J|J| | }}
      JJ 
{{pfrow| | | | | | |J| | | }}
      J  
{{pfrow| | | | | | |J| | | }}
      J  
{{pfend}}
</playfield>
Drop J
Drop J
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | |J|J| | }}
      JJ 
{{pfrow| | | | | | |J| |O|O}}
      J OO
{{pfrow| | | | | | |J| |O|O}}
      J OO
{{pfend}}
</playfield>
Soft-drop O
Soft-drop O
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | |J|J| | }}
      JJ 
{{pfrow| | | | | | |J|O|O| }}
      JOO
{{pfrow| | | | | | |J|O|O| }}
      JOO
{{pfend}}
</playfield>
Slide O
Slide O
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | |J|J|L|L}}
      JJLL
{{pfrow| | | | | | |J|O|O|L}}
      JOOL
{{pfrow| | | | | | |J|O|O|L}}
      JOOL
{{pfend}}
</playfield>
Drop L
Drop L
|}
|}
Alternate method for JOL:
 
{|
==== Advanced techniques for when only 3 previews are available ====
|{{pfstart}}
Worst case bag distributions such as H?XX?X? and H?XXX?? deserve a special mention. The first piece 'H' denotes a piece which must be placed in Hold in order to follow the STZ loop procedure. Pieces from the LJO loop are denoted by '?', and the remaining pieces are denoted by 'X'. Using 3 previews and Hold, it is only possible to see the first 4 pieces of the bag before the second piece enters the screen. This means you only see H?XX, and only know the first piece of the LJO loop. Because H must be put in Hold, you are forced to make a decision without knowing the order of the rest of the LJO loop. If the O comes first, you can follow the procedure above without problems. The rest of the time you will run into complications like this:
{{pfrow| | | | | | | | | |J}}
 
{{pfrow| | | | | | | | | |J}}
Impossible O placement (eg. HLXXJXO, HLXXXJO):
{{pfrow| | | | | | | | |J|J}}
<playfield>
{{pfend}}
      JJLL
Drop J
      J L
|{{pfstart}}
      J L
{{pfrow| | | | | | | |O|O|J}}
</playfield>
{{pfrow| | | | | | | |O|O|J}}
Impossible J placement (eg. HLXXOXJ, HLXXXOJ):
{{pfrow| | | | | | | | |J|J}}
<playfield>
{{pfend}}
      LOO
Drop O
      LOO
|{{pfstart}}
      LL 
{{pfrow| | | | | |L| |O|O|J}}
</playfield>
{{pfrow| | | | | |L| |O|O|J}}
 
{{pfrow| | | | | |L|L| |J|J}}
When L or J come first it is impossible to determine which LJO pattern to use without knowing the order of the final 2 pieces. The solution to this problem is to wait until the first L or J piece enters the screen before making a decision. With the held piece, active piece, and 3 previews, you now see 5 pieces into the bag. This allows you to tell the LJO piece order for the case of H?XX?X?. However, in the case of H?XXX?? the order remains unknown. With this final worst case, the STZ loop is guaranteed to be finished before the second and third pieces of the LJO loop are dealt. This means Hold is available! You can start building whichever pattern you prefer, and use Hold to change the order of the final 2 pieces as necessary.
{{pfend}}
 
Soft-drop L
==== Tricky starts when only 3 previews are available ====
|{{pfstart}}
 
{{pfrow| | | | | | |L|O|O|J}}
There is a worst case start that only complicates the very first bag when playing forever. With a sequence such as ?HXX?X? you can see a maximum of 4 pieces into the bag as you place the first piece. It is impossible to Hold the first piece (part of LJO) because the second piece (part of SZT) must be held. Additionally, because the second last piece is also part of the STZ loop, Hold cannot be used to change the order of the the final 2 LJO pieces as discussed above. So a decision must be made with only the first 4 pieces of the bag known. In this case, the solution is to note that the STZ pattern in the previous section requires the Z to be placed last. However, the mirror STZ pattern is equally feasible, and would require the S to be placed last. Because you have these 2 options, it is impossible that the first piece dealt for the STZ loop is required to be placed last. The worst case is now ?SZX?X?, which can be expressed as ?XHX?X?. By holding the first piece, placing the second, and holding the third, you can now see the first 6 pieces of the bag. This then allows you to choose an appropriate LJO pattern.
{{pfrow| | | | | | |L|O|O|J}}
 
{{pfrow| | | | | | |L|L|J|J}}
It should be noted that this affects only the very first bag of playing forever, which is not to be confused with the first bag of every 20-bag loop of playing forever. On subsequent loops, the first piece of the first bag is already in Hold. You can see the first 5 pieces of ?HXX?X? after you put H on Hold, which makes the first piece active, and sums to 5 with the 3 previews. It is only a problem for the first bag of the game because the player is restricted to a maximum of one use of Hold before placing a piece.
{{pfend}}
Slide L
|}


=== The I piece loop ===
=== The I piece loop ===
This pattern loops every 2 bags. No use of Hold or piece previews is required. The player must simply alternate putting the I tetromino in columns 5 and 6 to reap tetrises.
This pattern loops every 2 bags. No use of Hold or piece previews is required. The player must simply alternate putting the I tetromino in columns 5 and 6 to reap tetrises.
{|
{|
|{{pfstart}}
|<playfield>
{{pfrow| | | | |I| | | | | }}
    I    
{{pfrow| | | | |I| | | | | }}
    I    
{{pfrow| | | | |I| | | | | }}
    I    
{{pfrow| | | | |I| | | | | }}
    I    
{{pfend}}
</playfield>
|{{pfstart}}
|<playfield>
{{pfrow| | | | |G|I| | | | }}
    GI   
{{pfrow| | | | |G|I| | | | }}
    GI   
{{pfrow| | | | |G|I| | | | }}
    GI   
{{pfrow| | | | |G|I| | | | }}
    GI   
{{pfend}}
</playfield>
|}
|}
Notice that the alternate JOL method will work only if the first I tetromino of the loop is placed away from the JLO heap.
Notice that the alternate JOL method will work only if the first I tetromino of the loop is placed away from the JLO heap.
Line 194: Line 193:
{|
{|
|- valign="top"
|- valign="top"
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow|S|T|T|T| | |L|O|O|J}}
STTT  LOOJ
{{pfrow|S|S|T|Z| | |L|O|O|J}}
SSTZ  LOOJ
{{pfrow|S|S|Z|Z| | |L|L|J|J}}
SSZZ  LLJJ
{{pfrow|S|S|Z|Z| | |J|J|L|L}}
SSZZ  JJLL
{{pfrow|T|S|Z|Z|I|I|J|O|O|L}}
TSZZIIJOOL
{{pfrow|T|T|Z|T|I|I|J|O|O|L}}
TTZTIIJOOL
{{pfrow|T|Z|T|T|I|I|L|O|O|J}}
TZTTIILOOJ
{{pfrow|Z|Z|S|T|I|I|L|O|O|J}}
ZZSTIILOOJ
{{pfrow|Z|Z|S|S|I|I|L|L|J|J}}
ZZSSIILLJJ
{{pfrow|Z|Z|S|S|I|I|L|O|O|J}}
ZZSSIILOOJ
{{pfrow|Z|T|S|S|I|I|L|O|O|J}}
ZTSSIILOOJ
{{pfrow|T|T|T|S|I|I|L|L|J|J}}
TTTSIILLJJ
{{pfend}}
</playfield>
The rows stacked <br> after 4 bags.
The rows stacked <br> after 4 bags.
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow|S|T|T|T| | |L|O|O|J}}
STTT  LOOJ
{{pfrow|S|S|T|Z| | |L|O|O|J}}
SSTZ  LOOJ
{{pfrow|S|S|Z|Z| | |L|L|J|J}}
SSZZ  LLJJ
{{pfrow|S|S|Z|Z| | |J|J|L|L}}
SSZZ  JJLL
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfend}}
</playfield>
Though of course, <br> lines have cleared.
Though of course, <br> lines have cleared.
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow|S|T|T|T| | |L|O|O|J}}
STTT  LOOJ
{{pfrow|S|S|T|Z| | |L|O|O|J}}
SSTZ  LOOJ
{{pfrow|S|S|Z|Z| | |L|L|J|J}}
SSZZ  LLJJ
{{pfrow|S|S|Z|Z| | |J|J|L|L}}
SSZZ  JJLL
{{pfend}}
</playfield>
Leaving us with a <br> surplus.
Leaving us with a <br> surplus.
|}
|}
Line 256: Line 255:


{|
{|
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | |L| }}
        L  
{{pfrow| | | | | | |O|O|L| }}
      OOL
{{pfrow| | | | | | |O|O|L|L}}
      OOLL
{{pfend}}
</playfield>
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | |O|O|L|L}}
      OOLL
{{pfrow| | | | | | |O|O|G|L}}
      OOGL
{{pfrow| | | | | | |G|G|G|L}}
      GGGL
{{pfrow| | | | | | |G|G|G|G}}
      GGGG
{{pfend}}
</playfield>
|}
|}


Line 276: Line 275:
{|
{|
|- valign="top"
|- valign="top"
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow|G|G|G|G| | |G|G|G|G}}
GGGG  GGGG
{{pfrow|G|G|G|G| |I|G|G|G|G}}
GGGG IGGGG
{{pfrow|G|G|G|G| |I|G|G|G|G}}
GGGG IGGGG
{{pfrow|G|G|G|G| |I|G|G|G|G}}
GGGG IGGGG
{{pfrow|G|G|G|G| |I|G|G|G|G}}
GGGG IGGGG
{{pfrow|G|G|G|G| |J|G|G|G|G}}
GGGG JGGGG
{{pfrow|G|G|G|G| |J|G|G|G|G}}
GGGG JGGGG
{{pfrow|G|G|G|G|J|J|G|G|G|G}}
GGGGJJGGGG
{{pfend}}
</playfield>
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow|G|G|G|G|J|J|G|G|G|G}}
GGGGJJGGGG
{{pfrow|G|G|G|G|J|G|G|G|G|G}}
GGGGJGGGGG
{{pfrow|G|G|G|G|J|G|G|G|G|G}}
GGGGJGGGGG
{{pfrow|G|G|G|G|I|G|G|G|G|G}}
GGGGIGGGGG
{{pfrow|G|G|G|G|I|G|G|G|G|G}}
GGGGIGGGGG
{{pfrow|G|G|G|G|I|G|G|G|G|G}}
GGGGIGGGGG
{{pfrow|G|G|G|G|I|G|G|G|G|G}}
GGGGIGGGGG
{{pfrow|G|G|G|G|G|G|G|G|G|G}}
GGGGGGGGGG
{{pfend}}
</playfield>
|}
|}


Line 305: Line 304:
{|
{|
|- valign="top"
|- valign="top"
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow|G|G|G|G| | |G|G|G|G}}
GGGG  GGGG
{{pfrow|G|G|G|G| |J|G|G|G|G}}
GGGG JGGGG
{{pfrow|G|G|G|G| |J|G|G|G|G}}
GGGG JGGGG
{{pfrow|G|G|G|G|J|J|G|G|G|G}}
GGGGJJGGGG
{{pfrow|G|G|G|G| |I|G|G|G|G}}
GGGG IGGGG
{{pfrow|G|G|G|G| |I|G|G|G|G}}
GGGG IGGGG
{{pfrow|G|G|G|G| |I|G|G|G|G}}
GGGG IGGGG
{{pfrow|G|G|G|G| |I|G|G|G|G}}
GGGG IGGGG
{{pfend}}
</playfield>
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow|G|G|G|G| | |G|G|G|G}}
GGGG  GGGG
{{pfrow|G|G|G|G| |J|G|G|G|G}}
GGGG JGGGG
{{pfrow|G|G|G|G| |J|G|G|G|G}}
GGGG JGGGG
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|G|G|G|G| |I|G|G|G|G}}
GGGG IGGGG
{{pfrow|G|G|G|G| |I|G|G|G|G}}
GGGG IGGGG
{{pfrow|G|G|G|G| |I|G|G|G|G}}
GGGG IGGGG
{{pfrow|G|G|G|G| |I|G|G|G|G}}
GGGG IGGGG
{{pfend}}
</playfield>
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow|G|G|G|G|J|J|G|G|G|G}}
GGGGJJGGGG
{{pfrow|G|G|G|G|J|J|G|G|G|G}}
GGGGJJGGGG
{{pfrow|G|G|G|G|J|J|G|G|G|G}}
GGGGJJGGGG
{{pfrow|G|G|G|G| |I|G|G|G|G}}
GGGG IGGGG
{{pfrow|G|G|G|G| |I|G|G|G|G}}
GGGG IGGGG
{{pfrow|G|G|G|G| |I|G|G|G|G}}
GGGG IGGGG
{{pfrow|G|G|G|G| |I|G|G|G|G}}
GGGG IGGGG
{{pfend}}
</playfield>
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|G|G|G|G| |I|G|G|G|G}}
GGGG IGGGG
{{pfrow|G|G|G|G| |I|G|G|G|G}}
GGGG IGGGG
{{pfrow|G|G|G|G| |I|G|G|G|G}}
GGGG IGGGG
{{pfrow|G|G|G|G| |I|G|G|G|G}}
GGGG IGGGG
{{pfend}}
</playfield>
|}
|}


Line 360: Line 359:
{|
{|
|- valign="top"
|- valign="top"
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow|G|G|G|G| | |G|G|G|G}}
GGGG  GGGG
{{pfrow|G|G|G|G| | |G|G|G|G}}
GGGG  GGGG
{{pfrow|G|G|G|G| | |G|G|G|G}}
GGGG  GGGG
{{pfrow|G|G|G|G| | |G|G|G|G}}
GGGG  GGGG
{{pfrow|G|G|G|G| | |G|G|G|G}}
GGGG  GGGG
{{pfrow|G|G|G|G| | |G|G|G|G}}
GGGG  GGGG
{{pfrow|G|G|G|G| | |G|G|G|G}}
GGGG  GGGG
{{pfrow|G|G|G|G| | |G|G|G|G}}
GGGG  GGGG
{{pfrow|G|G|G|G| | |G|G|G|G}}
GGGG  GGGG
{{pfrow|G|G|G|G| | |G|G|G|G}}
GGGG  GGGG
{{pfrow|G|G|G|G| | |G|G|G|G}}
GGGG  GGGG
{{pfrow|G|G|G|G| | |G|G|G|G}}
GGGG  GGGG
{{pfend}}
</playfield>
The net result of <br> 12 bags stacked <br> the standard way.
The net result of <br> 12 bags stacked <br> the standard way.
|{{pfstart}}
|<playfield>
{{pfrow|S|T|T|T| | | | | | }}
STTT     
{{pfrow|S|S|T|Z| | | | | | }}
SSTZ     
{{pfrow|S|S|Z|Z| | | | | | }}
SSZZ     
{{pfrow|S|S|Z|Z| | | | | | }}
SSZZ     
{{pfrow|T|S|Z|Z| | |O|O|L|L}}
TSZZ  OOLL
{{pfrow|T|T|Z|T| | |O|O|L|L}}
TTZT  OOLL
{{pfrow|T|Z|T|T| | |O|O|L|L}}
TZTT  OOLL
{{pfrow|Z|Z|S|T| | |O|O|L|L}}
ZZST  OOLL
{{pfrow|Z|Z|S|S|J|J|O|O|L|L}}
ZZSSJJOOLL
{{pfrow|Z|Z|S|S|J|I|O|O|L|L}}
ZZSSJIOOLL
{{pfrow|Z|T|S|S|J|I|O|O|L|L}}
ZTSSJIOOLL
{{pfrow|T|T|T|S|I|I|O|O|L|L}}
TTTSIIOOLL
{{pfrow|G|G|G|G|I|I|G|G|G|G}}
GGGGIIGGGG
{{pfrow|G|G|G|G|I|J|G|G|G|G}}
GGGGIJGGGG
{{pfrow|G|G|G|G|I|J|G|G|G|G}}
GGGGIJGGGG
{{pfrow|G|G|G|G|J|J|G|G|G|G}}
GGGGJJGGGG
{{pfrow|G|G|G|G|J|J|G|G|G|G}}
GGGGJJGGGG
{{pfrow|G|G|G|G|J|I|G|G|G|G}}
GGGGJIGGGG
{{pfrow|G|G|G|G|J|I|G|G|G|G}}
GGGGJIGGGG
{{pfrow|G|G|G|G|I|I|G|G|G|G}}
GGGGIIGGGG
{{pfrow|G|G|G|G|I|I|G|G|G|G}}
GGGGIIGGGG
{{pfrow|G|G|G|G|I|J|G|G|G|G}}
GGGGIJGGGG
{{pfrow|G|G|G|G|I|J|G|G|G|G}}
GGGGIJGGGG
{{pfrow|G|G|G|G|J|J|G|G|G|G}}
GGGGJJGGGG
{{pfend}}
</playfield>
The rows stacked <br> after 4 bags of <br> balanced stacking.
The rows stacked <br> after 4 bags of <br> balanced stacking.
|{{pfstart}}
|<playfield>
{{pfrow|S|T|T|T| | | | | | }}
STTT     
{{pfrow|S|S|T|Z| | | | | | }}
SSTZ     
{{pfrow|S|S|Z|Z| | | | | | }}
SSZZ     
{{pfrow|S|S|Z|Z| | | | | | }}
SSZZ     
{{pfrow|T|S|Z|Z| | |O|O|L|L}}
TSZZ  OOLL
{{pfrow|T|T|Z|T| | |O|O|L|L}}
TTZT  OOLL
{{pfrow|T|Z|T|T| | |O|O|L|L}}
TZTT  OOLL
{{pfrow|Z|Z|S|T| | |O|O|L|L}}
ZZST  OOLL
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfend}}
</playfield>
Of course, <br> line clears <br> have actually...
Of course, <br> line clears <br> have actually...
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow|S|T|T|T| | | | | | }}
STTT     
{{pfrow|S|S|T|Z| | | | | | }}
SSTZ     
{{pfrow|S|S|Z|Z| | | | | | }}
SSZZ     
{{pfrow|S|S|Z|Z| | | | | | }}
SSZZ     
{{pfrow|T|S|Z|Z| | |O|O|L|L}}
TSZZ  OOLL
{{pfrow|T|T|Z|T| | |O|O|L|L}}
TTZT  OOLL
{{pfrow|T|Z|T|T| | |O|O|L|L}}
TZTT  OOLL
{{pfrow|Z|Z|S|T| | |O|O|L|L}}
ZZST  OOLL
{{pfend}}
</playfield>
...kept things <br> realistically short.
...kept things <br> realistically short.
|}
|}
Line 472: Line 471:
{|
{|
|- valign="top"
|- valign="top"
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow|G|G|G|G| | | | | | }}
GGGG     
{{pfrow|G|G|G|G| | | | | | }}
GGGG     
{{pfrow|G|G|G|G| | | | | | }}
GGGG     
{{pfrow|G|G|G|G| | | | | | }}
GGGG     
{{pfrow|G|G|G|G| | |G|G|G|G}}
GGGG  GGGG
{{pfrow|G|G|G|G| | |G|G|G|G}}
GGGG  GGGG
{{pfrow|G|G|G|G| | |G|G|G|G}}
GGGG  GGGG
{{pfrow|G|G|G|G| | |G|G|G|G}}
GGGG  GGGG
{{pfend}}
</playfield>
Where we left off.
Where we left off.
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow|O|O|L|L|J|J|T|T|T|Z}}
OOLLJJTTTZ
{{pfrow|O|O|L|L|J|I|S|T|Z|Z}}
OOLLJISTZZ
{{pfrow|O|O|L|L|J|I|S|S|Z|Z}}
OOLLJISSZZ
{{pfrow|O|O|L|L|I|I|S|S|Z|Z}}
OOLLIISSZZ
{{pfrow|O|O|L|L|I|I|S|S|Z|T}}
OOLLIISSZT
{{pfrow|O|O|L|L|I|J|T|S|T|T}}
OOLLIJTSTT
{{pfrow|O|O|L|L|I|J|T|T|S|T}}
OOLLIJTTST
{{pfrow|O|O|L|L|J|J|T|Z|S|S}}
OOLLJJTZSS
{{pfrow|G|G|G|G|J|J|Z|Z|S|S}}
GGGGJJZZSS
{{pfrow|G|G|G|G|J|I|Z|Z|S|S}}
GGGGJIZZSS
{{pfrow|G|G|G|G|J|I|Z|Z|T|S}}
GGGGJIZZTS
{{pfrow|G|G|G|G|I|I|Z|T|T|T}}
GGGGIIZTTT
{{pfrow|G|G|G|G|I|I|G|G|G|G}}
GGGGIIGGGG
{{pfrow|G|G|G|G|I|J|G|G|G|G}}
GGGGIJGGGG
{{pfrow|G|G|G|G|I|J|G|G|G|G}}
GGGGIJGGGG
{{pfrow|G|G|G|G|J|J|G|G|G|G}}
GGGGJJGGGG
{{pfend}}
</playfield>
4 bags balancing <br> the other side.
4 bags balancing <br> the other side.
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfend}}
</playfield>
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfend}}
</playfield>
Back to <br> square one.
Back to <br> square one.
|}
|}
Line 564: Line 563:
{|
{|
|- valign="top"
|- valign="top"
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | |I| | | | }}
    I  
{{pfrow| | | | | |I| | | | }}
    I  
{{pfrow| | | | | |I| | | | }}
    I  
{{pfrow| | | | | |I| | | | }}
    I  
{{pfrow| | | | |J|J| | | | }}
    JJ   
{{pfrow| | |G| |J|G| | | | }}
  G JG   
{{pfrow|G|G|G| |J|G| | | |g}}
GGG JG  g
{{pfrow|G|G|G|G| |G|G| |G|G}}
GGGG GG GG
{{pfrow|G|G|G|G| |G|G|G|G|G}}
GGGG GGGGG
{{pfrow|G|G|G|G| |G|G|G|G|G}}
GGGG GGGGG
{{pfrow|G|G|G|G| |G|G|G|G|G}}
GGGG GGGGG
{{pfrow|G|G|G|G|G|G|G|G|G|G}}
GGGGGGGGGG
{{pfend}}
</playfield>
Stack the I on <br> top of the J.
Stack the I on <br> top of the J.
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | |I| | | | }}
    I  
{{pfrow| | | | | |I| | | | }}
    I  
{{pfrow| | | | | |I| | | | }}
    I  
{{pfrow| | | | | |I| | | | }}
    I  
{{pfrow|O|O|L|L|J|J|T|T|T|Z}}
OOLLJJTTTZ
{{pfrow|O|O|G|L|J|G|S|T|Z|Z}}
OOGLJGSTZZ
{{pfrow|G|G|G|L|J|G|S|S|Z|g}}
GGGLJGSSZg
{{pfrow|G|G|G|G| |G|G|S|G|G}}
GGGG GGSGG
{{pfrow|G|G|G|G| |G|G|G|G|G}}
GGGG GGGGG
{{pfrow|G|G|G|G| |G|G|G|G|G}}
GGGG GGGGG
{{pfrow|G|G|G|G| |G|G|G|G|G}}
GGGG GGGGG
{{pfrow|G|G|G|G|G|G|G|G|G|G}}
GGGGGGGGGG
{{pfend}}
</playfield>
Play the <br> remainder.
Play the <br> remainder.
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | |I| | | | }}
    I  
{{pfrow| | | | | |I| | | | }}
    I  
{{pfrow| | | | | |I| | | | }}
    I  
{{pfrow| | | | | |I| | | | }}
    I  
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfrow|G|G|G|G| |G|G|S|G|G}}
GGGG GGSGG
{{pfrow|G|G|G|G| |G|G|G|G|G}}
GGGG GGGGG
{{pfrow|G|G|G|G| |G|G|G|G|G}}
GGGG GGGGG
{{pfrow|G|G|G|G| |G|G|G|G|G}}
GGGG GGGGG
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
----------
{{pfend}}
</playfield>
|{{pfstart}}
|<playfield>
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | | | | | | }}
         
{{pfrow| | | | | |I| | | | }}
    I  
{{pfrow| | | | | |I| | | | }}
    I  
{{pfrow| | | | | |I| | | | }}
    I  
{{pfrow| | | | | |I| | | | }}
    I  
{{pfrow|G|G|G|G| |G|G|S|G|G}}
GGGG GGSGG
{{pfrow|G|G|G|G| |G|G|G|G|G}}
GGGG GGGGG
{{pfrow|G|G|G|G| |G|G|G|G|G}}
GGGG GGGGG
{{pfrow|G|G|G|G| |G|G|G|G|G}}
GGGG GGGGG
{{pfend}}
</playfield>
The end of the <br> 20-bag loop.
The end of the <br> 20-bag loop.
|}
|}


As you can see, 4 bags into the next loop and we're exactly where we expect to be:
But after the first bag of the next loop, we're exactly where we expect to be:
{|
{|
|- valign="top"
|- valign="top"
|{{pfstart}}
|<playfield>
         
         
         
         
         
         
         
         
         
         
         
    G   
    G   
    G   
    G   
GGGG GGGGG
GGGG GGGGG
GGGG GGGGG
GGGG GGGGG
</playfield>
|<playfield>
         
         
         
         
         
         
         
         
         
         
         
Z  G   
ZZS  GJJLL
ZTSS GJOOL
TTTS GJOOL
GGGGIGGGGG
GGGGIGGGGG
GGGGIGGGGG
GGGGIGGGGG
</playfield>
|<playfield>
         
         
         
         
         
         
         
         
         
         
         
Z  G   
ZZS  GJJLL
ZTSS GJOOL
TTTS GJOOL
----------
----------
----------
----------
</playfield>
|<playfield>
         
         
         
         
         
         
         
         
         
         
         
         
         
         
         
Z  G   
ZZS  GJJLL
ZTSS GJOOL
TTTS GJOOL
</playfield>
|}
 
 
== 5 Bag Solution ==
A shorter but far more complicated algorithm for Playing Forever in 5 bags was discovered by QM in 2014. It requires 4 piece previews to guarantee success.
 
This is the minimum possible Playing Forever loop, as a Perfect Clear must use 35 pieces (as the well is 10x10). To avoid parity issues with 5 T pieces, the Bag 2 T is used to clear a single and skim.
 
=== First Bag ===
Build this structure whenever possible.
<playfield>
Z  IIII 
ZZS JJLL 
ZTSSJOOL 
TTTSJOOL 
</playfield>
If necessary, the JILO square can be built in a different order as long as it remains a 4x4 square.
 
If this structure was impossible (this is rare), place the I to the right.
<playfield>
Z      I
ZZS JJLL I
ZTSSJOOL I
TTTSJOOL I
</playfield>
=== Second Bag ===
The second bag is built differently based on whether the JILO square was completed successfully or not. In either case, the J, L, O, S, and Z pieces are placed identically, like this:
<playfield>
    LOOJ 
Z  LOOJ 
ZZS LLJJ 
ZZSSIIII 
ZZSSJJLL 
ZTSSJOOL 
TTTSJOOL 
</playfield>
Again, the J, L, and O can be flipped if necessary.
 
The I and T pieces will be placed differently based on the completion of the JILO square in Bag 1.
==== Case A: The JILO square in Bag 1 was completed. ====
 
The T and I pieces should be used to line clear, in this order:
 
<playfield>
    LOOJ 
Z  LOOJ 
ZZS LLJJ 
ZZSSIIII 
ZZSSJJLLT
ZTSSJOOLTT
TTTSJOOLT
</playfield>
 
<playfield>
    LOOJ 
Z  LOOJ 
ZZS LLJJ I
ZZSSIIII I
ZZSSJJLLTI
TTTSJOOLTI
</playfield>
 
Leaving the end result of the second bag as this:
 
<playfield>
    LOOJ 
Z  LOOJ 
ZZS LLJJ I
ZZSSIIII I
</playfield>
 
The T and I pieces can be placed at any time as long as Hold is used to ensure that the T is placed before the I.
 
==== Case B: The I piece in Bag 1 was placed to the right. ====
 
The I piece should be placed first using Hold to perform a Tetris line clear.
 
<playfield>
Z  LOOJ 
ZZS LOOJ 
ZZSSLLJJII
ZZSSJJLLII
ZTSSJOOLII
TTTSJOOLII
</playfield>
 
Then, the T piece should be placed in one of these two ways, dependent on the order of Bag 3:
 
T facing to the left
<playfield>
        T
Z  LOOJTT
ZZS LOOJ T
</playfield>
 
T facing to the right
<playfield>
        T
Z  LOOJTT
ZZS LOOJT
</playfield>
 
The T and I pieces can be placed at any time as long as Hold is used to ensure that the I is placed before the T.
 
===== Determining the direction of the T =====
With Hold and 4 piece previews, you can see the first 5 pieces of the third bag when placing the T. Based on the order of STZ in the third bag, decide which direction the T should be placed in using the first rule that applies:
 
1) If TZ comes first in {STZ}, the first two pieces of {IJLO} are OI, and Z comes before I, place facing left.
 
2) If T comes first, place facing right.
 
3) If Z comes first, place facing left.
 
4) If S comes first and is the only STZ piece in all 5 visible pieces, place facing right.
 
5) If S comes first and T comes second, place facing right.
 
6) If none of the previous rules apply, place facing left.
 
=== Bag 3 ===
This bag is highly situational based on the order of the pieces.
 
==== Case A: The JILO square in Bag 1 was successfully completed. ====
If this is the case, place the pieces like this. Make sure to use Hold on Z to be sure it is possible.
<playfield>
    JJLL 
ZZ  JOOL 
TZZ JOOL 
TTS GGGGI
TGSSGGGGI
GGGSGGGGIG
GGGGGGGGIG
</playfield>
 
==== Case B: The JILO square in Bag 1 was not successfully completed. ====
If this is the case, the S, T, and Z pieces should be placed in one of these two ways:
 
<playfield>
ZZ       
TZZ     
TTS    T
TGSSGGGGTT
GGGSGGGGT
</playfield>
<playfield>
T       
TT       
TZ       
ZZS      T
ZGSSGGGGTT
GGGSGGGG T
</playfield>
 
Decide which one to build based on the T placement from Bag 2.
 
The I, J, L, and O pieces should be assembled to form a 4x4 square. Note that based on the order, this square can be assembled in whatever arrangement is necessary, including sideways, as long as it forms a square. These are just a few examples of how it could be built.
 
<playfield>
    JJLL
ZZ  JOOL 
TZZ JOOL 
TTS IIIIG
TGSSGGGGGG
GGGSGGGGG
</playfield>
<playfield>
    IIII
ZZ  JOOL 
TZZ JOOL 
TTS JJLLG
TGSSGGGGGG
GGGSGGGGG
</playfield>
<playfield>
    IJJJ
ZZ  IJOO 
TZZ ILOO 
TTS ILLLG
TGSSGGGGGG
GGGSGGGGG
</playfield>
 
This can be done without hold unless the order is OIJL or OILJ. In these cases Hold should be used either to modify the piece order to IO{JL} or to O{JL}I. Decide which of these is necessary based on when in the bag Hold is used for the S, T, and Z pieces. This will rarely happen, though.
 
=== Bag 4 ===
The I, J, L, and O pieces in Bag 4 are placed into the holes left from the previous bags.
 
<playfield>
JJJIGGGGOO
GGJIGGGGOO
GGGIGGGGLL
GGGIGGGGGL
GGGGGGGGGL
</playfield>
<playfield>
GLLIGGGGOO
GGLIGGGGOO
GGLIGGGGJJ
GGGIGGGGJG
GGGGGGGGJG
</playfield>
 
Occasionally, the O piece may be placed in before the J or L on the corresponding side, as long as the I and J/L piece are already in.
 
In some cases, an I-spin may be necessary if the I shows up late in the sequence.
 
==== Placing the S, T, and Z ====
The first of S/Z and T should be placed like this:
 
<playfield>
    T   
    TT   
    TSS 
    SS   
</playfield>
<playfield>
    T   
    TT   
  ZZT   
    ZZ   
</playfield>
 
The last S/Z piece should be held to the end. 5 pieces of Bag 5 can then be seen in Hold + 4 piece previews. If T comes first in Bag 5's S, T, and Z, then place the S/Z piece like this:
 
<playfield>
    T   
    TT   
    TSSZZ
    SS  ZZ
</playfield>
<playfield>
    T   
    TT   
SSZZT   
SS  ZZ   
</playfield>
 
If S or Z come first in Bag 5's S, T, and Z, place the S/Z piece like this:
 
<playfield>
    TZZ 
    TTZZ 
    TSS 
    SS   
</playfield>
<playfield>
  SST   
  SSTT   
  ZZT   
    ZZ   
</playfield>
 
=== Bag 5 ===
 
The T piece and one of the S/Z pieces are placed like this:
<playfield>
    TZZ  T
    TTZZTT
    TSSZZT
    SS  ZZ
</playfield>
The other STZ piece is held until the end.
 
The 4x4 square on the side is filled with the I, J, L, and O pieces (This can be done in any way as long as the area is filled)
 
<playfield>
IIIITZZ  T
JJLLTTZZTT
JOOLTSSZZT
JOOLSS  ZZ
</playfield>
<playfield>
IIIITZZ  T
JOOLSS  ZZ
</playfield>
 
The final piece is placed in with an S/Z spin.
<playfield>
IIIITZZSST
JOOLSSSSZZ
</playfield>
 
== Open questions ==
Adapting this method to the following situations is left as an exercise for the reader:
*All tetris line clears
*High [[Drop#Gravity|gravity]] (solved)
*No [[hold piece]]
*14-piece bag randomizer
 
<!-- == Loop without Perfect Clear ==
 
[[File:Forever-standard.gif|right|frame|A 70 pieces run of this strategy.]]
 
The following technique is easier to learn as the method above but doesn't loop back to an empty playfield. It functions very similar but needs a little more requirements:
 
* [[Random Generator]], also known as 7-bag randomizer
* [[Hold]] feature
* 5 [[Piece preview]]s (if not specified otherwise)
* Sonic Drop respectively Soft Drop
* high enough playfield
 
In the first bag, a [[SRS#Wall Kicks|SRS wall kick]] may also be required to move the T piece below the S piece. Like above, the field is devided into 3 sections but their positions never change.
 
* First, we have a 4-column-wide section for S, Z and T pieces. The first T piece is placed horizontally on the left side. The left 2 columns are reserved for Z pieces and the right 2 columns for S pieces. T pieces are usually put in hold until another T piece shows up. In this case, the 2 T pieces are placed above each other vertically.
 
* Then, we have a 2-column-wide section for I pieces. Every 10 bags (70 pieces), 2 T pieces and 2 J pieces are dropped on this section in a way that they clear exactly one line.
 
* Finally, there's the 4-column-wide section for L, J and O pieces. The 5 previews are needed to know the order of L, J and O in the bag. If the O piece shows up between L and J, then the piece that comes first (L resp. J) is dropped vertically with its head up and the O piece is moved below it with Sonic Drop.
 
{|
| width=16 |
| {{pfstart}}
{{mrow4| | |Z| }}
{{mrow4| | |Z|Z}}
{{mrow4| | |T|Z}}
{{mrow4| |S|T|T}}
{{mrow4|S|S|T|T}}
{{mrow4|S|S|T|T}}
{{mrow4|S|S|Z|T}}
{{mrow4|S|S|Z|Z}}
{{mrow4|S|S|Z|Z}}
{{mrow4|S|T|Z|Z}}
{{mrow4|T|T|T|Z}}
{{pfend}}
| width=20 |
| {{pfstart}}
{{mrow2| | }}
{{mrow2| |J}}
{{mrow2| |J}}
{{mrow2|J|J}}
{{mrow2| |T}}
{{mrow2|T|T}}
{{mrow2| |T}}
{{mrow2|I|I}}
{{mrow2|I|I}}
{{mrow2|I|I}}
{{mrow2|I|I}}
{{pfend}}
| width=20 |
| {{pfstart}}
{{mrow4| | | | }}
{{mrow4|L|L|O|O}}
{{mrow4|L|L|O|O}}
{{mrow4|L|L|O|O}}
{{mrow4|L|L|O|O}}
{{mrow4|J|J|L|L}}
{{mrow4|J|O|O|L}}
{{mrow4|J|O|O|L}}
{{mrow4|L|O|O|J}}
{{mrow4|L|O|O|J}}
{{mrow4|L|L|J|J}}
{{pfend}}
|}
 
Every 10 bags, 28 pieces are dropped on the first section (10 S, 10 Z, 8 T), 28 pieces as well on the second section (10 O, 10 L, 8 J) and 14 pieces on the third section (10 I, 2 T, 2 J). This makes 28 cleared lines (6 Tetrises and 4 Singles) and no section is growing in respect of the other sections. Thus, this technique loops every 10 bags. Here's a brief description how one can proceed to loop back to the playfield where the first bag was already placed. In practice however, it is probably better to stack higher and use O pieces in the I section instead of J. In this case, the technique loops every 20 bags.
 
{| border=1 cellspacing=0
|-
! width=80 align=center | bags 1 & 2
| width=200 style="padding-left: 8pt; padding-right:6pt;" | Hold first T until second T shows up and drop them both on S stack. Put first I on top of existing I and use second I to score a Tetris.
| {{sstart}}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  | S|  |  |  |  |  |  |  }}
{{srow|  |  | S| S|  |  |  |  |  |  }}
{{srow|  |  | T| S|  |  | J| J| L| L}}
{{srow|  | Z| T| T|  | I| J| O| O| L}}
{{srow| Z| Z| T| T|  | I| J| O| O| L}}
{{srow| Z| Z| T| T|  | I| L| O| O| J}}
{{srow| Z| Z| S| T|  | I| L| O| O| J}}
{{srow| Z|-Z| S| S| I|-I| L| L| J| J}}
{{srow|-Z|-Z|-S| S| I|-I|-J|-J|-L|-L}}
{{srow|-Z|-T|-S|-S| I|-I|-J|-O|-O|-L}}
{{srow|-T|-T|-T|-S| I|-I|-J|-O|-O|-L}}
{{pfend}}
|-
! align=center | bags 3 & 4
| style="padding-left: 8pt; padding-right:6pt;" | Hold first T until second T shows up and drop them both on S stack. Put first I on top of existing I and use second I to score a Tetris.
| {{sstart}}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  | T|  |  |  |  |  |  |  |  }}
{{srow| T| T| S|  |  |  | L| O| O| J}}
{{srow| T| T| S| S|  |  | L| O| O| J}}
{{srow| T| T| S| S|  |  | L| L| J| J}}
{{srow| T| Z| S| S|  | I| L| O| O| J}}
{{srow| Z| Z|-S| S|  | I| L| O| O| J}}
{{srow| Z| Z|-S|-S|  | I| L| L| J| J}}
{{srow| Z| Z|-T|-S|  | I|-J|-J|-L|-L}}
{{srow| Z|-Z|-T|-T| I|-I|-J|-O|-O|-L}}
{{srow|-Z|-Z|-T|-T| I|-I|-J|-O|-O|-L}}
{{srow|-Z|-Z|-T|-T| I|-I|-L|-O|-O|-J}}
{{srow|-Z|-Z|-S|-T| I|-I|-L|-O|-O|-J}}
{{pfend}}
|-
! align=center | bags 5 & 6
| style="padding-left: 8pt; padding-right:6pt;" | Hold first T until second T shows up and drop them both on S stack. Score a Tetris with first I.
| {{sstart}}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  | T|  |  |  |  |  |  |  }}
{{srow|  |  | T| T|  |  |  |  |  |  }}
{{srow|  |  | T| T|  |  | J| J| L| L}}
{{srow|  | Z| T| T|  |  | J| O| O| L}}
{{srow| Z| Z| S| T|  |  | J| O| O| L}}
{{srow| Z| Z| S| S|  |  | J| J| L| L}}
{{srow| Z| Z| S| S|  |  | J| O| O| L}}
{{srow| Z|-T| S| S|  | I| J| O| O| L}}
{{srow|-T|-T|-S| S|  | I|-L|-O|-O|-J}}
{{srow|-T|-T|-S|-S|  | I|-L|-O|-O|-J}}
{{srow|-T|-T|-S|-S|  | I|-L|-L|-J|-J}}
{{srow|-T|-Z|-S|-S| I|-I|-L|-O|-O|-J}}
{{srow|-Z|-Z|-S|-S| I|-I|-L|-O|-O|-J}}
{{srow|-Z|-Z|-S|-S| I|-I|-L|-L|-J|-J}}
{{srow|-Z|-Z|-T|-S| I|-I|-J|-J|-L|-L}}
{{pfend}}
|-
! align=center | bags 7 & 8
| style="padding-left: 8pt; padding-right:6pt;" | Hold first T until second T shows up and drop them both on S stack. Score a Tetris with first I.
| {{sstart}}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  | Z|  |  |  |  |  |  |  |  }}
{{srow| Z| Z| S|  |  |  | L| O| O| J}}
{{srow| Z| T| S| S|  |  | L| O| O| J}}
{{srow| T| T| S| S|  |  | L| L| J| J}}
{{srow| T| T| S| S|  |  | J| J| L| L}}
{{srow| T| T|-T| S|  |  | J| O| O| L}}
{{srow| T| Z|-T|-T|  |  | J| O| O| L}}
{{srow| Z| Z|-T|-T|  |  |-J|-J|-L|-L}}
{{srow| Z|-Z|-T|-T|  | I|-J|-O|-O|-L}}
{{srow|-Z|-Z|-S|-T|  | I|-J|-O|-O|-L}}
{{srow|-Z|-Z|-S|-S|  | I|-J|-J|-L|-L}}
{{srow|-Z|-Z|-S|-S|  | I|-J|-O|-O|-L}}
{{srow|-Z|-T|-S|-S| I|-I|-J|-O|-O|-L}}
{{srow|-T|-T|-S|-S| I|-I|-L|-O|-O|-J}}
{{srow|-T|-T|-S|-S| I|-I|-L|-O|-O|-J}}
{{srow|-T|-T|-S|-S| I|-I|-L|-L|-J|-J}}
{{pfend}}
|-
! align=center | bag 9
| style="padding-left: 8pt; padding-right:6pt;" | Use T and J for Single line skimming. Score a Tetris with I. Put L with its head down on the edge of the LJO stack and place O beside it.
| {{sstart}}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  | Z|  |  |  |  | L|  |  |  }}
{{srow| Z| Z| S|  |  |  | L|  | O| O}}
{{srow| Z|-Z| S| S|  |  | L| L| O| O}}
{{srow|-Z|-Z|-S| S|  |  |-L|-O|-O|-J}}
{{srow|-Z|-T|-S|-S|  | T|-L|-O|-O|-J}}
{{srow|-T|-T|-S|-S| T| T|-L|-L|-J|-J}}
{{srow|-T|-T|-S|-S|  | T|-J|-J|-L|-L}}
{{srow|-T|-T|-T|-S|  | J|-J|-O|-O|-L}}
{{srow|-T|-Z|-T|-T|  | J|-J|-O|-O|-L}}
{{srow|-Z|-Z|-T|-T| J| J|-J|-J|-L|-L}}
{{srow|-Z|-Z|-T|-T| I|-I|-J|-O|-O|-L}}
{{srow|-Z|-Z|-S|-T| I|-I|-J|-O|-O|-L}}
{{srow|-Z|-Z|-S|-S| I|-I|-J|-J|-L|-L}}
{{srow|-Z|-Z|-S|-S| I|-I|-J|-O|-O|-L}}
{{pfend}}
|-
! align=center | bag 10
| style="padding-left: 8pt; padding-right:6pt;" | Hold J until the very end of the bag. Use T and J for Single line skimming. Score a Tetris with I. Put L with its head up on top of the other L.
| {{sstart}}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  | Z|  |  |  | J|  |  |  |  }}
{{srow| Z| Z| S|  |  | J| L| L| O| O}}
{{srow| Z|-Z| S| S| J| J|-L| L| O| O}}
{{srow|-Z|-Z|-S| S|  | T|-L| L|-O|-O}}
{{srow|-Z|-Z|-S|-S| T| T|-L|-L|-O|-O}}
{{srow|-Z|-Z|-S|-S|  | T|-L|-O|-O|-J}}
{{srow|-Z|-T|-S|-S| I|-T|-L|-O|-O|-J}}
{{srow|-T|-T|-S|-S| I|-T|-J|-J|-L|-L}}
{{srow|-T|-T|-T|-S| I|-J|-J|-O|-O|-L}}
{{srow|-T|-Z|-T|-T| I|-J|-J|-O|-O|-L}}
{{pfend}}
|}
<br>
 
=== 20G loop ===
 
[[Image:Forever-gravity.gif|right|frame|A 70 pieces run of this 20G capable strategy.]]
 
This is a slight variation of the technique above. It works under 20G gravity, that means a piece is pulled down immediately to the ground. On the other hand, another requirement must be met, namely that it must be possible to drop the first 2 I pieces and the second and third T piece on the stack for the S pieces. Note that most modes with gravity (e.g. Marathon) don't start with 20G, so this requirement is pretty much just formally.
 
Here the I piece section is on the left side, the S,Z,T section is in the middle and the L,J,O section is on the right side. We also assume that the third I piece is dropped horizontally on the very left. This assumption is not needed, but it simplifies the execution.
 
{{pfstart}}
{{pfrow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
{{pfrow| | | | |S| | | | | }}
{{pfrow| | | | |S|S| | | | }}
{{pfrow| | | | |S|S| | | | }}
{{pfrow| | | | |S|S| | | | }}
{{pfrow| | | | |T|S| | | | }}
{{pfrow| | | | |T|T| | | | }}
{{pfrow|I|I|I|I|T|I|J|J|L|L}}
{{pfrow| | | |Z|I|I|J|O|O|L}}
{{pfrow| | |Z|Z|I|I|J|O|O|L}}
{{pfrow| | |Z|Z|I|I|J|J|L|L}}
{{pfrow| | |Z|Z|I|T|J|O|O|L}}
{{pfrow| | |Z|Z|T|T|J|O|O|L}}
{{pfrow| | |Z|Z|S|T|J|J|L|L}}
{{pfrow| | |Z|T|S|S|J|O|O|L}}
{{pfrow| | |T|T|T|S|J|O|O|L}}
{{pfend}}
Newly spawned pieces will always touch the top of the S piece stack. At the end of each bag, the S piece stack is 2 or 6 columns higher than the Z piece stack. So even if a piece shows up in the bag between S and Z, it can still be moved to the left side. Similarly at the end of each bag, the S piece stack is always at least 3 columns higher than the L,J,O section. Thus, pieces can always be moved to the right side.
{| border=1 cellspacing=0
|-
! width=80 align=center | bags 1 & 2
| width=200 style="padding-left: 8pt; padding-right:6pt;" | Hold first T until second T shows up and drop them both on Z stack. Score a Tetris with second I.
| {{sstart}}
{{srow|  |  |  |  | S|  |  |  |  |  }}
{{srow|  |  |  |  | S| S|  |  |  |  }}
{{srow|  |  |  | Z| S| S|  |  |  |  }}
{{srow|  |  | Z| Z| S| S|  |  |  |  }}
{{srow|  |  | Z| T|-S| S| J| J| L| L}}
{{srow|  |  | T| T|-S|-S| J| O| O| L}}
{{srow|  |  | T| T|-S|-S| J| O| O| L}}
{{srow|  |  | T| T|-S|-S| J| J| L| L}}
{{srow|  |  | T| Z|-T|-S| J| O| O| L}}
{{srow|  |  | Z| Z|-T|-T| J| O| O| L}}
{{srow|  |  | Z|-Z|-I|-I|-J|-O|-O|-L}}
{{srow|  |  |-Z|-Z|-I|-I|-J|-O|-O|-L}}
{{srow|  |  |-Z|-Z|-I|-I|-J|-J|-L|-L}}
{{srow|  |  |-Z|-Z|-I|-T|-J|-O|-O|-L}}
{{srow| I| I|-Z|-Z|-T|-T|-J|-O|-O|-L}}
{{srow| I| I|-Z|-Z|-S|-T|-J|-J|-L|-L}}
{{srow| I| I|-Z|-T|-S|-S|-J|-O|-O|-L}}
{{srow| I| I|-T|-T|-T|-S|-J|-O|-O|-L}}
{{pfend}}
|-
! align=center | bag 3
| style="padding-left: 8pt; padding-right:6pt;" | Use T and J for Single line skimming. Hold I until the end of the bag and then score a Tetris. Put L with its head down on the edge of the LJO stack and place O beside it.
| {{sstart}}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  | S|  |  |  |  |  }}
{{srow|  |  |  |  | S| S|  |  |  |  }}
{{srow|  |  |  | Z|-S| S|  |  |  |  }}
{{srow|  |  | Z| Z|-S|-S| L|  |  |  }}
{{srow|  |  | Z|-Z|-S|-S| L|  | O| O}}
{{srow|  |  |-Z|-Z|-S|-S| L| L| O| O}}
{{srow|  |  |-Z|-T|-S|-S|-J|-J|-L|-L}}
{{srow|  |  |-T|-T|-S|-S|-J|-O|-O|-L}}
{{srow|  |  |-T|-T|-S|-S|-J|-O|-O|-L}}
{{srow|  |  |-T|-T|-S|-S|-J|-J|-L|-L}}
{{srow| I| J|-T|-Z|-T|-S|-J|-O|-O|-L}}
{{srow| I| J|-Z|-Z|-T|-T|-J|-O|-O|-L}}
{{srow| J| J|-Z|-Z|-I|-I|-J|-O|-O|-L}}
{{srow| I| T|-Z|-Z|-I|-I|-J|-O|-O|-L}}
{{srow| T| T|-Z|-Z|-I|-I|-J|-J|-L|-L}}
{{srow| I| T|-Z|-Z|-I|-T|-J|-O|-O|-L}}
{{pfend}}
|-
! align=center | bag 4
| style="padding-left: 8pt; padding-right:6pt;" | Use T and J for Single line skimming. Hold I until the end of the bag and then score a Tetris. Put L with its head up on top of the other L and place O beside it.
| {{sstart}}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  | S|  |  |  |  |  }}
{{srow|  |  |  |  | S| S|  |  |  |  }}
{{srow|  |  |  | Z|-S| S|  |  |  |  }}
{{srow|  |  | Z| Z|-S|-S|  |  |  |  }}
{{srow|  |  | Z|-Z|-S|-S| L| L| O| O}}
{{srow|  |  |-Z|-Z|-S|-S|-L| L| O| O}}
{{srow| I| T|-Z|-Z|-S|-S|-L| L|-O|-O}}
{{srow| T| T|-Z|-Z|-S|-S|-L|-L|-O|-O}}
{{srow| I| T|-Z|-T|-S|-S|-J|-J|-L|-L}}
{{srow| I| J|-T|-T|-S|-S|-J|-O|-O|-L}}
{{srow| I| J|-T|-T|-S|-S|-J|-O|-O|-L}}
{{srow| J| J|-T|-T|-S|-S|-J|-J|-L|-L}}
{{pfend}}
|-
! align=center | bags 5 & 6
| style="padding-left: 8pt; padding-right:6pt;" | Hold first T until second T shows up and drop them both on S stack. Score a Tetris with second I.
| {{sstart}}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  | T|  |  |  |  |  }}
{{srow|  |  |  |  | T| T|  |  |  |  }}
{{srow|  |  |  |  | T| T|  |  |  |  }}
{{srow|  |  |  |  | T| T|  |  |  |  }}
{{srow|  |  |  |  | S| T|  |  |  |  }}
{{srow|  |  |  |  | S| S|  |  |  |  }}
{{srow|  |  |  | Z| S| S| J| J| L| L}}
{{srow|  |  | Z| Z| S| S| J| O| O| L}}
{{srow|  |  | Z| Z|-S| S| J| O| O| L}}
{{srow|  |  | Z| Z|-S|-S| J| J| L| L}}
{{srow| I| I| Z|-Z|-S|-S| J| O| O| L}}
{{srow| I| I|-Z|-Z|-S|-S| J| O| O| L}}
{{srow| I| I|-Z|-Z|-S|-S|-L|-L|-O|-O}}
{{srow| I| I|-Z|-Z|-S|-S|-L|-L|-O|-O}}
{{pfend}}
|-
! align=center | bags 7 & 8
| style="padding-left: 8pt; padding-right:6pt;" | Hold first T until second T shows up and drop them both on Z stack. Score a Tetris with second I.
| {{sstart}}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  | S|  |  |  |  |  }}
{{srow|  |  |  |  | S| S|  |  |  |  }}
{{srow|  |  |  | T| S| S|  |  |  |  }}
{{srow|  |  | T| T| S| S|  |  |  |  }}
{{srow|  |  | T| T|-T| S| L| O| O| J}}
{{srow|  |  | T| T|-T|-T| L| O| O| J}}
{{srow|  |  | T| Z|-T|-T| L| L| J| J}}
{{srow|  |  | Z| Z|-T|-T| J| J| L| L}}
{{srow|  |  | Z| Z|-S|-T| J| O| O| L}}
{{srow|  |  | Z| Z|-S|-S| J| O| O| L}}
{{srow| I| I| Z|-Z|-S|-S|-J|-J|-L|-L}}
{{srow| I| I|-Z|-Z|-S|-S|-J|-O|-O|-L}}
{{srow| I| I|-Z|-Z|-S|-S|-J|-O|-O|-L}}
{{srow| I| I|-Z|-Z|-S|-S|-J|-J|-L|-L}}
{{pfend}}
|-
! align=center | bags 9 & 10
| style="padding-left: 8pt; padding-right:6pt;" | Hold first T until second T shows up and drop them both on Z stack. Score a Tetris with second I.
| {{sstart}}
{{srow|  |  |  |  | T|  |  |  |  |  }}
{{srow|  |  |  |  | T| T|  |  |  |  }}
{{srow|  |  |  |  | T| T|  |  |  |  }}
{{srow|  |  |  |  | T| T|  |  |  |  }}
{{srow|  |  |  |  | S| T|  |  |  |  }}
{{srow|  |  |  |  | S| S|  |  |  |  }}
{{srow|  |  |  | Z| S| S| J| J| L| L}}
{{srow|  |  | Z| Z| S| S| J| O| O| L}}
{{srow|  |  | Z| Z|-S| S| J| O| O| L}}
{{srow|  |  | Z| Z|-S|-S| L| O| O| J}}
{{srow|  |  | Z|-T|-S|-S| L| O| O| J}}
{{srow|  |  |-T|-T|-S|-S| L| L| J| J}}
{{srow|  |  |-T|-T|-T|-S|-L|-O|-O|-J}}
{{srow|  |  |-T|-T|-T|-T|-L|-O|-O|-J}}
{{srow| I| I|-T|-Z|-T|-T|-L|-L|-J|-J}}
{{srow| I| I|-Z|-Z|-T|-T|-J|-J|-L|-L}}
{{srow| I| I|-Z|-Z|-S|-T|-J|-O|-O|-L}}
{{srow| I| I|-Z|-Z|-S|-S|-J|-O|-O|-L}}
{{pfend}}
|}
<br>
=== No previews loop ===
[[Image:Forever-previewless.gif|right|frame|A 70 pieces run without usage of next piece queue.]]
This is another slight variation of the technique above. It works with 0 previews, that means the player doesn't need any knowledge of the next piece queue. On the other hand, another requirement must be met, namely that it must be possible to drop the first 2 I pieces horizontally on the L,J,O section. If this isn't fulfilled, then you may have to restart. Here the S,Z,T section is on the left side, the L,J,O section is in the middle and the I piece section is on the right side.
{{pfstart}}
{{pfrow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
Line 668: Line 1,437:
{{pfrow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
{{pfrow| | | | | |G| | | | }}
{{pfrow| |T| | | | | | | | }}
{{pfrow| | | | | |G| | | | }}
{{pfrow|T|T| | |L|O|O|J| | }}
{{pfrow| | | | | |G| | | | }}
{{pfrow|T|T| | |L|O|O|J| | }}
{{pfrow| | | | | |G| | | | }}
{{pfrow|T|T| | |L|L|J|J| | }}
{{pfrow|G|G|G|G| |G|G|G|G|G}}
{{pfrow|T|Z| | |I|I|I|I| | }}
{{pfrow|G|G|G|G| |G|G|G|G|G}}
{{pfrow|Z|Z|S| |J|J|L|L| | }}
{{pfrow|G|G|G|G| |G|G|G|G|G}}
{{pfrow|Z|Z|S|S|J|O|O|L| | }}
{{pfrow|G|G|G|G| |G|G|G|G|G}}
{{pfrow|Z|Z|S|S|J|O|O|L| | }}
{{pfrow|Z|Z|S|S|L|O|O|J|I| }}
{{pfrow|Z|Z|S|S|L|O|O|J|I| }}
{{pfrow|Z|T|S|S|L|L|J|J|I| }}
{{pfrow|T|T|T|S|I|I|I|I|I| }}
{{pfend}}
 
If L resp. J shows up before O in the bag, then it is dropped with its head down. In contrast to the standard technique, sonic drop is used for J or L pieces instead of O pieces. More precisely, sonic drop is needed, if the piece order is L-O-J or J-O-L within a bag. The column to the left and to the right of the L,J,O section must be empty above the L,J,O stack. This is also why the L,J,O section must be in the middle.
 
T pieces are dropped first on the Z piece stack. At the end of each bag, the Z piece stack is higher than the S piece stack. Together with the 2 horizontal dropped I pieces, it guarantees that the L,J,O stack is at least 2 columns higher than the S piece stack. Thus, it is always possible to move a L piece under an O piece (in case of the piece order J-O-L).
 
{| border=1 cellspacing=0
|-
! width=80 align=center | bags 1 & 2
| width=200 style="padding-left: 8pt; padding-right:6pt;" | Hold first T until second T shows up and drop them both on S stack. Score a Tetris with first I.
| {{sstart}}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  | J| J| L| L|  |  }}
{{srow|  | Z|  |  | J| O| O| L|  |  }}
{{srow| Z| Z| S|  | J| O| O| L|  |  }}
{{srow| Z| Z| S| S| L| O| O| J|  |  }}
{{srow| Z| Z| T| S| L| O| O| J|  |  }}
{{srow| Z|-T| T| T| L| L| J| J|  |  }}
{{srow|-T|-T| T| T|-L|-O|-O|-J|  |  }}
{{srow|-T|-T| T| T|-L|-O|-O|-J|  |  }}
{{srow|-T|-T| S| T|-L|-L|-J|-J|  |  }}
{{srow|-T|-Z| S| S|-I|-I|-I|-I| I|  }}
{{srow|-Z|-Z|-S| S|-J|-J|-L|-L| I|  }}
{{srow|-Z|-Z|-S|-S|-J|-O|-O|-L| I|  }}
{{srow|-Z|-Z|-S|-S|-J|-O|-O|-L| I|  }}
{{srow|-Z|-Z|-S|-S|-L|-O|-O|-J|-I| I}}
{{srow|-Z|-Z|-S|-S|-L|-O|-O|-J|-I| I}}
{{srow|-Z|-T|-S|-S|-L|-L|-J|-J|-I| I}}
{{srow|-T|-T|-T|-S|-I|-I|-I|-I|-I| I}}
{{pfend}}
|-
! align=center | bags 3 & 4
| style="padding-left: 8pt; padding-right:6pt;" | Hold first T until second T shows up and drop them both on Z stack. Score a Tetris with first I.
| {{sstart}}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  | Z|  |  |  |  |  |  |  |  }}
{{srow| Z| Z|  |  | J| J| L| L|  |  }}
{{srow| Z| T|  |  | J| O| O| L|  |  }}
{{srow| T| T|  |  | J| O| O| L|  |  }}
{{srow| T| T|  |  | L| O| O| J|  |  }}
{{srow| T| T| S|  | L| O| O| J|  |  }}
{{srow| T| Z| S| S| L| L| J| J|  |  }}
{{srow| Z| Z| S| S|-J|-J|-L|-L|  |  }}
{{srow| Z|-Z| S| S|-J|-O|-O|-L|  |  }}
{{srow|-Z|-Z|-S| S|-J|-O|-O|-L|  |  }}
{{srow|-Z|-Z|-S|-S|-L|-O|-O|-J|  |  }}
{{srow|-Z|-Z|-T|-S|-L|-O|-O|-J|  |  }}
{{srow|-Z|-T|-T|-T|-L|-L|-J|-J| I|  }}
{{srow|-T|-T|-T|-T|-L|-O|-O|-J| I|  }}
{{srow|-T|-T|-T|-T|-L|-O|-O|-J| I|  }}
{{srow|-T|-T|-S|-T|-L|-L|-J|-J| I|  }}
{{srow|-T|-Z|-S|-S|-I|-I|-I|-I|-I| I}}
{{srow|-Z|-Z|-S|-S|-J|-J|-L|-L|-I| I}}
{{srow|-Z|-Z|-S|-S|-J|-O|-O|-L|-I| I}}
{{srow|-Z|-Z|-S|-S|-J|-O|-O|-L|-I| I}}
{{pfend}}
|-
! align=center | bags 5 & 6
| style="padding-left: 8pt; padding-right:6pt;" | Hold first T until second T shows up and drop them both on S stack. Score a Tetris with first I.
| {{sstart}}
{{srow|  |  |  |  | J| J| L| L|  |  }}
{{srow|  | Z|  |  | J| O| O| L|  |  }}
{{srow| Z| Z| T|  | J| O| O| L|  |  }}
{{srow| Z| Z| T| T| L| O| O| J|  |  }}
{{srow| Z| Z| T| T| L| O| O| J|  |  }}
{{srow| Z|-Z| T| T| L| L| J| J|  |  }}
{{srow|-Z|-Z| S| T|-J|-J|-L|-L|  |  }}
{{srow|-Z|-T| S| S|-J|-O|-O|-L|  |  }}
{{srow|-T|-T| S| S|-J|-O|-O|-L|  |  }}
{{srow|-T|-T| S| S|-L|-O|-O|-J|  |  }}
{{srow|-T|-T|-S| S|-L|-O|-O|-J|  |  }}
{{srow|-T|-Z|-S|-S|-L|-L|-J|-J|  |  }}
{{srow|-Z|-Z|-S|-S|-J|-J|-L|-L|  |  }}
{{srow|-Z|-Z|-S|-S|-J|-O|-O|-L| I|  }}
{{srow|-Z|-Z|-S|-S|-J|-O|-O|-L| I|  }}
{{srow|-Z|-Z|-S|-S|-L|-O|-O|-J| I|  }}
{{srow|-Z|-Z|-T|-S|-L|-O|-O|-J| I|  }}
{{srow|-Z|-T|-T|-T|-L|-L|-J|-J|-I| I}}
{{srow|-T|-T|-T|-T|-L|-O|-O|-J|-I| I}}
{{srow|-T|-T|-T|-T|-L|-O|-O|-J|-I| I}}
{{srow|-T|-T|-S|-T|-L|-L|-J|-J|-I| I}}
{{pfend}}
{{pfend}}
|{{pfstart}}
|-
{{pfrow| | | | | | | | | | }}
! align=center | bag 7
{{pfrow| | | | | | | | | | }}
| style="padding-left: 8pt; padding-right:6pt;" |  Use T and L for Single line skimming. Score a Tetris with I. Put J with its head down on the edge of the LJO stack and place O beside it.
{{pfrow| | | | | | | | | | }}
| {{sstart}}
{{pfrow|S|T|T|T| | |J|J|L|L}}
{{srow| | | | | | | | | | }}
{{pfrow|S|S|T|Z| | |J|O|O|L}}
{{srow| | | | | | | | J| | }}
{{pfrow|S|S|Z|Z| | |J|O|O|L}}
{{srow| | | | | O| O| | J| | }}
{{pfrow|S|S|Z|Z| | |L|O|O|J}}
{{srow| | Z| | | O| O| J| J| | }}
{{pfrow|T|S|Z|Z|I|I|L|O|O|J}}
{{srow| Z| Z| S| |-J|-J|-L|-L|  |  }}
{{pfrow|T|T|Z|T|I|I|L|L|J|J}}
{{srow| Z|-Z| S| S|-J|-O|-O|-L|  |  }}
{{pfrow|T|Z|T|T|I|I|J|J|L|L}}
{{srow|-Z|-Z|-T| S|-J|-O|-O|-L|  |  }}
{{pfrow|Z|Z|S|T|I|I|J|O|O|L}}
{{srow|-Z|-Z|-T|-T|-L|-O|-O|-J|  |  }}
{{pfrow|Z|Z|S|S|I|G|J|O|O|L}}
{{srow|-Z|-Z|-T|-T|-L|-O|-O|-J|  |  }}
{{pfrow|Z|Z|S|S|I|G|J|J|L|L}}
{{srow|-Z|-Z|-T|-T|-L|-L|-J|-J|  |  }}
{{pfrow|Z|T|S|S|I|G|J|O|O|L}}
{{srow|-Z|-Z|-S|-T|-J|-J|-L|-L|  |  }}
{{pfrow|T|T|T|S|I|G|J|O|O|L}}
{{srow|-Z|-T|-S|-S|-J|-O|-O|-L| T|  }}
{{pfrow|G|G|G|G|I|G|G|G|G|G}}
{{srow|-T|-T|-S|-S|-J|-O|-O|-L| T| T}}
{{pfrow|G|G|G|G|I|G|G|G|G|G}}
{{srow|-T|-T|-S|-S|-L|-O|-O|-J| T| }}
{{pfrow|G|G|G|G|I|G|G|G|G|G}}
{{srow|-T|-T|-S|-S|-L|-O|-O|-J| L}}
{{pfrow|G|G|G|G|I|G|G|G|G|G}}
{{srow|-T|-Z|-S|-S|-L|-L|-J|-J| L|  }}
{{srow|-Z|-Z|-S|-S|-J|-J|-L|-L| L| L}}
{{srow|-Z|-Z|-S|-S|-J|-O|-O|-L|-I| I}}
{{srow|-Z|-Z|-S|-S|-J|-O|-O|-L|-I| I}}
{{srow|-Z|-Z|-S|-S|-L|-O|-O|-J|-I| I}}
{{srow|-Z|-Z|-T|-S|-L|-O|-O|-J|-I| I}}
{{pfend}}
{{pfend}}
|{{pfstart}}
|-
{{pfrow| | | | | | | | | | }}
! align=center | bag 8
{{pfrow| | | | | | | | | | }}
| style="padding-left: 8pt; padding-right:6pt;" | Use T and L for Single line skimming. Score a Tetris with I. Put J with its head up on top of the other J and place O beside it.
{{pfrow| | | | | | | | | | }}
| {{sstart}}
{{pfrow|S|T|T|T| | |J|J|L|L}}
{{srow| | | | | | | | | | }}
{{pfrow|S|S|T|Z| | |J|O|O|L}}
{{srow| | | | | | | | | | }}
{{pfrow|S|S|Z|Z| | |J|O|O|L}}
{{srow| | | | | | | | | | }}
{{pfrow|S|S|Z|Z| | |L|O|O|J}}
{{srow| | | | | | | | | | }}
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
{{srow| | | | | | | | | | }}
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
{{srow|  |  |  |  |  |  |  | | | }}
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
{{srow| | | | | O| O| J| J|  |  }}
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
{{srow| | Z|  |  | O| O| J|-J|  | }}
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
{{srow| Z| Z| S| |-O|-O| J|-J|  |  }}
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
{{srow| Z|-Z| S| S|-O|-O|-J|-J| | }}
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
{{srow|-Z|-Z|-S| S|-J|-J|-L|-L| | }}
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
{{srow|-Z|-Z|-S|-S|-J|-O|-O|-L| L| }}
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
{{srow|-Z|-Z|-T|-S|-J|-O|-O|-L| L| }}
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
{{srow|-Z|-Z|-T|-T|-L|-O|-O|-J| L| L}}
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
{{srow|-Z|-Z|-T|-T|-L|-O|-O|-J| T| }}
{{pfrow|-|-|-|-|-|-|-|-|-|-}}
{{srow|-Z|-Z|-T|-T|-L|-L|-J|-J| T| T}}
{{srow|-Z|-Z|-S|-T|-J|-J|-L|-L| T| }}
{{srow|-Z|-T|-S|-S|-J|-O|-O|-L|-T| I}}
{{srow|-T|-T|-S|-S|-L|-O|-O|-J|-T| I}}
{{srow|-T|-T|-S|-S|-L|-O|-O|-J|-L| I}}
{{srow|-T|-Z|-S|-S|-L|-L|-J|-J|-L| I}}
{{pfend}}
{{pfend}}
|{{pfstart}}
|-
{{pfrow| | | | | | | | | | }}
! align=center | bags 9 & 10
{{pfrow| | | | | | | | | | }}
| style="padding-left: 8pt; padding-right:6pt;" | Hold first T until second T shows up and drop them both on Z stack. Score a Tetris with first I.
{{pfrow| | | | | | | | | | }}
| {{sstart}}
{{pfrow| | | | | | | | | | }}
{{srow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
{{srow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
{{srow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
{{srow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
{{srow| | | | | | | | | | }}
{{pfrow| | | | | | | | | | }}
{{srow| | Z| | | | | | | | }}
{{pfrow| | | | | | | | | | }}
{{srow| Z| Z| | | J| J| L| L| | }}
{{pfrow| | | | | | | | | | }}
{{srow| Z| T| | | J| O| O| L| | }}
{{pfrow| | | | | | | | | | }}
{{srow| T| T| | | J| O| O| L| | }}
{{pfrow| | | | | | | | | | }}
{{srow| T| T| | | L| O| O| J| | }}
{{pfrow| | | | | | | | | | }}
{{srow| T| T| S| | L| O| O| J| | }}
{{pfrow| | | | | | | | | | }}
{{srow| T| Z| S| S| L| L| J| J| | }}
{{pfrow|S|T|T|T| | |J|J|L|L}}
{{srow| Z| Z| S| S|-O|-O|-J|-J| | }}
{{pfrow|S|S|T|Z| | |J|O|O|L}}
{{srow| Z|-Z| S| S|-O|-O|-J|-J| I| }}
{{pfrow|S|S|Z|Z| | |J|O|O|L}}
{{srow|-Z|-Z|-S| S|-O|-O|-J|-J| I| }}
{{pfrow|S|S|Z|Z| | |L|O|O|J}}
{{srow|-Z|-Z|-S|-S|-O|-O|-J|-J| I| }}
{{srow|-Z|-Z|-S|-S|-J|-J|-L|-L| I|  }}
{{srow|-Z|-Z|-S|-S|-J|-O|-O|-L|-L| I}}
{{srow|-Z|-Z|-T|-S|-J|-O|-O|-L|-L| I}}
{{srow|-Z|-Z|-T|-T|-L|-O|-O|-J|-T| I}}
{{srow|-Z|-Z|-S|-T|-J|-J|-L|-L|-T| I}}
{{pfend}}
{{pfend}}
|}
|}
<br>
=== 40 Lines Sprint ===


== Open questions ==
[[Image:Forever-sprint.gif|right|frame|A 102 pieces run of this sprint strategy.]]
Adapting this method to the following situations is left as an exercise for the reader:
*All tetris line clears
*High [[Drop#Gravity|gravity]]
*A shorter loop than 140 pieces
*No [[hold piece]]
*Fewer [[preview]]s, as seen in ''[[Tetris Worlds]]'' for Game Boy Advance and ''[[Tetris The Grand Master Ace]]'' and ''[[Tetris Evolution]]''
*14-piece bag randomizer


It should be noted that all solutions will necessarily be a bag-multiple of pieces in length. Also, all loops must produce a net change of 0 after a complete cycle. This means that all solutions must clear as many lines as they stack, which requires pieces in a multiple of 5. Combining these 2 conditions, it can be seen that all solutions will be a multiple of 5 bags.
This is yet another slight variation of the technique above. Here, the goal is not to loop but rather to clear 40 lines with a minimum number of guaranteed pieces. With this variation 40 lines can always be cleared within 15 bags, that means 104 dropped pieces at maximum and 1 piece in hold.


The STZ pattern loops every 4 bags, so all solutions that use it will necessarily be a multiple of 4-bags. Therefore with current techniques, in addition to the standard conditions above, the minimum loop size is 20 bags. As this is the size of the current solution, more efficient solutions will require a much revised approach.
{| border=1 cellspacing=0
|-
! width=80 align=center | bag 1
| width=200 style="padding-left: 8pt; padding-right:6pt;" | Hold Z if it comes before T. Put T horizontal on left side of SZT stack. Spin T if S is already there.
| {{sstart}}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  | Z|  |  |  | I|  |  |  |  }}
{{srow| Z| Z| S|  |  | I| J| J| L| L}}
{{srow| Z| T| S| S|  | I| J| O| O| L}}
{{srow| T| T| T| S|  | I| J| O| O| L}}
{{pfend}}
|-
! align=center | bags 2 & 3
| style="padding-left: 8pt; padding-right:6pt;" | Hold first T until second T shows up and drop them both on S stack. Put first I on top of existing I and use second I to score a Tetris.
| {{sstart}}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  | S|  |  |  |  |  |  |  }}
{{srow|  |  | S| S|  |  |  |  |  |  }}
{{srow|  |  | T| S|  |  | J| J| L| L}}
{{srow|  | Z| T| T|  | I| J| O| O| L}}
{{srow| Z| Z| T| T|  | I| J| O| O| L}}
{{srow| Z| Z| T| T|  | I| J| J| L| L}}
{{srow| Z| Z| S| T|  | I| J| O| O| L}}
{{srow| Z|-Z| S| S| I|-I| J| O| O| L}}
{{srow|-Z|-Z|-S| S| I|-I|-J|-J|-L|-L}}
{{srow|-Z|-T|-S|-S| I|-I|-J|-O|-O|-L}}
{{srow|-T|-T|-T|-S| I|-I|-J|-O|-O|-L}}
{{pfend}}
|-
! align=center | bags 4 & 5
| style="padding-left: 8pt; padding-right:6pt;" | Hold first T until second T shows up and drop them both on Z stack. Put first I on top of existing I and use second I to score a Tetris.
| {{sstart}}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  | T|  |  |  |  |  |  |  |  }}
{{srow| T| T| S|  |  |  | L| O| O| J}}
{{srow| T| T| S| S|  |  | L| O| O| J}}
{{srow| T| T| S| S|  |  | L| L| J| J}}
{{srow| T| Z| S| S|  | I| L| O| O| J}}
{{srow| Z| Z|-S| S|  | I| L| O| O| J}}
{{srow| Z| Z|-S|-S|  | I| L| L| J| J}}
{{srow| Z| Z|-T|-S|  | I|-J|-J|-L|-L}}
{{srow| Z|-Z|-T|-T| I|-I|-J|-O|-O|-L}}
{{srow|-Z|-Z|-T|-T| I|-I|-J|-O|-O|-L}}
{{srow|-Z|-Z|-T|-T| I|-I|-J|-J|-L|-L}}
{{srow|-Z|-Z|-S|-T| I|-I|-J|-O|-O|-L}}
{{pfend}}
|-
! align=center | bags 6 & 7
| style="padding-left: 8pt; padding-right:6pt;" | Hold first T until second T shows up and drop them both on S stack. Score a Tetris with first I.
| {{sstart}}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  | S|  |  |  |  |  |  |  }}
{{srow|  |  | S| S|  |  |  |  |  |  }}
{{srow|  |  | T| S|  |  | L| O| O| J}}
{{srow|  | Z| T| T|  |  | L| O| O| J}}
{{srow| Z| Z| T| T|  |  | L| L| J| J}}
{{srow| Z| Z| T| T|  |  | J| J| L| L}}
{{srow| Z| Z| S| T|  |  | J| O| O| L}}
{{srow| Z|-T| S| S|  | I| J| O| O| L}}
{{srow|-T|-T|-S| S|  | I|-L|-O|-O|-J}}
{{srow|-T|-T|-S|-S|  | I|-L|-O|-O|-J}}
{{srow|-T|-T|-S|-S|  | I|-L|-L|-J|-J}}
{{srow|-T|-Z|-S|-S| I|-I|-L|-O|-O|-J}}
{{srow|-Z|-Z|-S|-S| I|-I|-L|-O|-O|-J}}
{{srow|-Z|-Z|-S|-S| I|-I|-L|-L|-J|-J}}
{{srow|-Z|-Z|-T|-S| I|-I|-J|-J|-L|-L}}
{{pfend}}
|-
! align=center | bags 8 & 9
| style="padding-left: 8pt; padding-right:6pt;" | Hold first T until second T shows up and drop them both on Z stack. Score a Tetris with first I.
| {{sstart}}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  | T|  |  |  |  |  |  |  |  }}
{{srow| T| T| S|  |  |  | L| O| O| J}}
{{srow| T| T| S| S|  |  | L| O| O| J}}
{{srow| T| T| S| S|  |  | L| L| J| J}}
{{srow| T| Z| S| S|  |  | L| O| O| J}}
{{srow| Z| Z|-S| S|  |  | L| O| O| J}}
{{srow| Z| Z|-S|-S|  |  | L| L| J| J}}
{{srow| Z| Z|-T|-S|  |  |-L|-O|-O|-J}}
{{srow| Z|-Z|-T|-T|  | I|-L|-O|-O|-J}}
{{srow|-Z|-Z|-T|-T|  | I|-L|-L|-J|-J}}
{{srow|-Z|-Z|-T|-T|  | I|-J|-J|-L|-L}}
{{srow|-Z|-Z|-S|-T|  | I|-J|-O|-O|-L}}
{{srow|-Z|-T|-S|-S| I|-I|-J|-O|-O|-L}}
{{srow|-T|-T|-S|-S| I|-I|-L|-O|-O|-J}}
{{srow|-T|-T|-S|-S| I|-I|-L|-O|-O|-J}}
{{srow|-T|-T|-S|-S| I|-I|-L|-L|-J|-J}}
{{pfend}}
|-
! align=center | bags 10 & 11
| style="padding-left: 8pt; padding-right:6pt;" | Hold first T until second T shows up and drop them both on S stack. Score a Tetris with first I.
| {{sstart}}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  | S|  |  |  |  |  |  |  }}
{{srow|  |  | S| S|  |  |  |  |  |  }}
{{srow|  |  | T| S|  |  | J| J| L| L}}
{{srow|  | Z| T| T|  |  | J| O| O| L}}
{{srow| Z| Z| T| T|  |  | J| O| O| L}}
{{srow| Z| Z| T| T|  |  | L| O| O| J}}
{{srow| Z| Z| S| T|  |  | L| O| O| J}}
{{srow| Z|-T| S| S|  |  | L| L| J| J}}
{{srow|-T|-T|-S| S|  |  |-L|-O|-O|-J}}
{{srow|-T|-T|-S|-S|  |  |-L|-O|-O|-J}}
{{srow|-T|-T|-S|-S|  |  |-L|-L|-J|-J}}
{{srow|-T|-Z|-S|-S|  | I|-L|-O|-O|-J}}
{{srow|-Z|-Z|-S|-S|  | I|-L|-O|-O|-J}}
{{srow|-Z|-Z|-S|-S|  | I|-L|-L|-J|-J}}
{{srow|-Z|-Z|-T|-S|  | I|-L|-O|-O|-J}}
{{srow|-Z|-Z|-T|-T| I|-I|-L|-O|-O|-J}}
{{srow|-Z|-Z|-T|-T| I|-I|-L|-L|-J|-J}}
{{srow|-Z|-Z|-T|-T| I|-I|-J|-J|-L|-L}}
{{srow|-Z|-Z|-S|-T| I|-I|-J|-O|-O|-L}}
{{pfend}}
|-
! align=center | bags 12 & 13
| style="padding-left: 8pt; padding-right:6pt;" | Hold first T until second T shows up and drop them both on Z stack. Score a Tetris with first I. Score a Double with second O. Put L and J with their heads down.
| {{sstart}}
{{srow|  | T|  |  |  |  |  |  |  |  }}
{{srow| T| T| S|  |  |  | L|  |  | J}}
{{srow| T| T| S| S|  |  | L|  |  | J}}
{{srow| T| T| S| S|  |  | L| L| J| J}}
{{srow| T| Z| S| S|  |  | J| J| L| L}}
{{srow| Z| Z|-S| S|  |  | J| O| O| L}}
{{srow| Z| Z|-S|-S|  |  | J| O| O| L}}
{{srow| Z| Z|-T|-S|  |  |-J|-J|-L|-L}}
{{srow| Z|-Z|-T|-T|  |  |-J|-O|-O|-L}}
{{srow|-Z|-Z|-T|-T|  |  |-J|-O|-O|-L}}
{{srow|-Z|-Z|-T|-T|  | I|-L|-O|-O|-J}}
{{srow|-Z|-Z|-S|-T|  | I|-L|-O|-O|-J}}
{{srow|-Z|-T|-S|-S|  | I|-L|-L|-J|-J}}
{{srow|-T|-T|-S|-S|  | I|-L|-O|-O|-J}}
{{srow|-T|-T|-S|-S| O| O|-L|-O|-O|-J}}
{{srow|-T|-T|-S|-S| O| O|-L|-L|-J|-J}}
{{srow|-T|-Z|-S|-S| I|-I|-L|-O|-O|-J}}
{{srow|-Z|-Z|-S|-S| I|-I|-L|-O|-O|-J}}
{{srow|-Z|-Z|-S|-S| I|-I|-L|-L|-J|-J}}
{{srow|-Z|-Z|-T|-S| I|-I|-L|-O|-O|-J}}
{{pfend}}
|-
! align=center | bags 14 & 15
| style="padding-left: 8pt; padding-right:6pt;" | Use both T pieces for Single line skimming. Use both O pieces for scoring Doubles. Score a Tetris with first I. Put second I on hold until second T shows up, then score a Tetris.
| {{sstart}}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  |  |  |  |  |  |  |  |  |  }}
{{srow|  | Z|  |  |  |  |  |  |  |  }}
{{srow| Z| Z| S|  |  |  | L|  |  | J}}
{{srow| Z| Z| S| S|  |  | L|  |  | J}}
{{srow| Z| Z| S| S|  |  | L| L| J| J}}
{{srow| Z|-T| S| S| O| O| L| L| J| J}}
{{srow|-T|-T|-S| S| O| O|-L| L| J|-J}}
{{srow|-T|-T|-S|-S| I| T|-L| L| J|-J}}
{{srow|-T|-T|-S|-S| T| T|-L|-L|-J|-J}}
{{srow|-T|-Z|-S|-S| I| T|-J|-J|-L|-L}}
{{srow|-Z|-Z|-S|-S| I| T|-J|-O|-O|-L}}
{{srow|-Z|-Z|-S|-S| T| T|-J|-O|-O|-L}}
{{srow|-Z|-Z|-T|-S| I| T|-J|-J|-L|-L}}
{{srow|-Z|-Z|-T|-T| O| O|-J|-O|-O|-L}}
{{srow|-Z|-Z|-T|-T| O| O|-J|-O|-O|-L}}
{{srow|-Z|-Z|-T|-T| I|-I|-L|-O|-O|-J}}
{{srow|-Z|-Z|-S|-T| I|-I|-L|-O|-O|-J}}
{{srow|-Z|-T|-S|-S| I|-I|-L|-L|-J|-J}}
{{srow|-T|-T|-S|-S| I|-I|-L|-O|-O|-J}}
{{pfend}}
|}
-->


== See also ==
== See also ==
*[[ST stacking]], a method of making back-to-back T-spin doubles
*[[ST stacking]], a method of making back-to-back T-spin doubles


[[Category:Methods of Play]]
==External links==
*[http://citeseer.ist.psu.edu/34848.html How to Lose at Tetris]
*[http://arxiv.org/abs/cs.CC/0210020 Tetris is Hard, Even to Approximate]
*[http://en.wikipedia.org/wiki/Tetromino#Tiling_the_rectangle_and_filling_the_box_with_2D_pieces Tiling a rectangular space with tetrominoes]
*[http://harddrop.com/forums/index.php?showtopic=7096&st=0&p=83947&#entry83947 A Shorter Loop for Playing Forever]
 
[[Category:Guides]]

Latest revision as of 13:10, 27 January 2020

A 140-tetromino run of this strategy.

The following outlines a method of playing forever given the following conditions, which apply in many Tetris products since 2001:

Standard procedure

The 10x56 cell tiling that this method creates

The general method is achieved by dividing the screen into self contained sections as shown below. Specifically, the 4 left columns, the 4 right columns, and the 2 middle columns will be treated as distinct regions, with specific pieces assigned exclusively to each region. Because the random generator provides strings of bags containing each of the 7 pieces in a random order, it is possible to construct a strategy around the relatively small variation, with looping patterns.

S, T, and Z will be placed to the left, L, J, and O will be placed to the right, and I pieces will fill the middle.

 Z   I
ZZS  ILOOJ
ZTSS ILOOJ
TTTS ILLJJ


The S, T, and Z piece loop

STTT
SSTZ
SSZZ
SSZZ
TSZZ
TTZT
TZTT
ZZST
ZZSS
ZZSS
ZTSS
TTTS

This pattern loops after 4 bags of pieces. Depending on the order of the pieces for each bag, you may need to use Hold to force a piece to come last. Piece previews are technically not required to play this pattern.


The Z piece must drop after T, so use Hold to change the order if necessary:

 Z
ZZS
ZTSS
TTTS
GGGG


The T piece must not drop first, so use Hold to change the order if necessary:

   T
 ZTT
ZZST
ZGSS
GGGS

Option 1

T
TT
TZ
ZZS
ZGSS
GGGS

Option 2

The T piece must land diagonally adjacent to the other T, so use Hold to change the order if necessary:

S
SS Z
TSZZ
TTZG
TGGG
GGGG

Option 1 (needs
T before S)

S
SS Z
GSZZ
GGZT
GGTT
GGGT

Option 2 (needs
T before Z)

The T piece must drop last, so use Hold to change the order if necessary:

STTT
SSTZ
GSZZ
GGZG


The L, J, and O piece loop

This pattern loops after a single bag of pieces. Depending on the order of the pieces, you will need to use a different construction. At least 5 previews are required to choose the appropriate construction. Alternatively, it is possible to use 3 previews and clever use of Hold (that does not conflict with the STZ loop's Hold needs) to choose an approriate construction using some advanced techniques.

O first (OJL, OLJ):

      JJLL
      JOOL
      JOOL

O last (JLO, LJO):

      LOOJ
      LOOJ
      LLJJ

JOL: (mirror for LOJ)

      JJ
      J
      J

Drop J

      JJ
      J OO
      J OO

Soft-drop O

      JJ
      JOO
      JOO

Slide O

      JJLL
      JOOL
      JOOL

Drop L

Advanced techniques for when only 3 previews are available

Worst case bag distributions such as H?XX?X? and H?XXX?? deserve a special mention. The first piece 'H' denotes a piece which must be placed in Hold in order to follow the STZ loop procedure. Pieces from the LJO loop are denoted by '?', and the remaining pieces are denoted by 'X'. Using 3 previews and Hold, it is only possible to see the first 4 pieces of the bag before the second piece enters the screen. This means you only see H?XX, and only know the first piece of the LJO loop. Because H must be put in Hold, you are forced to make a decision without knowing the order of the rest of the LJO loop. If the O comes first, you can follow the procedure above without problems. The rest of the time you will run into complications like this:

Impossible O placement (eg. HLXXJXO, HLXXXJO):

      JJLL
      J  L
      J  L

Impossible J placement (eg. HLXXOXJ, HLXXXOJ):

      LOO
      LOO
      LL


When L or J come first it is impossible to determine which LJO pattern to use without knowing the order of the final 2 pieces. The solution to this problem is to wait until the first L or J piece enters the screen before making a decision. With the held piece, active piece, and 3 previews, you now see 5 pieces into the bag. This allows you to tell the LJO piece order for the case of H?XX?X?. However, in the case of H?XXX?? the order remains unknown. With this final worst case, the STZ loop is guaranteed to be finished before the second and third pieces of the LJO loop are dealt. This means Hold is available! You can start building whichever pattern you prefer, and use Hold to change the order of the final 2 pieces as necessary.

Tricky starts when only 3 previews are available

There is a worst case start that only complicates the very first bag when playing forever. With a sequence such as ?HXX?X? you can see a maximum of 4 pieces into the bag as you place the first piece. It is impossible to Hold the first piece (part of LJO) because the second piece (part of SZT) must be held. Additionally, because the second last piece is also part of the STZ loop, Hold cannot be used to change the order of the the final 2 LJO pieces as discussed above. So a decision must be made with only the first 4 pieces of the bag known. In this case, the solution is to note that the STZ pattern in the previous section requires the Z to be placed last. However, the mirror STZ pattern is equally feasible, and would require the S to be placed last. Because you have these 2 options, it is impossible that the first piece dealt for the STZ loop is required to be placed last. The worst case is now ?SZX?X?, which can be expressed as ?XHX?X?. By holding the first piece, placing the second, and holding the third, you can now see the first 6 pieces of the bag. This then allows you to choose an appropriate LJO pattern.

It should be noted that this affects only the very first bag of playing forever, which is not to be confused with the first bag of every 20-bag loop of playing forever. On subsequent loops, the first piece of the first bag is already in Hold. You can see the first 5 pieces of ?HXX?X? after you put H on Hold, which makes the first piece active, and sums to 5 with the 3 previews. It is only a problem for the first bag of the game because the player is restricted to a maximum of one use of Hold before placing a piece.

The I piece loop

This pattern loops every 2 bags. No use of Hold or piece previews is required. The player must simply alternate putting the I tetromino in columns 5 and 6 to reap tetrises.

    I
    I
    I
    I
    GI
    GI
    GI
    GI

Notice that the alternate JOL method will work only if the first I tetromino of the loop is placed away from the JLO heap.

Balancing the Stacks

Since the loops have a cycle of 4, 1, and 2 bags respectively, after playing 4 bags they will all be flat. However, the I loop will have only placed 8 rows compared to the 12 rows placed by both the STZ and LJO loops.

STTT  LOOJ
SSTZ  LOOJ
SSZZ  LLJJ
SSZZ  JJLL
TSZZIIJOOL
TTZTIIJOOL
TZTTIILOOJ
ZZSTIILOOJ
ZZSSIILLJJ
ZZSSIILOOJ
ZTSSIILOOJ
TTTSIILLJJ

The rows stacked
after 4 bags.

STTT  LOOJ
SSTZ  LOOJ
SSZZ  LLJJ
SSZZ  JJLL
----------
----------
----------
----------
----------
----------
----------
----------

Though of course,
lines have cleared.

STTT  LOOJ
SSTZ  LOOJ
SSZZ  LLJJ
SSZZ  JJLL

Leaving us with a
surplus.

In order to offset this balance, it is necessary to change strategy. Continue to do the standard STZ loop, while using the following LO and IJ loops.

The L, O piece loop

This pattern loops after 2 bags of pieces. Order is not important, and therefore neither Hold nor piece previews are strictly required for it.

        L
      OOL
      OOLL
      OOLL
      OOGL
      GGGL
      GGGG

The I, J piece loop

This pattern loops after 2 bags of pieces. Order is not important, and therefore neither Hold nor piece previews are strictly required for it.

JIIJ:

GGGG  GGGG
GGGG IGGGG
GGGG IGGGG
GGGG IGGGG
GGGG IGGGG
GGGG JGGGG
GGGG JGGGG
GGGGJJGGGG
GGGGJJGGGG
GGGGJGGGGG
GGGGJGGGGG
GGGGIGGGGG
GGGGIGGGGG
GGGGIGGGGG
GGGGIGGGGG
GGGGGGGGGG

Because of line clears, the order is not very important. Even if you place pieces in the opposite order than what is shown, the net change in screen geometry will be the same:

GGGG  GGGG
GGGG JGGGG
GGGG JGGGG
GGGGJJGGGG
GGGG IGGGG
GGGG IGGGG
GGGG IGGGG
GGGG IGGGG
GGGG  GGGG
GGGG JGGGG
GGGG JGGGG
----------
GGGG IGGGG
GGGG IGGGG
GGGG IGGGG
GGGG IGGGG
GGGGJJGGGG
GGGGJJGGGG
GGGGJJGGGG
GGGG IGGGG
GGGG IGGGG
GGGG IGGGG
GGGG IGGGG
----------
----------
----------
GGGG IGGGG
GGGG IGGGG
GGGG IGGGG
GGGG IGGGG

Putting it all together

If you play the standard method for 12 bags, the balancing method for 4 bags, and finally the reverse balancing method (with LO on the left and STZ on the right) for 4 bags, then you will clear the entire screen allowing you to start over again and play indefinitely.

GGGG  GGGG
GGGG  GGGG
GGGG  GGGG
GGGG  GGGG
GGGG  GGGG
GGGG  GGGG
GGGG  GGGG
GGGG  GGGG
GGGG  GGGG
GGGG  GGGG
GGGG  GGGG
GGGG  GGGG

The net result of
12 bags stacked
the standard way.

STTT
SSTZ
SSZZ
SSZZ
TSZZ  OOLL
TTZT  OOLL
TZTT  OOLL
ZZST  OOLL
ZZSSJJOOLL
ZZSSJIOOLL
ZTSSJIOOLL
TTTSIIOOLL
GGGGIIGGGG
GGGGIJGGGG
GGGGIJGGGG
GGGGJJGGGG
GGGGJJGGGG
GGGGJIGGGG
GGGGJIGGGG
GGGGIIGGGG
GGGGIIGGGG
GGGGIJGGGG
GGGGIJGGGG
GGGGJJGGGG

The rows stacked
after 4 bags of
balanced stacking.

STTT
SSTZ
SSZZ
SSZZ
TSZZ  OOLL
TTZT  OOLL
TZTT  OOLL
ZZST  OOLL
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------

Of course,
line clears
have actually...

STTT
SSTZ
SSZZ
SSZZ
TSZZ  OOLL
TTZT  OOLL
TZTT  OOLL
ZZST  OOLL

...kept things
realistically short.

GGGG
GGGG
GGGG
GGGG
GGGG  GGGG
GGGG  GGGG
GGGG  GGGG
GGGG  GGGG

Where we left off.

OOLLJJTTTZ
OOLLJISTZZ
OOLLJISSZZ
OOLLIISSZZ
OOLLIISSZT
OOLLIJTSTT
OOLLIJTTST
OOLLJJTZSS
GGGGJJZZSS
GGGGJIZZSS
GGGGJIZZTS
GGGGIIZTTT
GGGGIIGGGG
GGGGIJGGGG
GGGGIJGGGG
GGGGJJGGGG

4 bags balancing
the other side.

----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------
----------

Back to
square one.

The Final Bag

The final bag requires some special consideration. Because the sides are getting low, the J piece will not necessarily clear. So I must come before J in order to follow the pattern. You can't rely on using Hold for this as a worst case scenario (eg. TJIxxxx) would also require you to Hold the T. To deal with this problem, you can follow the procedure below.

     I
     I
     I
     I
    JJ
  G JG
GGG JG   G
GGGG GG GG
GGGG GGGGG
GGGG GGGGG
GGGG GGGGG
GGGGGGGGGG

Stack the I on
top of the J.

     I
     I
     I
     I
OOLLJJTTTZ
OOGLJGSTZZ
GGGLJGSSZG
GGGG GGSGG
GGGG GGGGG
GGGG GGGGG
GGGG GGGGG
GGGGGGGGGG

Play the
remainder.

     I
     I
     I
     I
----------
----------
----------
GGGG GGSGG
GGGG GGGGG
GGGG GGGGG
GGGG GGGGG
----------
     I
     I
     I
     I
GGGG GGSGG
GGGG GGGGG
GGGG GGGGG
GGGG GGGGG

The end of the
20-bag loop.

But after the first bag of the next loop, we're exactly where we expect to be:

     G
     G
     G
     G
GGGG GGGGG
GGGG GGGGG
GGGG GGGGG
GGGG GGGGG
 Z   G
ZZS  GJJLL
ZTSS GJOOL
TTTS GJOOL
GGGGIGGGGG
GGGGIGGGGG
GGGGIGGGGG
GGGGIGGGGG
 Z   G
ZZS  GJJLL
ZTSS GJOOL
TTTS GJOOL
----------
----------
----------
----------
 Z   G
ZZS  GJJLL
ZTSS GJOOL
TTTS GJOOL


5 Bag Solution

A shorter but far more complicated algorithm for Playing Forever in 5 bags was discovered by QM in 2014. It requires 4 piece previews to guarantee success.

This is the minimum possible Playing Forever loop, as a Perfect Clear must use 35 pieces (as the well is 10x10). To avoid parity issues with 5 T pieces, the Bag 2 T is used to clear a single and skim.

First Bag

Build this structure whenever possible.

 Z  IIII
ZZS JJLL
ZTSSJOOL
TTTSJOOL

If necessary, the JILO square can be built in a different order as long as it remains a 4x4 square.

If this structure was impossible (this is rare), place the I to the right.

 Z       I
ZZS JJLL I
ZTSSJOOL I
TTTSJOOL I

Second Bag

The second bag is built differently based on whether the JILO square was completed successfully or not. In either case, the J, L, O, S, and Z pieces are placed identically, like this:

    LOOJ
 Z  LOOJ
ZZS LLJJ
ZZSSIIII
ZZSSJJLL
ZTSSJOOL
TTTSJOOL

Again, the J, L, and O can be flipped if necessary.

The I and T pieces will be placed differently based on the completion of the JILO square in Bag 1.

Case A: The JILO square in Bag 1 was completed.

The T and I pieces should be used to line clear, in this order:

    LOOJ
 Z  LOOJ
ZZS LLJJ
ZZSSIIII
ZZSSJJLLT
ZTSSJOOLTT
TTTSJOOLT


    LOOJ
 Z  LOOJ
ZZS LLJJ I
ZZSSIIII I
ZZSSJJLLTI
TTTSJOOLTI


Leaving the end result of the second bag as this:

    LOOJ
 Z  LOOJ
ZZS LLJJ I
ZZSSIIII I


The T and I pieces can be placed at any time as long as Hold is used to ensure that the T is placed before the I.

Case B: The I piece in Bag 1 was placed to the right.

The I piece should be placed first using Hold to perform a Tetris line clear.

 Z  LOOJ
ZZS LOOJ
ZZSSLLJJII
ZZSSJJLLII
ZTSSJOOLII
TTTSJOOLII


Then, the T piece should be placed in one of these two ways, dependent on the order of Bag 3:

T facing to the left

         T
 Z  LOOJTT
ZZS LOOJ T


T facing to the right

        T
 Z  LOOJTT
ZZS LOOJT


The T and I pieces can be placed at any time as long as Hold is used to ensure that the I is placed before the T.

Determining the direction of the T

With Hold and 4 piece previews, you can see the first 5 pieces of the third bag when placing the T. Based on the order of STZ in the third bag, decide which direction the T should be placed in using the first rule that applies:

1) If TZ comes first in {STZ}, the first two pieces of {IJLO} are OI, and Z comes before I, place facing left.

2) If T comes first, place facing right.

3) If Z comes first, place facing left.

4) If S comes first and is the only STZ piece in all 5 visible pieces, place facing right.

5) If S comes first and T comes second, place facing right.

6) If none of the previous rules apply, place facing left.

Bag 3

This bag is highly situational based on the order of the pieces.

Case A: The JILO square in Bag 1 was successfully completed.

If this is the case, place the pieces like this. Make sure to use Hold on Z to be sure it is possible.

    JJLL
ZZ  JOOL
TZZ JOOL
TTS GGGGI
TGSSGGGGI
GGGSGGGGIG
GGGGGGGGIG


Case B: The JILO square in Bag 1 was not successfully completed.

If this is the case, the S, T, and Z pieces should be placed in one of these two ways:

ZZ
TZZ
TTS     T
TGSSGGGGTT
GGGSGGGGT
T
TT
TZ
ZZS      T
ZGSSGGGGTT
GGGSGGGG T


Decide which one to build based on the T placement from Bag 2.

The I, J, L, and O pieces should be assembled to form a 4x4 square. Note that based on the order, this square can be assembled in whatever arrangement is necessary, including sideways, as long as it forms a square. These are just a few examples of how it could be built.

    JJLL
ZZ  JOOL
TZZ JOOL
TTS IIIIG
TGSSGGGGGG
GGGSGGGGG
    IIII
ZZ  JOOL
TZZ JOOL
TTS JJLLG
TGSSGGGGGG
GGGSGGGGG
    IJJJ
ZZ  IJOO
TZZ ILOO
TTS ILLLG
TGSSGGGGGG
GGGSGGGGG


This can be done without hold unless the order is OIJL or OILJ. In these cases Hold should be used either to modify the piece order to IO{JL} or to O{JL}I. Decide which of these is necessary based on when in the bag Hold is used for the S, T, and Z pieces. This will rarely happen, though.

Bag 4

The I, J, L, and O pieces in Bag 4 are placed into the holes left from the previous bags.

JJJIGGGGOO
GGJIGGGGOO
GGGIGGGGLL
GGGIGGGGGL
GGGGGGGGGL
GLLIGGGGOO
GGLIGGGGOO
GGLIGGGGJJ
GGGIGGGGJG
GGGGGGGGJG


Occasionally, the O piece may be placed in before the J or L on the corresponding side, as long as the I and J/L piece are already in.

In some cases, an I-spin may be necessary if the I shows up late in the sequence.

Placing the S, T, and Z

The first of S/Z and T should be placed like this:

    T
    TT
    TSS
    SS
     T
    TT
   ZZT
    ZZ


The last S/Z piece should be held to the end. 5 pieces of Bag 5 can then be seen in Hold + 4 piece previews. If T comes first in Bag 5's S, T, and Z, then place the S/Z piece like this:

    T
    TT
    TSSZZ
    SS  ZZ
     T
    TT
 SSZZT
SS  ZZ


If S or Z come first in Bag 5's S, T, and Z, place the S/Z piece like this:

    TZZ
    TTZZ
    TSS
    SS
   SST
  SSTT
   ZZT
    ZZ


Bag 5

The T piece and one of the S/Z pieces are placed like this:

    TZZ  T
    TTZZTT
    TSSZZT
    SS  ZZ

The other STZ piece is held until the end.

The 4x4 square on the side is filled with the I, J, L, and O pieces (This can be done in any way as long as the area is filled)

IIIITZZ  T
JJLLTTZZTT
JOOLTSSZZT
JOOLSS  ZZ
IIIITZZ  T
JOOLSS  ZZ


The final piece is placed in with an S/Z spin.

IIIITZZSST
JOOLSSSSZZ


Open questions

Adapting this method to the following situations is left as an exercise for the reader:


See also

  • ST stacking, a method of making back-to-back T-spin doubles

External links