Printable Version of Topic

Click here to view this topic in its original format

Forums - Hard Drop - Tetris Community _ Tetris _ A Shorter Loop for Playing Forever

Posted by: Question_Mark Dec 13 2014, 01:26 AM

[Post-edit: http://harddrop.com/forums/index.php?s=&showtopic=7096&view=findpost&p=83947 Or scroll down to the third post.]

Hello everybody! I'm finally back, after more than 3.5 years, and boy, have I got something to show you guys today. [Warning: Fuming with Fumens! Gasp.png ]

Playing Forever V2: 10-Bag Solution



The original method of http://harddrop.com/wiki/Playing_forever demonstrated that it is possible play continuously, and loops after 20 bags with a Perfect Clear/All Clear/Bravo ending, and achieves this by partitioning the Matrix into left, center, and right stacks ("heaps") of widths 4, 2, and 4, respectively.

QUOTE(Pineapple @ Dec 13 2014, 04:08 PM) *

tepples first came up with the idea of [[Playing Forever]], colour_thief solidified the proof, and I demonstrated that three previews was exactly enough (although in practice, you need to be able to calculate which piece of a bag you haven't seen yet, and be aware of the relevant edge case).



Those of you who remember me know I'm fond of really intricate analyses. But I'm making a big claim here, so obviously I had better justify it. Here are the details.


The reason the "old" method should require a minimum of 20 bags to loop is apparent from the ways pieces are stacked in the STZ heap. This build is not rectangular until it has been stacked for 4 bags. But at the same time the Matrix is 10 wide and tetrominoes have 4 pieces, so a PC solution requires a number of pieces that is a multiple of 5. Bags have 7 pieces, so we need a multiple of 5 bags, and a multiple of 4 bags, so any methods of playing forever (PF) that stack STZ this way would require 20 bags to solve.

The 5-bag minimum requirement is an inevitable minimum - that is, to get a PC ending on a bag seam. We can get a 10-bag solution, but it requires that we change the STZ stacking method to loop earlier than 4 bags. I don't know if it's impossible to make the original PF method loop more quickly, but I have found a method to modify the STZ stack in a way that loops after 2 bags by adding a J/L. I call these the JSTZ or LSTZ shunts, because they cut off the ordinary STZ loop after 2 bags.


It is important to stack LSTZ on the left and JSTZ on the right; otherwise some piece placements (T last, Hold unavailable) become impossible. However, stacking this way always permits LSTZ or JSTZ shunts when Hold is available.

LSTZ-1 and JSTZ-1 should be the primary mechanisms. Only build LSTZ-2 if the {LSTZ} sequence begins LT or TL, and likewise build JSTZ-2 if {JSTZ} begins JT or TJ. With that in mind, the LSTZ/JSTZ shunts can always be built with use of Hold. (Also, with the active piece and 4 piece previews, you can always see five pieces into the bag, so you can tell if the bag starts LT/JT or TL/TJ.)

What follows is a general overview for the stacking method.

Bag 1: Stack STZ as usual (for the old PF method); instead of dropping I vertically and stacking JLO into a 3 x 4 rectangle, instead stack IJLO into one 4 x 4 square.



Bag 2-4: Continue stacking as per the usual PF method: STZ on the left, I in the middle, LJO on the right. In Bag 4, try to hold I until the STZ pieces have all been placed, and place I horizontally across the top. This makes the total height of the (I)STZ and (I)JLO heaps 13 (although lines have cleared), since they each have one extra I tetromino.



Bag 5: Drop J, facing upward, into the 2-wide. Stack {OL} on the left, as in the "balanced stacking" used after Bag 12 in PF. Stack a mirror-image {STZ} heap on the right. Drop I into the 2-wide gap.

Bag 6: This is where the fundamental change starts to happen. Drop I into the 2-wide, and finish the {OL} loop on the left. Stack a {JSTZ} shunt on the right (this uses up the excess J without having to drop it into the 2-wide).



Bag 7-8: Mirror Bags 5-6. Specifically, in Bag 7, stack {STZ} (normally, not mirrored) on the left, and {OJ} on the right (but placed similar to {OL} in the old PF method), dropping L (pointing down) into the 2-wide. In Bag 8, stack an {LSTZ} shunt on the left, finish the {OJ} loop on the right, and drop I on the right-column of the 2-wide. If done correctly, the method should yield:

- A flat stack for the left and right 4 columns, both stacked to a height of 10 above the bottom of the Matrix.
- A single I tetromino on the right column of the 2-wide.



Bag 9: We split this bag into two components, its {IJLO} and {STZ} components. {IJLO} must all be dropped directly into the 2-wide gap as follows:
- I drops on the left.
- J drops inverted (like Γ).
- L drops inverted (like a backwards Γ).
- O drops right-side up.

If T comes first in Bag 10:

If S/Z comes first in Bag 10:

After extensive testing, I found that an extra I tetromino from Bag 8 is exactly what is needed to make this piece placement order-independent. (Of course, a mirrored setup can happen - place I on the left in Bag 8 and on the right in Bag 9 - as long as one I drops in each column of the 2-wide.)
As for the STZ, we again digress from the standard method. Place STZ horizontally, as in the standard setup for a 4-line PC. This must be done so that S or Z comes first, and so requires Hold (which is available since it was not needed for {IJLO}.

- If Z comes first, place it on the far-right of the playing field. Hold S until all other pieces in the bag have fallen and then place it.
- If S comes first, place it on the far-left of the playing field. Hold Z until all other pieces in the bag have fallen, and then place it.
- If T comes first, put it in Hold. Then as soon as S/Z arrives, place it as the previous two rules dictate, then place T, and hold the remaining Z/S piece until the end of the bag.



The way the final S/Z should be placed depends on the {STZ} order in the final Bag (Bag 10). If T comes first in Bag 10 ({STZ}=TSZ,TZS), then place S/Z right next to Z/S (i.e., they fit in a 2 x 6 rectangle). Then in Bag 10, T can be placed on top of it. If S or Z comes first in Bag 10 ({STZ}=STZ, ZTS, SZT, ZST), place the final S/Z in Bag 9 on top of the existing ZT/ST. If 4 piece previews are available, then between the Hold piece, the active piece, and the piece previews, the player can always know which {STZ} piece comes first in Bag 10 by the time they have to place the final piece (S/Z) of Bag 9.

Bag 10: Before placing pieces in this Bag, the field should contain only the three {STZ} pieces from Bag 9. We will use these to set up a modified version of the 4-line PC with STZ, as follows:
- Place {IJLO} to form a 4 x 4 square, skimming if necessary.
- Place {STZ} in the 4 x 6 space, half of which has been occupied by the Bag-9 {STZ}. The last piece must be an S or Z, and must be twisted into place using the standard SRS S/Z-spin double technique.

This last piece placement is somewhat situational. However, we placed {STZ} in Bag 9 to be consistent with these scenarios, so there is no conflict.
- If S and Z were placed adjacently in Bag 9, then the order of {STZ} in this bag is TSZ or TZS. Place TS/TZ (T on top of the last S/Z in Bag 9) and hold S until the end of the Bag. S-spin to complete the Perfect Clear, and finish the loop.
- If {STZ} in Bag 9 were all placed together, then the order of {STZ} in this bag is STZ, ZTS, SZT, or ZST. In these cases, place S/Z on the bottom of the Matrix so that it either fits perfectly or leaves a 2 x 1 hole. If Z/S comes next, put it into Hold and continue stacking until T comes. Place T on top of S/Z so that it mirrors the T in Bag 9. Finally, when all pieces have dropped except for the last Z/S, twist it into place to complete the Perfect Clear.




This completes the 70-piece (10-bag) loop, and also yields a perfect clear. However, there are several cases to consider:

In Bag 1, there are worst-case scenarios in which {IJLO} come in a bad order, requiring Hold to place in a 4 x 4 square pattern, and {STZ} also come in an order that requires Hold. These bad IJLO sequences are the following:

- OJIL
- OIJL, OILJ
- JILO
- JLIO

One would expect eight pairs of bad {IJLO} sequences, and note that OLIJ, LIJO, and LJIO are missing from this supposed sequence. However, they can all be placed by using the 2-column gap to the left of the {IJLO} heap, which is available for soft-dropping L or O and then sliding them into place. However, this cannot be used to solve the above sequences unless the entire playing field and stacking method are mirrored - a possibility that solves all cases besides OIJL and OILJ. These are truly impossible to solve without using Hold.

If the use of Hold for {IJLO} conflicts with its necessity for {STZ}, there are some circumstances in which the {IJLO} square simply cannot be built in Bag 1. In these cases, drop I into the 2-wide gap and build the {JLO} rectangle as normal; then try again in Bags 2, 3, or 4 to build the {IJLO} square. It is extremely unlikely that bad {IJLO} sequences and {STZ} sequences requiring Hold happen both for Bag 1 and Bag 2, but it is conceivable. However, if T is held to drop last in Bag 2, it can be placed in Bag 3 on either S or Z in such a way that Hold in Bag 3 is compatible with the use of Hold in any of the five worst-case scenarios for {IJLO}. In short, it should always be possible to complete the right-side {IJLO}-{JLO}-{JLO}-{JLO} pattern with {IJLO} occurring once at some point in the stack.

The more frequent problem is the 13-high (I)STZ stack. If {STZ} requires Hold and I comes early in Bag 4, it can sometimes become impossible to place the I on the STZ stack. To minimize the probability of this event occurring, I recommend that if an I comes early enough in Bag 1, place it on the left-hand side at the bottom of the Matrix (i.e., underneath the entire {STZ} stack). If this is possible, then you do not need to worry about placing it in Bag 4. This is obviously not always possible; however, there is a solution at low gravity where I is placed in the {OL}-{OL} loop in Bags 5-6 to form a 5 x 4 rectangle; this can always be done if the O is soft-dropped, and balances the height so that the rest of the sequence can continue to be stacked.

Finally, in contrast to the worst-case scenarios above, there is a best-case scenario for Bag 9 in which {IJLOSTZ}={IJLO}{STZ}, that is, the {IJLO} sequence is completed before the {STZ} sequence begins. In this case my proposed method actually yields an additional Perfect Clear midway through Bag 9 before the standard procedure gives its PC in Bag 10. If {IJLO} are distributed across the first five pieces, you can instead place the one {STZ} piece among them into Hold, further increasing the probability of this scenario.

-

I have found with experience that this method does not fail if the algorithm I described is followed very precisely. However, exactly what the algorithm entails is somewhat...more complicated than in the 20-bag-loop Playing Forever technique. I will be adding Fumens in the immediate future to elucidate this. For the time being, there is a Fumen at the top of the page which describes a complete playthrough of my proposed new method of PF-V2.

Hope you all enjoyed this!

Best,
-?

Obviously there are many situational elements to this method of stacking, some of which seem to conflict with others. I was trying to find a more satisfactory solution to these problems that made it clear why they can always be performed, but was unable to find one. However, in my pursuit of these problems I did discover a truly marvelous solution which this afterword is too narrow to contain...

Posted by: caffeine Dec 13 2014, 01:41 AM

Wow!

Posted by: Question_Mark Dec 13 2014, 01:46 AM

In the spirit of taking things too far: [CAUTION: MASSIVE MEGA-ESSAY POST]

Playing Forever V3.1 (5-bag loop)

At this point, the method loses most of its resemblance to the original Playing Forever solution. Like PF-V2, it also appears to require four piece previews to handle the worst-case scenarios. The first difference here is stacking the two 4-wide heaps next to each other, so that the 2-wide is on the extreme right. This is actually very important to the stacking method, as we shall see.

Now, a 5 bag solution will obviously contain 5 Ts in the generalized tiling of the playing field (a tiling that accounts for line clears), and as we all know T has unbalanced parity. That means we cannot usually make a PC solution in 5 bags unless skimming is used to make re-balancing of parity possible. My solution is to use the T from Bag 2 to perform this skim, so that an I piece can re-balance the parity.

Bag 1



Stack {STZ} as normal, and {IJLO} into a 4 x 4 square. In some cases this is impossible (I have calculated the probability, and there are at most 164 bags where the {IJLO} square cannot be resolved). For those cases, stack I on the right of the 2-wide gap, and build {JLO} and {STZ} as normally done in PF.



If {IJLO} has I first or last (P = 1/2, or 12 of 24 cases), {JLO} can be placed as normal and I added to the heap – either before {JLO} is started, or after it is completed. Of the remaining cases, there are four in which {JLO}=JOL or LOJ: JOIL, LOIJ, JIOL, or LIOJ. These are solved by stacking {JLO} horizontally (as a 4-high rectangle rather than 3-high) and dropping I on one side.

This leaves eight “bad” cases:
1*: OJIL, OLIJ
2*: OIJL, OILJ
3*: JILO, LIJO
4*: JLIO, LJIO

In fact, OJIL and (at sufficiently low gravities) JILO and LIJO are solvable by soft-dropping L or O respectively from the right-hand side – since the 2-wide is currently empty. A more detailed analysis of the bags in which there are worst case scenarios will likely follow in an appendix to Playing Forever V3.1.

Bag 2

The placement of Bag 2 depends on if Bag 1 was completed with an IJLO square (henceforth the normal method) or without (henceforth a worst-case scenario or WCS). We divide these scenarios into the general cases 2A and 2B, respectively.

Case 2A:

If Bag 1 was completed in the normal way, place Bag 2 as follows. Hold may be required to drop T before I, although this of course happens naturally with P = 1/2.


Case 2B:

If Bag 1 has a worst-case scenario (WCS), place Bag 2 similarly, but instead place T into Hold and place the other six pieces (the placement is order-independent).
T can be placed one of two ways,

and

To decide which way to place the T, use the fact that the first piece of Bag 3 is in Hold, and four previews are available, so we can see at least five pieces into the bag. Since {IJLO} contains four pieces and {STZ} three, we can see:
- The first two pieces of {STZ} and the first three pieces of {IJLO}, or
- The first piece of {STZ} and all of {IJLO}, or
- All of {STZ} and the first two pieces of {IJLO}.
In the first case, we can deduce the order of {STZ} and {IJLO}. Regardless, we always know at least the first {STZ} piece of Bag 3 and at least the first two pieces of {IJLO}. Now, the desired placement of {STZ} in Bag 3 is as follows:
- If T comes first in Bag 3, place T (from Bag 2) facing to the right. (*) (exceptions apply; see Bag 3 for details.)
- If Z comes first in Bag 3, place T facing to the left.
- If S comes first in Bag 3, and is the only visible {STZ} piece, place T facing to the right.
- If {STZ} starts as ST in Bag 3, place T facing to the right.
- If {STZ} starts as SZ in Bag 3, place T facing to the left.

This algorithm is designed to minimize dependence on Hold in Bag 3.

Bag 3

Caution: This bag is extremely situational. There is heavy analysis ahead.

Case 3A: This continues the standard-procedure branch, assuming the {IJLO} square was formed with no complications. There are five possible placements, considering the qualitatively distinct {STZ} and {IJLO} cases.

The first placement (labeled “Goal”) can be placed most of the time: Sufficient conditions are {IL} = IL (P = 1/2), or {IL} = LI and {STZ} = {ST}Z (P = 1/6), and these disjoint events give a minimum probability of P = 2/3. The placements are listed in descending order of preference. Placement #2 yields an isomorphic playing field, but requires line clears to set up. Placements #3 and #4 are still amenable to Bag 4, but require extra considerations when I precedes J in Bag 4. While you are guaranteed to be able to place #5 by holding Z to the end, it is not recommended. (I am still trying to work out a method to force Placements #1 through #4 to be possible).

Case 3B: Continuing the worst-case scenario branch, we see that it is possible to place {STZ} in Bag 3 with minimal Hold. There are essentially two configurations, a main placement for when Z drops last (TSZ, STZ) and a secondary placement for when Z precedes T (ZTS, ZST, SZT). (The main placement is also used for bags {IJLOS}{TZ} where {TZ} can be forced to drop as TZ because Hold has become available.)


Recall that the placement of T in Bag 2 pointed left in the main placement and right in the secondary placement; this orientation dependence is because, in Bag 4, we will drop L into the 2-wide if the main placement was used, and J if the secondary placement was used; the T orientation is used to ensure J/L-2-wide parity is conserved.

Since the first five pieces of Bag 3 were visible when choosing the T placement in Bag 2, the T placement algorithm we used guarantees placement of {STZ} in Bag 3 without any Hold conflict – Hold is only necessary for the {IJLOS}{TZ} case, where it may be used for {IJLO} as well as for {STZ} with no conflict.
The sole bad {STZ} case where Z neither precedes T nor drops last is TZS, which fits neither category. As in the Fumen (and as was accounted for in the Bag-2 T placement algorithm when T comes first in Bag 3), we handle this by placing T first as in the main {STZ} placement, and then using Hold to force the {STZ} case TSZ.

Since we are considering {STZ} and {IJLO} separately for Bag 3, it is important to us that the use of Hold be cross-compatible among the two. As we have seen, only one {STZ} case requires Hold, which is used to reverse the order of the last two pieces of TZS into TSZ. We need to consider whether Hold is available, or whether it must also be used for the {IJLO} square.

The bad cases from Bag 1 reappear here in Bag 3:

1*: OJIL, OLIJ
2*: OIJL, OILJ
3*: LIJO, JILO
4*: LJIO, JLIO


Notice that 1*, 3*, and 4* do not actually require Hold. We take advantage of the available clearance on either side of the {JLO} heap to place the pieces using soft-drop.

Thus, Hold is not required for these cases and so may be used if {STZ} requires it. A WCS Bag 3 is therefore avoided if {STZ} = TZS but {IJLO} is not the bad case 2*.

The WCS for {IJLO} is then 2*: {IJLO} = OI{JL}. In this case, soft-dropping is futile, and we require Hold to modify the piece order. To give us the greatest versatility, we consider two different ways of accomplishing this:
- OIJL => IOJL, OILJ => IOLJ
- OIJL => OJLI, OILJ => OLJI

Notice that the first solution Holds the first piece until the second has dropped, while the second solution Holds the second piece until the very end. We can now attempt to solve the WCS for Bag 3, namely, {STZ} = TZS (P = 1/6), and {IJLO} = OI{JL} (P = 2/24).
Suppose Hold is not available to reverse the order of the first two {IJLO} pieces O and I. Then we would be Holding Z, so TZ drops before I ({ITZ} = TZI). Considering O (which comes before I in the WCS), we must have that {IOTZ} = TZOI, TOZI, or OTZI. We solve all three cases by doing the following:
- Place O whenever it comes.
- Hold T to force {TZ} = ZT, placing ZT as per the secondary {STZ} placement in Bag 3.
- Now Hold is available again, so Hold I.
We then place the remainder of the bag, dropping I last (and thus forcing the good “I last” case of {IJLO}). However, this raises an “immediate” question: The normal way we accommodate T first in {STZ} in Bag 3 is by using the main placement of {STZ}. The orientation of the T in Bag 2 depended on this placement. If we switch {STZ} placements here, after placing T, then how can we ensure Bag 4 placement is possible?

We cannot ensure this, so the only solution is to identify this Bag-3 WCS before the Bag-2 T has even been placed. As tall an order as this is, it is in fact possible! The worst case happens only when {STZ} = TZS, {IJLO} = OI{JL}, and Hold cannot be used both to permute TZS => TSZ and OI{JL} => IO{JL}.

Remember that, when placing T last in Bag 2, we can see five pieces into Bag 3. If we see only {IJLOT}??, and ?? = ZS (but we cannot see it), then there is no conflict and this is not the WCS. Hold can be used for {STZ} and {IJLO} separately. The only other possibility for a WCS is that at least two of the three {STZ} pieces are visible among Hold and the piece previews. But then we would see {STZ} = TZ? = TZS. We would also see at least the first two pieces of {IJLO}, {IJLO}=OI??=OI{JL}.

Thus, we can identify the Bag-3 WCS using the (*) case in Bag 2.
In Bag 2:
- If TZ comes first in {STZ}, the first two pieces of {IJLO} are OI, and Z comes before I, then place T facing left.

Thus, we have solved the worst-case scenario for Bag 3 (predicated on a worst-case scenario for Bag 1). If we are not able to permute OI{JL} => IO{JL} and TZS => TSZ, then we are guaranteed to be able to permute OI{JL} => O{JL}I and TZS => ZTS. This conclusively proves that the {IJLO} square can always be formed by Bag 3, as is necessary for the method to work.

Bag 4

In this bag, we place S{TZ} or Z{TS}, where S/Z rests horizontally with its 1 x 2 base on columns 5 and 6. As in Playing Forever V2, if T comes early, place it into Hold until the first S/Z piece comes. The precise shape of the playing field in its current state has been engineered to accept the {IJLO} pieces easily.

Case 4A:

Pieces are placed as follows:


As done for PF-V2, hold the last S/Z of {STZ} until the end of the bag (in all except the special exception discussed below). With S/Z still in Hold, the active piece and four previews guarantee that the first {STZ} piece in Bag 5 is visible. As before, if this first piece is T, place the final S/Z adjacent to (and level with) the first. If the first piece is S/Z, place the Bag-4 S/Z on top of the first.


The unique exception to the above case is as follows. For Placements #1 through #4, if {IJLO} comes as {IJO}L, S is placed first, and Hold is not available to swap O and L (e.g., the bag TJIOSLZ), place STZ as normal and Hold L to the very end. The L can be placed with the following L-Spin technique, which requires the Z piece in order to work correctly.


Case 4B:

The playing field is isomorphic to Placement #5 in Case 3A, and pieces are placed accordingly.

Note: Just as in PF-V2, it is sometimes possible to get a lucky bag distribution where {IJLO} finishes in the first five pieces. In that case, using Hold to force the one {STZ} piece to drop after {IJLO} in Bag 4, we can occasionally score a second perfect clear midway through Bag 4 before the one that is supposed to occur in Bag 5.
Bag 5

The worst-case scenario branch and standard-procedure branch meet up at this last bag in the four {STZ} configurations discussed in Case 4A. The PC is completed as in Bag 10 of PF-V2. Place two pieces of {STZ}, placing the final S/Z into Hold until the end of the bag, and S/Z-spinning to finish the loop.


There we go! The minimal playing forever technique has been achieved! It took a lot (A LOT!) of work to come up with this, and chasing down some of those worst-case scenarios was an absolute pain. But (if nobody else) at least I feel it was worth the effort. Apart from that, I hope you all enjoyed it - and thank you to everyone who read the whole thing. smile.gif

Now, a few particular acknowledgements are in order: First, to colour_thief, tepples, and Pineapple, for devising the original pattern, making the continuity proof rigourous, and confirming that the method works with three piece previews. You took the big leap of faith to say that Tetris could be solved with a single algorithm and laid the foundations upon which both of my revisions were built - it's a foregone conclusion, but I couldn't have done it without you. (Also, I'm sorry I couldn't make PF-V3.1 work with three previews. Wink.png Let's leave that as an exercise to the reader.)

But the acknowledgement of greatest propinquity goes to Shuey, who has offered spiritual support and has been party to my development process since I first began to revise PF and has received countless 1,000+ word essay e-mails from me, thinking out loud, with nary a complaint. smile.gif He also learned how to stack both PF-V2 and PF-V3 (a version with a slightly different Bag 3 that could fail with P ~ 0.5%) - which until about two days ago was the most up-to-date version of my technique. That kind of solidarity means a lot to me, especially considering how complex both of those methods are compared to PF. Shuey, thanks for being there, mate. smile.gif I hope some part of this outline helps you figure out PF-V3.1.

Okay, guys, I've got grad school applications to do, so I'm out of here. When I have time, I'll be sure to upload more playthroughs - hopefully a video and/or a few NullPomino replays. I might also throw in some probabilistic calculations (just in case you guys want to know how I got that Bag 1 WCS lower bound of 164 bags). Until then, let me know what you think!

Cheerio,
-?

Posted by: Shuey Dec 13 2014, 03:29 PM

I'm saddened to see that nobody else has posted a comment Grin.png. I'm happy that caffeine was surprised, and I guess I can't expect him to say much more, but I really hope that more people will be excited about this topic.

QM, I think they WILL be as you keep sharing more of the secrets you've discovered along the way (the stuff you plan on telling them in due time Grin.png)! I'm pumped Grin.png.

------------
*UPDATE*
------------
I just finished reading your new/additional post (v3.1)! So cool to finally see this information released to the public! I hope that everyone who reads this thread will appreciate the significance of your discoveries. I am extremely honored to have been included in the process as it was evolving, and am eternally grateful to have met you. "Thank you" doesn't even come close to expressing how much I appreciate the journey thus far, and how much more is yet to come.

Posted by: Pineapple Dec 13 2014, 04:08 PM

QUOTE(Shuey @ Dec 13 2014, 03:29 PM) *

I'm saddened to see that nobody else has posted a comment Grin.png. I'm happy that caffeine was surprised, and I guess I can't expect him to say much more, but I really hope that more people will be excited about this topic.

I found out earlier this morning. Kitaru poked colour_thief, who in turn poked me. I'm not regularly browsing these forums any more, even though this stuff still interests me.

Small point of history: tepples first came up with the idea of [[Playing Forever]], colour_thief solidified the proof, and I demonstrated that three previews was exactly enough (although in practice, you need to be able to calculate which piece of a bag you haven't seen yet, and be aware of the relevant edge case).

I haven't had a chance to read it properly, but it looks pretty solid on first skim. One thought is that it might be possible to swap the I pieces in bags 4 and 5. But I am seriously impressed that a 10 bag loop is probably confirmed with this.

There is a sniff at the possiblity of a 5 bag loop, with certian bag orders of the 5th bag. The assumption that I was working with is that you'd start from this position at the start of the 5th bag, with the 4th T in hold: http://fumen.zui.jp/?v115@9gQ4EeglRpg0R4AeAtBeglRpg0A8Q4BtBehlh0B8At?A8BeD8JeAgH

I'll post more thoughts once I get back from Mahjong, tonight.

Posted by: Blitz Dec 13 2014, 05:15 PM

Are you guys looking for the shortest loop possible? If so, does a pattern that plays forever but does not need to loop with a perfect clear after a given amount of pieces count as a 0-bag loop or an infinite-bag loop? Or is that no loop at all?


This method allows you to play forever but does not end with a perfect clear. I dont have time to find a mathematical explanation for this, but I do have one simple rule that can explain how it works.
When the sides rise too high you can drop one of each tetromino (the entire content of one bag) into the two wide gap. This allowing you to once again stack up the sides untill you drop another bag in the middle and repeat.

I think this variation, starting with dropping the entire first bag into the middle column shows why this method works.

If we concider the moment a player drops a bag into the middle collumns as the start or the end of the loop, then the player can start a new loop whenever he wants as long as placing another 7 tetrominos in the middle does not result in a top out.
I didnt post about this until now because I didnt want to take all the attention from QMs discoveries right away.

Posted by: UJS3 Dec 13 2014, 05:40 PM

This looks cool! Haven't had time to read it carefully, but I'll definitely do so later.

Blitz, there are only a finite number of distinct board states, so any infinite game loops eventually smile.gif

Posted by: Question_Mark Dec 13 2014, 07:21 PM

Oh my goodness, some stuff has happened while I'm gone!

QUOTE(Pineapple @ Dec 13 2014, 04:08 PM) *

Small point of history: tepples first came up with the idea of [[Playing Forever]], colour_thief solidified the proof, and I demonstrated that three previews was exactly enough (although in practice, you need to be able to calculate which piece of a bag you haven't seen yet, and be aware of the relevant edge case).

Thanks for the info. This was vaguely pointed out to me earlier, but the internet archive was down and I couldn't check all the details. I'll add this to the OP.



QUOTE(Pineapple @ Dec 13 2014, 04:08 PM) *

There is a sniff at the possiblity of a 5 bag loop, with certian bag orders of the 5th bag. The assumption that I was working with is that you'd start from this position at the start of the 5th bag, with the 4th T in hold: http://fumen.zui.jp/?v115@9gQ4EeglRpg0R4AeAtBeglRpg0A8Q4BtBehlh0B8At?A8BeD8JeAgH

I'll post more thoughts once I get back from Mahjong, tonight.


Actually, a 5-bag loop is possible. smile.gif In fact, it's been where I spent 2/3rds of my time developing a shorter PF method. I'm currently writing it up, but the theory is even more complicated than what you've seen for the 10-bag loop. I guess the price you pay for a shorter loop is a much more situational method. Stay tuned.



Thanks again for all your support guys! smile.gif

Posted by: Question_Mark Dec 14 2014, 05:47 AM

It is done. Behold, http://harddrop.com/forums/index.php?s=&showtopic=7096&view=findpost&p=83947, with a five-digit number of characters, many Fumens, and a lot of very difficult case-by-case analysis. But it achieves the shortest possible 5-bag loop ending in a PC, and even permits a second PC as a lucky case. Hope you all enjoy it.

Posted by: zaphod77 Dec 14 2014, 07:28 AM

now, for your next trick... do it in 20G. smile.gif Any tetris game that will actually allow playing forever and follows the guideline goes to 20G.

Posted by: Shuey Dec 14 2014, 10:59 AM

zaphod, I understand where you're coming from, but I hope you are mostly joking, lol. What QM has discovered and shared with the community is one of the greatest Tetris discoveries in the history of the game. I think the fact that it's even been discovered is awesome enough on its own.

Posted by: Pineapple Dec 14 2014, 02:32 PM

I think that I can safely say that I feel like Oolon Colluphid today, in that I can say that this thread's title should actually be Well That About Wraps It Up for Bag.

Posted by: zaphod77 Dec 14 2014, 04:40 PM

QUOTE(Shuey @ Dec 14 2014, 10:59 AM) *

zaphod, I understand where you're coming from, but I hope you are mostly joking, lol. What QM has discovered and shared with the community is one of the greatest Tetris discoveries in the history of the game. I think the fact that it's even been discovered is awesome enough on its own.

I agree that the accomplishment is awesome.

I also am completely sure that there is no equivalent method for any non bag randomizer.

now just program this method into a bot for nullpo, and give it the needed settings for it to run it. see how far it can get. if you run into a spot it fails at, reprogram the bot and try again.

Posted by: Shuey Dec 14 2014, 05:11 PM

I think I speak for a lot of people when I say: Bots can be cool, but if they are the first and/or primary application, they take away from the natural, organic, joyful experience of discovery that most of us all crave.

Posted by: zaphod77 Dec 14 2014, 05:19 PM

well it's the simplest way to get a demonstration and make sure you didn't miss anything. i think foreverbot would be pretty cool.

Posted by: Question_Mark Dec 15 2014, 12:23 AM

QUOTE(zaphod77 @ Dec 14 2014, 07:28 AM) *

now, for your next trick... do it in 20G. smile.gif Any tetris game that will actually allow playing forever and follows the guideline goes to 20G.


To be fair, the only reason low gravity was even needed was to minimize the likelihood of Bag 1 being a WCS. I think the number of WCS bags goes up to 280, but it doesn't matter because Bag 3 solutions (including bad cases and the WCS) can all be done without low-gravity assumptions - either the T in the 2-wide, or the {STZ} stack in Bag 3, allows {IJLO} placement in all cases (except of course the OI{JL} case):


I only showed the main {STZ} placement, since replacing the Z with a T gives the other half and doesn't change anything for the secondary placement case. Here's how you deal with it at 20G: If S has dropped, then do the soft-drop placement according to this Fumen, and it's all good. If S hasn't dropped, then either a) Z has dropped, b) T has dropped, or c) ZT has dropped. At any rate, Hold is available, so use it to reverse the order of the first two pieces or (for {JL}IO) push the second piece to the end. Then you don't need to worry about gravity, because the {JLO} heap is right below where the pieces spawn and fall.

I can't even write a "Hello World" program, so I'm afraid the coding part will have to go to some skillful programming player. I'd be happy to write some pseudocode for the decision algorithm, though.

Obviously, you need to be competent with 20G finesse, and then know a few extra tricks to move pieces into hard-to-reach locations. For instance, if I get TZXXXXX at the start of a loop, I drop T, and then push Z into it and, while DAS'ing left, rapidly rotate CCW (left) nine times (the "epic flail"). More frequently, Z needs to climb over a small bump, so do the same but rotate CCW only five times.

There's also a really annoying case for, say, ISXXXXX, where you have to move S left one extra time, then rotate before moving right - otherwise, just rotating right fails all the SRS checks and doesn't rotate, and if you accidentally lock the piece that's the end of that!

Anyways, for all my theorizing I guess I have to admit: The proof is in the pudding. Here you go - As requested, and perhaps my final trick, a 20G NullPomino run. Unfortunately I ruined it by a misdrop (my 20G finesse sucks), but fortunately at an even 150 lines. At the very least, proof of concept, besides also possibly illustrating what the heck I've been talking about this whole time.

Cheers!
-?


Attached File(s)
Attached File  2014_12_14_16_05_21.rep ( 50.49k ) Number of downloads: 30

Posted by: Shuey Dec 15 2014, 01:05 AM

The original Playing Forever technique was never possible at 20G speeds, but it WAS and STILL IS awesome. QM's version is already awesome on its own, but the fact that he's been able to demonstrate it at 20G takes it further than I ever expected to see it go. I hope others will appreciate it on both accounts Wink.png.

With QM's permission, here is the video where he demonstrates his v3.1 technique at 20G:


Posted by: Shuey Dec 15 2014, 06:07 AM

My first attempt at v3.1!


Posted by: Question_Mark Dec 15 2014, 09:02 AM

QUOTE(Shuey @ Dec 15 2014, 06:07 AM) *

My first attempt at v3.1!
- YouTube video -

Seeing someone else correctly execute some of the trickiest parts of my technique (especially those I didn't explain) genuinely makes me feel fuzzy inside. Grin.png For those interested, allow me to point out some really good highlights of Shuey's execution.
1:59 - This is the perfectly executed "J-less I-Spin" for Bag 4, when you get an early Z and no J, but still have to place I. Bags like ZOSILTJ force you to do this. The execution is as follows: Rotate left, then DAS left, soft-drop, rotate right, rotate left. (Compare this to the I-spin at 11:53).
4:57 - That's a brilliant move. To avoid a WCS in Bag 1, he mirrors part of the entire 5-bag build so that the soft-drop O strategy still works. I think it's possible to achieve minimal Bag-1 WCS probability by being comfortable with the 5-bag build and its complete mirror-image, but seeing as I've never mentioned this, that's an extremely clever solution to come-up with extemporaneously.
8:41 - OLIJ/OILJ placement - note the "foot" of the L rests flat on the I when placed correctly.
10:00 - LJIO placement, when it's not at all obvious that that's the right way to go. Notice the I at 10:03 clears rows 2 and 3, exactly as needed for both O and Z placement.
10:31 - L-spin technique, correctly executed. The key is this: Soft-drop L on the far right, then rotate right (CW) - then drop and tap left, then rotate left (CCW). If it helps, think right, right, left, left so you don't panic! (note the big, friendly letters.)
11:53 - For a late-I, early-Z case, this I spin was done quite smoothly. This is the "usual" I-spin technique most SRS players know. The execution is: Rotate right, DAS left and soft-drop, then rotate right, then rotate left.
12:15 - Yep, lucky Bag 4 is lucky. Grin.png
12:43 - While knowing how to do the J-less I-spin in Bag 4 (vis-à-vis 1:59 above), it's generally good to drop J before I when you can, to make the I-spin "easier" (that is, more familiar to SRS players).

Yeah, looks like the run ended on a harsh OLIJ bag with an early ZS - that's one of the unavoidable WCS bags, for sure. The method can be carried on by taking the WCS branch - stacking Bag 2 carefully, making sure the IJLO is built in Bag 3, etc. But this just goes to show how rare WCS first bags actually are - Shuey made it to nearly 450 lines before encountering it for the first time, and this is his first run. Grin.png

I did notice that the L in Bag 3 sometimes ended up in Placement 5 when Placements 1 and 2 would have been possible - just something to look out for in the future. In general, if I comes before L in Bag 3, you're good to put the L on top of the I in the 2-wide - this is important because it frees up the order of {OL} and hence {IJLO} in Bag 4 to be maximally accommodating. Grin.png But that's pocket change here - all in all, well done Shuey!

Posted by: Pineapple Dec 15 2014, 09:12 AM

Thank you for the video replays, Shuey. I don't remember if I have Nullpomino installed or not, but it certainly makes showing other people easier.

When Kitaru poked my attention to this thread again tonight, with the words "demonstrated in 20G", I would have been satisfied if it has been any of the three methods. But... that it's the most fucking ridiculous of them all... I just... have no words...

I haven't read through the 10 bag method yet, but if it's anything as solid as the 5 bag method (and I expect that it is), then... just... wow...

I hope that whoever documents this onto any of the wikis preserves the original 20 bag method. It serves as a very good demonstration of where we've come from, to get this far.

Thank you, QM. I... don't celebrate anything at this time of year (truth be told, I hate Christmas), but this might be one of the best Christmas presents I've had in quite some time...

Posted by: Alexandra Dec 15 2014, 10:19 AM

whoa

Posted by: Shuey Dec 15 2014, 01:02 PM

Thanks QM and Pineapple! smile.gif

I definitely need to study the theory and get a handle on optimal placement, especially since this first attempt was merely a combination of what I had seen and learned from QM, mixed with "play by feel". But considering how far I got in my first attempt, I'm definitely happy. If you had seen how far I got in some of my early attempts at v2 (not far at all, lol), it would definitely make you appreciate this v3.1 run a lot more Grin.png

I haven't talked to QM yet about the wiki, but I think I speak for both of us when I say that QM, nor anyone else, would never want to take away any of the information about the original method! That was, and is still, groundbreaking. And it's a part of history. Erasing that would be like removing Dr. J from basketball history smile.gif.

Posted by: Shuey Dec 16 2014, 03:27 AM

When I attempted the run last night, it was after 1am in the morning, so I'm not surprised I lost my flow after the first 30 minutes, lol.

Since I knew I could've kept going had I not messed up, I fired up the replay of the game from last night (when I got home from work today, lol) and I resumed from where I left off. I ended up clearing over 1500 lines before I finally crashed and burned.

I don't know how anybody else will feel if and when they try a long run of this method, but it starts to mess with my head after I repeat it over and over again Grin.png. I still had a good time though!

Since the real-time length of this run was 96 minutes long, I sped it up to 4x. I didn't want to increase the speed too much for fear that it would be hard to see all the moves/choices. You'll notice a few times throughout where I had to shift or deviate, especially when I had a couple times where I had to start with a T-piece for a couple of the perfect clears.

Hopefully people will continue to enjoy the discovery of this new method. A huge thank you again to QM!!



Posted by: Question_Mark Dec 16 2014, 04:08 AM

QUOTE(Shuey @ Dec 16 2014, 03:27 AM) *

When I attempted the run last night, it was after 1am in the morning, so I'm not surprised I lost my flow after the first 30 minutes, lol.

Since I knew I could've kept going had I not messed up, I fired up the replay of the game from last night (when I got home from work today, lol) and I resumed from where I left off. I ended up clearing over 1500 lines before I finally crashed and burned.


You scooped me by ten minutes! Grin.png I was actually getting ready to post my long playthrough, but had to go eat dinner. Amazing job with the 1,559 line run! I would not have been able to play for that long and still keep my focus. I admittedly haven't seen everything, but that I piece that ended your run could still be twisted into place, meaning the method is still theoretically continuable (emphasis on theoretically! 1.5+ hours is plenty long for a Tetris run.)

What I was going to post is this robustness test in NullPomino I made to see how sustainable this method is, and if there are any WCS's I haven't found yet. No new cases showed up, nor did I see a Bag 3 WCS (although I think I ran into several Bag 1 WCS's, and stacked accordingly). I haven't worked out the exact probabilities, but given that it requires TZS (P = 1/6) and OI{JL} (P = 1/12) as well as other considerations, it's for sure less than once in 72 WCS-branch cases, which are already pretty rare. Which, coincidentally, is little more than once in a thousand lines if every single first bag is a WCS. My 1,000-line test did not find one.

QUOTE(Shuey @ Dec 16 2014, 03:27 AM) *

I don't know how anybody else will feel if and when they try a long run of this method, but it starts to mess with my head after I repeat it over and over again Grin.png. I still had a good time though!


I basically have this down to a muscle memory, but I still stop to think sometimes in Bag 3 (does I come before L? Does Z come last? Can I make sure both of them happen with Hold? The actual algorithm is kind of difficult to do in your head.) But I'll admit, I start to try to play faster and faster, and then bump into my DAS limits, so my problem is really just being a bit reckless with finesse at high speeds. Grin.png


Attached File(s)
Attached File  Thousand_PFV3.1_2014_12_15_19_15_49.rep ( 255.4k ) Number of downloads: 29

Posted by: Shuey Dec 16 2014, 02:21 PM

I hadn't even noticed your reply until AFTER our conversation this morning Grin.png. I'm supposed to get email notifications, but they don't seem to be working 100% of the time, lol.

Thanks for the comments and feedback smile.gif. I look forward to checking out your replay when I have time (maybe on my lunch hour today at work)!!

Posted by: zaphod77 Dec 17 2014, 10:11 PM

feel free to post pseudocode explaining what exactly the bot would need to do. then someone can implement it, and run it until a case that hasn't been handled shows up, at whch point it can be reprogrammed to fix it. Wink.png

Posted by: Shuey Dec 17 2014, 10:15 PM

I'm still confused about why people keep mentioning a bot... am I missing something?

Posted by: Question_Mark Dec 18 2014, 12:43 AM

Before pseudocode is even really on the table, I need to iron out this messy thing. I've posted all the minimal details one needs to understand to play this method, but I don't have it like an algorithm.

Here's the problem - I don't really know what my brain is processing when I'm placing those 35 pieces. I've got bits and pieces, which I'm hoping to make into an algorithm, just to "prune" the decision tree, if you will. Mostly I think it's self-explanatory, but there are some case-avoidance things I do sort of subconsciously. Here are a few I noticed.

In Bag 3, if you can force I to drop before L without forcing Z to drop, do it - you'll be fine.
If you can force T and S to drop before Z using Hold, and L hasn't dropped by the time {ST} are on the board, then everything works fine.

In Bag 4, assuming all your Bag-3 placements were fine, it seems like an early S/Z frees up Hold to deal with possible WCS's with early Os.

In Bag 5, two things seem to be preferable:
1) Dropping I first, using Hold if necessary. Then everything's good.
2) Building up 5 of the 6 pieces in the 4 x 6 {STZ} rectangle (holding the last S/Z) - then you're set no matter what {IJLO} case comes.

I don't think I fully understand why every single one of these leads to good outcomes, but I can say they've built themselves into my muscle memory when playing using the method, so they are definitely things I would keep in mind when designing the algorithm. But I think most people would agree - getting an unambiguous tutorial out there is more important than pseudocode, though I still say it's secondary to the raw information I posted on PF-V3.1 (which is why I worked on that and put it up first, before refining the algorithm).

I also want to note that PF-V3.1 came from PF-V3 by changing around the designated piece placement in Bag 3 (the standard used to be something that looked like Placement #3 crossed with Placement #5, but with the worst of both worlds). This caused problems with early Os sometimes and couldn't handle worst-case scenarios so well, so I altered the placements. That kind of stuff happened many times while I was developing both V2 and V3.1, and I think it's a little more difficult than handling exception cases by adding in extra If...Then... statements. So pseudocode explaining exactly what a bot would do is a while away. An unambiguous algorithm is definitely a requisite, and is good as an end in itself - I want it to be as easy to learn as I can possibly make it.

One last note - while I get where you're coming from with the bot, I still rather like discovering these things by hand, so I won't really be saying a lot on the matter of bots. Besides being a topic out of my depth, I don't heavily favour them. I think the first priority should be tidying up some of this theory - I wrote it up in this form to make sure everything was accounted for, which is probably the least readable way to write it. For the sake of preservation I won't edit out the third post, but I will be trying to rewrite it in algorithmic/tutorial form and some help to that end wouldn't go unappreciated. Grin.png
-QM

Posted by: Shuey Dec 18 2014, 01:04 AM

I agree with the comment about bots. The two runs I've done so far were two of the most exciting things I've ever accomplished in my Tetris life, and the thought of using a bot takes away all the fun and organic nature of what I've been able to experience so far.

And in regards to QM's v2 (for the perspective of readers besides me and QM Grin.png), I can say from experience that it was very challenging to be successful with it (not because the method was "flawed" in any way, but because it didn't "play nice" with the randomizer - rather than say it wasn't "up to snuff", I would say that it "just wasn't quite optimized"). My first 5 runs were "OK" but painful and I ended up having to send him replays to get advice about how to deal with all the challenges I kept facing. v3.1 is worlds different! I had only just seen it, but was able to quickly work with it. I still can't stop saying how absolutely beautiful v3.1 is. It's got so many positives wrapped into one tiny little package Grin.png.

Posted by: Question_Mark Dec 18 2014, 01:28 AM

QUOTE(Shuey @ Dec 18 2014, 01:04 AM) *

I agree with the comment about bots. The two runs I've done so far were two of the most exciting things I've ever accomplished in my Tetris life, and the thought of using a bot takes away all the fun and organic nature of what I've been able to experience so far.

And in regards to QM's v2 (for the perspective of readers besides me and QM Grin.png), I can say from experience that it was very challenging to be successful with it (not because the method was "flawed" in any way, but because it didn't "play nice" with the randomizer - rather than say it wasn't "up to snuff", I would say that it "just wasn't quite optimized"). My first 5 runs were "OK" but painful and I ended up having to send him replays to get advice about how to deal with all the challenges I kept facing. v3.1 is worlds different! I had only just seen it, but was able to quickly work with it. I still can't stop saying how absolutely beautiful v3.1 is. It's got so many positives wrapped into one tiny little package Grin.png.


Thanks, I appreciate your positive comments. Grin.png I have to say this has been exciting for me as well. However, I want to address the state of the V2 outline in the OP, as compared to V3.

I wholeheartedly agree - the PF-V2 post leaves lots of open problems and has that dependence on the Bag 1/4/5/7 I piece that can only be fixed at low gravities in some cases. But I knew it was going to be a lot of work to write up (though the interested reader is welcome to work out how else to stack OLIOL into a 4 wide, 5 high rectangle), and that I could get the essentials of the method written up much more quickly. More importantly, I already had nearly all of V3 done in my mind and quite a lot of it written up, so I chose to delegate my efforts to that end instead. I thought I would release V2 before V3 because (1) I'm a drama queen and (2) it shows a bit more development history as I was coming up with V3. Either way, I think most people would agree that having that link in the chain makes it more palatable than jumping directly from PF to PF-V3 (which would raise the immediate question, "what was V2?"). If I'm wrong, of course, let me know. Grin.png

Posted by: zaphod77 Dec 18 2014, 03:14 AM

It is pretty cool that it is still an actual challenge for humans to do. SO even though a bot can probably be programmed to do it, this means the problem of playing forever at 20G is still interesting for humans to do in real time, as opposed to the old loop, which uses more bags, and only a few tricky parts.

that said if a bot can do it, it's proven. that was my entire point. Bag+enough previews proven foreverable.

and from what people are saying writing a bot that can actually handle it is an interesting challenge in itself. smile.gif

Posted by: Question_Mark Dec 18 2014, 06:13 AM

This is an unrelated teaser post, but in response to something earlier I said in my 20G demonstration post... I think I may yet have one more trick in me for Playing Forever V3.1. I'm working on it now.

After this, I doubt I'll have anything new to offer - just analyses of what I've already got. But we'll see.

EDIT: All right, here it is. What I've been working towards this whole time. Grin.png Apart from shortening the loop to 5 bags, and being 20G-compatible, the PF-V3.1 method still retains one similarity with the original loop - the partitioning of the playing field makes the whole thing very easy to visualize. All three of those features made possible this replay of three invisible perfect clears at 20G in less than one minute (using Phantom Mania). Hope you enjoy. Naughty.png

I promise, there was no re-recording funny business, but when I get the chance I will try to make an invisible+hand demonstration. Grin.png I can pretty consistently get one loop and I'm getting better with practice.


Attached File(s)
Attached File  2014_12_17_22_39_27.rep ( 19.47k ) Number of downloads: 37

Posted by: Shuey Dec 18 2014, 02:03 PM

Just when I thought this thing couldn't get much cooler, you throw down a sweet PM run Grin.png. Awesome sauce - nice job!! smile.gif

Posted by: Pineapple Dec 18 2014, 03:35 PM

Shuey, I think that the words you're actually looking for are "fucking ridiculous".

Posted by: Shuey Dec 19 2014, 01:03 AM

Pineapple: Yeah, I'd definitely say that's one way of stating it, lol.

Here's a video upload in case some people are too lazy to load QM's replay file:


Posted by: Shuey Dec 20 2014, 03:18 AM

QM pulls off another beast demo of his new Playing Forever v3.1 method, in Phantom Mania mode with 20G (with a PIP of his one-handed performance)!



Posted by: Shuey Dec 20 2014, 03:05 PM

I'm confused....

Posted by: StS Dec 20 2014, 03:42 PM

This is amazing. o_o

Posted by: Question_Mark Dec 20 2014, 09:34 PM

QUOTE(piotrek_s @ Dec 20 2014, 02:35 PM) *




For starters, let's just note that the I in Bag 4 was held while the S and T in Bag 5 were placed - this shouldn't happen in normal gameplay; it's generally very important to place all seven pieces of one bag before moving on to the next one. I've edited your Fumen starting at Frame 28, to show what the result should be:


In this case, completing Bag 4 first yields a very nice Bag 5: {IJLO} is ILJO, an "I-first" case that is guaranteed to work; {STZ} is STZ, an "S/Z-first" case which works with the Bag-4 {STZ}. There's no problem here. Grin.png

So taking I out of Hold and placing it at the right time will solve the problem. But it's not strictly necessary; If you've placed ST already, you can still take I out and place it, and the solution is the same:



In your diagram you held I until after L was placed, which would force the case LJIO.This obviously can't be "repaired" into LJOI, or LIOJ, because of that final Z. No problem, though - there are situations where LJIO has to be placed (not due to misdrops, but rather Hold dependencies), and the solution in these cases is to skim with {IJL}:



Shuey does this https://www.youtube.com/watch?v=pK4Vq9fVhGk#t=597. In general, use this skimming technique if you get JLIO, LJIO, JILO, or LIJO, and can't use Hold to get a nicer {IJLO} subsequence.

Hope that helps!

UPDATE: Well, that's extremely disappointing. Level 300 in Phantom Mania, 6.51 seconds too slow. Here's my replay so you guys can share in my sorrows. Frown.png


Attached File(s)
Attached File  2014_12_21_14_25_57.rep ( 34.93k ) Number of downloads: 16

Posted by: Question_Mark Dec 22 2014, 02:28 AM

And here you have it - Using PF-V3.1, I attain the M grade in Phantom Mania (granted, it's SRS rotation with 4 previews, not Classic3 - but those are the minimum requirements for the method to be sustainable, so I'd say that's fair). See if you can spot all seven PCs. Grin.png

As you can see, the method is 20G-compatible and can be memorised on-the-fly if you're into that sort of thing - but it's also evidently very fast once you get the hang of it.

(Now to push it to its real, non-human, non-physical limits and conclusions. I'm going to see if I can TAS "Final" with it o_0_o)


Attached File(s)
Attached File  2014_12_21_17_50_00.rep ( 33.68k ) Number of downloads: 18

Posted by: Shuey Dec 22 2014, 02:34 AM

Freakin' awesome QM! Congrats man Grin.png

Here's a video of QM's performance - prepare to crap your pants, lol


Posted by: myndzi May 14 2015, 08:52 PM

So I saw in your other thread you mentioning "PF 3.1" but I didn't know you had actually written an analysis of it. Pretty excited to give this a go myself smile.gif

Posted by: Question_Mark May 14 2015, 09:12 PM

QUOTE(myndzi @ May 14 2015, 08:52 PM) *

Pretty excited to give this a go myself smile.gif

That makes two of us! smile.gif Good luck, let me know if you get stuck anywhere.

This doesn't have all of my "bug fixes" in it, but I'll add them in at some point.

Posted by: myndzi May 15 2015, 03:02 AM

Works well, mostly I just got caught off guard a few times by certain circumstances I wasn't on the lookout for; I managed to improv my way out of it more often than not. Interested to see 3.2 Wink.png

Posted by: tempaccount Feb 18 2017, 01:01 PM

Your 10-bag and 5-bag solutions don't work with TGM rotation. Try again. In the 20-bag solution "discovered in the 80's" there was a T-spin that worked in both SRS and TGM+7-bag. However this solution requires a SRS, a DTET or a Tetris Best for a rotation system.

Posted by: Shuey Feb 18 2017, 01:54 PM

QUOTE(tempaccount @ Feb 18 2017, 01:01 PM) *

Your 10-bag and 5-bag solutions don't work with TGM rotation. Try again. In the 20-bag solution "discovered in the 80's" there was a T-spin that worked in both SRS and TGM+7-bag. However this solution requires a SRS, a DTET or a Tetris Best for a rotation system.


Your comment ("try again") was douchey. QM's solution was specifically targeted at guideline games with SRS rotation.

Posted by: tempaccount Feb 18 2017, 02:11 PM

QUOTE(Shuey @ Feb 18 2017, 01:54 PM) *

QUOTE(tempaccount @ Feb 18 2017, 01:01 PM) *

Your 10-bag and 5-bag solutions don't work with TGM rotation. Try again. In the 20-bag solution "discovered in the 80's" there was a T-spin that worked in both SRS and TGM+7-bag. However this solution requires a SRS, a DTET or a Tetris Best for a rotation system.


Your comment ("try again") was douchey. QM's solution was specifically targeted at guideline games with SRS rotation.

Someone should make a solution targetted both at SRS and TGM rotation, just like the 20-bag solution "from the Ancient Greeks".

Posted by: zaphod77 Aug 5 2017, 05:35 AM

The reason these solutions assume SRS is because no Authentic Tetris Game™ with bag uses TGM rotation. Only a game with SRS would give the opportunity to use it.

The 20 bag solution is easy enough for a human to master, but breaks down at 20g.

And i'm still waiting for ForeverBot 3.1.

Posted by: Kitaru Aug 5 2017, 08:44 PM

QUOTE(zaphod77 @ Aug 4 2017, 10:35 PM) *
The reason these solutions assume SRS is because no Authentic Tetris Game™ with bag uses TGM rotation.
TGM ACE?

Posted by: Cosine Sep 2 2017, 04:20 AM



Well, this thread looks like a little outdated, but I'll just post it.

When I tried to play this playing forever v3.1 technique, I encountered a problem. At the bag 5, if I get early SZ, and I get pieces that are impossible to make 4x4 square(like JLIO), and T at the last, I couldn't make a perfect clear.

Am I dumb who can't figure out how to do this or is this impossible to do?

Posted by: Shuey Sep 2 2017, 12:05 PM

Unfortunately, there are rare occasions where the sequencing doesn't work and there's no way to complete the PC by using the "standard" technique (PF v3.1). What's really frustrating too is that, by the time you realize it's not going to be possible, it's too late Frown.png.

There are times where I've had to start stacking into the section after the PC before the PC is complete, and that's not always successful either Frown.png.

On a positive note, there's at least 70 nonstandard PF v3.1 solutions to this sequence.

Posted by: Cosine Sep 2 2017, 01:55 PM

That's good thing to hear.

But I think I can't find any of them, and I couldn't find any solutions in this thread. Frown.png

Still I like it. smile.gif

Posted by: Shuey Sep 2 2017, 02:48 PM

I was mistaken - there's at least 50 solutions for this sequence (not 70). Here's a couple examples:













Posted by: Cosine Sep 3 2017, 03:23 AM

Thanks! smile.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)