[HN Gopher] Can you be sure to clear a line at Tetris?
___________________________________________________________________
Can you be sure to clear a line at Tetris?
Author : a3_nm
Score : 81 points
Date : 2022-04-19 19:38 UTC (3 hours ago)
(HTM) web link (a3nm.net)
(TXT) w3m dump (a3nm.net)
| Hogarth01 wrote:
| There was a kid I knew in school who I would consider a very good
| tetris player. One time someone else was lamenting that they
| always get bad pieces and he said, "The Tetris gods will never
| give you a piece you can't play, you just don't know how to play
| it." Which has resonated with me for an oddly long time in my
| life.
| __s wrote:
| This sort of thing comes up a lot in card games like mtg. Some
| players are convinced they're naturally unlucky. I like to
| phrase it as "bad decks get bad draws". To improve one has to
| be luck oblivious: improve what you can, accept what you can't.
| Bit of a serenity prayer approach
| bombcar wrote:
| This is one of those questions that _seems_ to be wide open for
| elaborate proofs - but it turns out the total number of
| possibilities isn 't that large, and you can simply enumerate
| each one.
| andsens wrote:
| Heh, yup. I remember an article on here about some low-level
| calculation optimization for 32-bit ints that bugged out even
| with extensive edge-case testing. The conclusion being "just
| test all the numbers", 2^32 isn't that much!
| pfedak wrote:
| maybe https://randomascii.wordpress.com/2014/01/27/theres-
| only-fou...
| tosh wrote:
| Related: in the official specification of the game the pieces
| ("tetrominoes") are drawn from a bag to prevent the possibility
| of an unfavorable sequence of pieces that force you to lose the
| game.
|
| IIRC early implementations of the game did not always behave like
| that.
|
| https://tetris.fandom.com/wiki/Tetris_Guideline
|
| > You might have heard of the result that you can play forever
| with bag randomizer, Hold and 3 previews (a similar setup even
| works with 0 previews). However, the opposite is true, if you
| play with a randomizer that can generate all piece sequences
| (e.g. memoryless randomizer). In this article we will present a
| piece sequence that will top you out - no matter what you do.
|
| https://harddrop.com/wiki/A_deadly_piece_sequence
|
| https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.55...
| balfirevic wrote:
| > IIRC early implementations of the game did not always behave
| like that.
|
| And they were also much better for it, in my opinion (and that
| of many classic NES Tetris fans).
| omoikane wrote:
| See also: https://news.ycombinator.com/item?id=20872110
|
| "A history of Tetris randomizers (2018)"
| tedunangst wrote:
| https://simon.lc/the-history-of-tetris-randomizers
| m4lvin wrote:
| Is there a good way to reduce SAT or other decision problems to
| Tetris? Do we need to enlarge the grid to reduce larger problem
| instances, or can the duration of the play / length of the
| sequence be used for that?
|
| I would hope for something like "This list of clauses is
| satisfiable iff there is a winning strategy to clear at least N
| lines when given the following sequence of tetrominoes". (Where
| the article here says that there is no hope for anything like
| this with N=1, but )
|
| Or does knowing the whole sequence in advance make any sequence
| easy to play / clear any number of lines?
| dragontamer wrote:
| In my experience, strong human players can consistently keep
| track of random-bags and plan out holds, and do so at
| surprisingly high speeds.
|
| I'm not sure if a computer SAT-solver is needed to accomplish
| any of the tactics in Tetris-Guidelines.
|
| Maybe it'd be a fun exercise, like using SAT-solvers on human-
| level Sudoku puzzles. Or for maybe inventing "harder" versions
| of Tetris, designed for computer players instead of human
| players.
|
| -------
|
| I've given some degree of idle thought in how a SAT-solver can
| maybe discover patterns that would help an intermediate-player
| develop the eyesight / instincts that strong players have. (Ex:
| SAT-solver to see the patterns an intermediate player is using,
| and then analyzing which patterns the player doesn't see yet).
|
| Its a vague / idle thought however, I never seriously attempted
| to solve the problem. But "training exercises" exist in many
| video games, and developing tools for human-training / self-
| training are always useful.
|
| Ex: if a SAT solver could see that the human _COULD_ have
| performed a King Crimson at some point
| (https://harddrop.com/wiki/King_Crimson), but the human-player
| made a mistake and only saw an easier TSpin-Triple setup
| instead (https://harddrop.com/wiki/T-Spin_Triple).
|
| Such "computer automatic advice" into which elements of your
| play was possible, and solving it automatically (and
| determining if it was a good strategy or not) would be very
| helpful in training.
| foobarian wrote:
| Most NP-complete problems have really good heuristics that
| come to within a hair of optimal on most useful real-world
| inputs, e.g. things like integer partitioning, bin packing,
| traveling salesman, etc. You need really unusual inputs to
| give an optimal solver a drastic advantage. Case in point,
| with real-world TSP the fact that the cities are embedded on
| a plane means their distances have constraints that don't
| exist in the general problem.
| lupire wrote:
| I'm pretty sure 2-D Euclidean TSP is NP-Hard.
|
| https://en.m.wikipedia.org/wiki/Travelling_salesman_problem
| (Computational Complexity).
| lupire wrote:
| Yes.
|
| https://www.google.com/search?q=tetris%20n-p%20complete
| georgecmu wrote:
| If you want to test a strategy against an adversarial tetris
| opponent: https://qntm.org/files/hatetris/hatetris.html
|
| The method by which the AI selects the worst possible piece is
| extremely simple to describe (test all possible locations of all
| possible pieces, see which of the pieces' best-case scenarios is
| the worst, then spawn that worst piece), but quite time-consuming
| to execute, so please forgive me if your browser chugs a little
| after locking each piece. If you can figure out a way to
| accelerate the algorithm without diminishing its hate-filled
| efficiency, do let me know. The algorithm for "weighing"
| possibilities is to simply maximise the highest point of the
| "tower" after the piece is landed.
| lcnPylGDnU4H9OF wrote:
| I remember seeing this at one point and clearing a grand total
| of 5 lines in one game. Turns out it's hard if the game is
| trying to make you lose.
| lapetitejort wrote:
| The resulting algorithm seems to be "spawn z and s pieces on
| repeat". I only got one long piece and one L piece.
| yodsanklai wrote:
| The author may have written a brute force algorithm when a
| greedy solution would have worked :)
| dragontamer wrote:
| Yes in "Tetris Guidelines". In fact, greater feats can be
| accomplished in modern Tetris games, thanks to these strong
| guidelines.
|
| https://www.youtube.com/watch?v=qmG0NcbrLTE
|
| Strong players practice these loops all the time. Its possible
| thanks to the "bag randomizer".
|
| --------
|
| The BT Cannon is a TSpin double (4 damage + B2B bonus) + TSpin
| Triple (6 damage + B2B bonus), for a total of 11 damage.
|
| The DT-cannon followup is a TSpin Triple followed by TSpin Double
| for a total of 12 damage.
|
| Finally, the Perfect Clear is 10 damage, for a total of 33 damage
| per loop.
|
| --------
|
| Other players practice triple-perfect clear starts, for
| 30-straight damage in some ~30 tetriminos dropped. But the BT-
| cannon + DT Cannon -> Perfect clear setup is a beautiful
| arrangement.
|
| The whole loop is carried out over 5 bags IIRC, or 35 pieces (5
| bags * 7 pieces per bag == 35 sets of each piece). That's enough
| for the 4x T-pieces needed for the BT-cannon + DT Cannon (which
| offer significant amounts of damage)
|
| 35 pieces * 4 pieces == 140 minos, or 14 lines (the Tetris board
| is exactly 10 pieces wide). Which lines up with not only a
| perfect bag loop (the 35th piece finishes the bag, meaning
| piece#36 is a new bag, allowing you to loop), but also divides
| perfectly with 140 minos aka 14 lines, meaning the perfect clear
| is possible.
|
| ------
|
| Thanks to Tetris Guidelines bag randomizer, bag#6 is effectively
| the same situation as bag#1 (start of a new bag). So you loop the
| sequence and can continuously apply the BT-cannon / DT-cannon /
| perfect clear loop almost perpetually. In practice, its "only" a
| 90%+ chance of continuing each loop, but that's a high enough
| probability to effectively use the technique in competitive
| games.
|
| EDIT: The existence of the "Hold Piece", in combination with the
| "easy to count" 7-bag randomizer, allows for some incredible
| feats in Tetris Guidelines that classic-Tetris players are
| unfamiliar with. Its a different game, more about quick-reaction
| speed and twitch reaction rather than the planning-centric
| classic-Tetris. But its these attributes that make Tetris-
| Guideline games better for player-vs-player setups. Practiced
| strategies are more reliable and less contingent on luck.
| httpsterio wrote:
| I think we had this discussion a year or two ago, but
| personally I find the guideline algorithm to be boring. It's
| definitely more oriented to PVP Tetris. Something like TGM
| would be boring if you can just execute builds instead of
| preparing your stack and play for just about anything.
|
| It's true that there's a lot of different builds (I'm
| personally more partial to the albatross special than DT
| cannons) and builds are not only related to what you can build,
| also how you should respond to your opponent. Like, is the game
| even fun when you're just spamming t-spins with Tafokint's
| T-spin factory?
|
| I'm a pretty highly ranked Tetris player, top ten in Finland in
| T99, Tetr.io and Puyo Puyo Tetris and somewhere in the top 100
| as well, and in reality I think fancier builds like DT-cannons
| are too fragile and reliant on a clean-ish stack that they're
| not even viable in high level play. If you take ten seconds to
| set up a tetris or 15 seconds for a triple T-spin then you're
| gonna get spammed to death before you can reply with your fancy
| build.
|
| In modern PVP Tetris I think there's only three tactics. If
| you're not too technical, you need be fast at tetrises and hope
| you can outpace your opponent.
|
| If you're slower, you have to deal more damage in the same time
| or less = T-spins for double damage. It took me a year of
| practicing to intuitively start leaving t-spin doubles in more
| unconventional setups. There's the risk of being outpaced and
| spammed but the double damage mitigates it a bit.
|
| Third option is comboing. I think it's the hardest to pull off
| but it's also the most effective. With a three wide hole it's
| fairly easy to get a combo going but there's always a huge risk
| of topping out by a badly timed attack from the opponent. Four
| wide is harder to keep going but it's safer.
|
| Depending on the game and network code, combo builds can be
| game breaking and actually stagger the enemy so that they can't
| even reply to your attacks. It is however the least effective
| build in terms of how many pieces you need and the return
| damage for each clear and there's the most unknowns in how
| you're supposed to stack.
|
| But to sum up in short, I don't think "builds" per se are the
| way to go in PVP. The "stack, attack and reply" formula simply
| leaves too large holes for your opponent to attack and it's not
| variable enough. Seeing parts of builds as patterns, like using
| a roof on a T-shaped hole to build a triple T-spin is useful if
| you can figure it out whilst clearing garbage and keeping a
| constant battering on your enemy going.
|
| Personally, I think TTC forcing guidelines on single player
| games is boring. TGM TAP+ was the pinnacle in terms of game
| behavior and algorithms, IMO holds and the floor kicks in
| Terror Instinct made everything a bit too easy and all the
| difficulty comes from being ridiculously fast instead of being
| super meticulous and eloquent in your stacking.
___________________________________________________________________
(page generated 2022-04-19 23:00 UTC)