A few notes regarding speed

   Among all online Tetris players, there has since long been a craze for speed. Even in the old days of regular TetriNET, people were respected for this talent, even though regular TetriNET has to be one of the slowest online Tetris games ever created and the difference between a slow and a fast player is almost negligable. However at the present with the increasing popularity of TetriFAST among the few players that are left, speed has become an obsession. So I figured I might as well write an article on it.

   As I have often stated (well, it even says so on my pure TetriNET strategy guide), speed has always been overrated in competition Tetris. There is no substitute for wise stacking, period. There are no living Tetris bots. Consider for example the fact that a skilled T2net player will almost invariably beat a VSA T2net bot, arguably a lot better stacker than a newbie Tetris player, operating at three times his own speed. Given a slow player this lands us at 70x3=210 blocks per minute, which is simply impossible for a human player to maintain.

   This does not mean that the brute force approach to competitive Tetris is doomed to failure. In a battle between equally skilled players, of course the faster one will be at an advantage. Nevertheless, sacrificing speed for accuracy and intelligence is almost always preferrable. Besides that, the common practice of judging players' skills by their speed is ridiculous. The reason for this partly being, the speed you can achieve is in a great deal dependant on the hardware and software configuration of your computer. For example, when playing TetriFAST I had always great trouble beating 100 bpm. Now playing at QuadraNet, I can manage over 130 and sometimes even over 140 with no greater effort, something other players find impossible. Playing at the TetriNET 2 servers, sometimes a friend of mine called acidboy could not even beat 40 bpm, while I was merrily making ground at 110. This had nothing to do with his real speed, since at T2net he was at least as fast than me, instead, this was a function of network lag.

   No, indeed, the practice to judge people by their speed is unfair. Sometimes even judging people by how often they win is misplaced. There are a number of players on the Quadranet that I respect immensely as players even though they could never beat me in 1 vs 1. This is because they are too slow to actually threaten me, but their stacking is artistry, and new players can learn a great deal from watching their textbook examples of playing. Noone will learn anything from watching me, I am basically a speed demon with no advanced skills whatsoever.

   All these things considered, how do you achieve speed? I was reading a "godspeed" strategy guide written by plibble member Logix which basically suggested using all controls, remapping your keyboard and have faith in God. I will try to provide a little more pointers for you. I have tried to cut the crap and get right to the point of the subject, distilling everything out to six simple rules.

   Stack for speed. While in regular TetriNET, you will have plenty of time to think out the perfect layout of the field, this is not true in fast Tetris. Disregard beauty and perfection. While in TetriNET if you encountered a streak of, say, six Zs, you would be well adviced to find decent positions for each one, the best approach in fast mode would probably be to stack them all on top of each other on either side of the field and get on with matters. Do not stack optimistically thinking that the right block will come along. If you are not lucky, you will be left with a serious stacking issue pondering over how to best fix the damage (which will in turn slow you down) and probably stacking yourself to death. Instead fill gaps instantly with blocks that fit approximately. This basic building must be made automatic, so that you can concern yourself with strategic issues while your fingers and autonomous nervous system do the major work.

   Use as few keypresses as possible. While I have said this before in my discussion of speed in TetriNET, it is especially important in fast Tetris. If you can find a way to drop the block instantly and it poses no major problem, just do it. Of course, there are delicate situations where this approach is not suitable. A good part of the strategy of a Tetris player is the sense of knowing when your field craves extra attention.

   - The number of average keypresses required to place a block can be estimated as follows. First, moving the block takes at least one keypress (normally a lot more, but let's be optimistic). Then, rotating the block will take you one keypress ((0+1+2+1)/4). After this, one keypress is required to drop the block. This totals three keypresses per second. (Remember, we are counting low here). 

This means that a player operating at 100 bpm will need at least 300 keypresses per minute or 5 keypresses per second. (The machine typist speed world record is in the vicinity of 10 keypresses per second which leads us to believe that using this method, a human being's theoretical speed maximum would lie somewhere around 200 bpm).

Now consider that you could somehow find a way to NEVER use two rotations. This would mean that your total number of keypresses would drop from 3 to 2 + 2/3. Your 100 bpm player just turned into a 112, and your 150 bpm player is now a happy 168! (Admittedly, these figures are somewhat overstated, since the moving part actually plays a larger role than I have accounted for, but still, you should get the point). -

   Do not misaim. You may think that this has nothing to do with speed, but truth is, nothing hurts your speed more than misaims. Misaims require extra thinking, and thinking makes you slow. Always stay in control of your actions. If you start to misaim, you are going too fast, and in this case, your speed is making you slow. On top of that, consider that a misaim will effectively destroy a lot of whatever speed advantage you can muster since you will be spending time repairing mistakes and that time could have been used to kill the enemy.

   Optimize your software and hardware configuration. This might sound as lame advice to some of you, but every Quake player knows that the gear you are using is important, as does every track runner know that you can't get good results without a decent running shoe. You should already have some ideas on how to accomplish this, but I'll give you some examples. Running Quadra under Linux with anything other than SVGALib is a bad idea. (Actually, for most users, running Quadra under Linux is a bad idea, period). Playing TetriFAST with the playing sounds enabled is definitely not recommended. Using TetriNET or TetriFAST with Windows NT (yes, that includes Windows 2000) is a bad idea, since you will have to wait two to three seconds at the start of every game before you can play. Actually, if you are really serious about getting any hardcore speed in TetriFAST you should probably be running a decent Linux distribution (Slackware, Debian) with GTetriNET and hack the source code to reduce the block delay to 0 (there will be modified sources available shortly on the download page). If using Windows, use Windows 95 or Windows 98 and kill all background processes. Also, regardless of what kind of game you are playing, find a decent keyboard. Customize your surroundings by creating the right light levels, finding a favourite chair, selecting the favorite music, etc. Your playing environment must be familiar, as everyone knows, no person plays any good on a new computer.

   Do not constantly press for speed. Willingly trying to go fast will most of the times cause you to tense and go slower. Try to concentrate on maintaining a steady flow of blocks and do not concern yourself too much with each one. Then, in order to gain bpm, try operating in bursts, throwing out two, three or maybe four blocks at one time in rapid succession before returning to the original rhythm (a great time for these bursts would be when you see a number of identical blocks come along). Try to maintain these bursts for increasingly longer periods of time until you can keep bursting indefinitely and establish a new improved steady flow speed.

   Take drugs (:.

spindizzy/HELLFIRE, 12/00




Addendum:

   This is the discussion at tetrifast.net that was apparently somehow inspired by this article, reprinted without permission of any kind (thanks, Jonathan!)

   Forum moderated by: MathJMendl  

   MathJMendl 
   Administrator
            

   Just to get a bit of discussion flowing, I was wondering if anyone had opinions on the debate of speed vs. placement. 

   Spindizzy has a pretty interesting article about this that can be found in the strategy section, arguing that placement is more important and that even bots going twice as fast as a human in T2Net (another Tetris game) couldn't place pieces as well.

   Personally, I take the position that some speed is important but placement is more important.  Because TetriFast is 12 blocks wide and each piece contains 4 blocks, it takes 3 pieces to make up a line.  Good TetriFast players will often downstack their field, or reduce the number of lines on their field while adding lines at the same time. I think that this works because if you don't reduce the number of lines on your field very quickly and merely add lines, it will take a lot more blocks to have the same effect.  One line reduced on your field is just as effective as one line added to opponents' fields (except, of course, in endgame).

   Any opinions on this?

   ekn 
   Moderator    
       

   It's been proven that you can't play a tetris game forever. I don't know how it goes, but if I had to do it, it'd go something like (1) prove that there exists an unplayable sequence of pieces, and (2) prove that the probability of getting this sequence of pieces given an infinite number of random blocks is 1. How to prove those lemmas is left as an exercise.

   This would appear to say that you should play as slow as possible, but that's not the case because first of all, it would take so many pieces to get an unplayable sequence that you would have died some other way long before that happened (e.g. other people adding lines), and second, nothing that your computer does is truly random (including deciding which pieces you get), so the whole idea falls apart.
</rant>

   So the issue seems to be finding the right balance between speed and placement. If you try to go too fast, either you'll misaim or you'll make stupid moves which result in getting blocks that don't fit :P
On the other hand you can go obscenely slow without a noticeable improvement in performance since it takes a lot of processing to account for all feasible situations, and there aren't that many possible moves anyway.

   I'd suggest finding a low speed at which you can play comfortably (30-50ppm is good). Then gradually increase it until the speed starts to affect your performance adversely. That probably means you've gone too far. There's no need to go too fast unless.. for instance, your opponent is near death but has a chance to get three tetrises in a row. That's a cue to do whatever it takes to add those 2-3 lines as quickly as possible 

   Also the speed of those T2Net bots has nothing to do with their piece placement. They use an *extremely* simple algorithm and we always killed them easily whenever they played below 1000ppm 

   On the topic of downstacking:

   Each tetris field has a row which I like to call the "baseline" (for no particular reason). This row contains a hole such that if you don't fill it, your field will keep going up no matter how many lines you add by building on top of the baseline, and eventually you'll die unless of course your opponents die first. I haven't come up with a definition for "baseline" yet; it's NOT the lowest line that contains a hole, because I can think of some counterexamples.. I'll see if I can look at it more carefully later. Anyway, as you mentioned, simply adding lines by building up is not a good tactic. In pure, the added lines each have only one hole in them. So good downstacking is achieved by building around the hole in that line and then clearing 2+ lines at once. Of course while you do this you have to avoid placing too many blocks over the hole directly *underneath* the baseline.. because once you eliminate the topmost one you'll have another one to work with. That's why it's a good idea to keep your field smooth (but not perfectly smooth) -- because if you stack too high in any particular column, chances are you'll end up with a hole in it, and you won't be able to work your field below the row containing that hole for a long time. By then, who knows how many lines your opponent will have added. So simply.. build around the baseline hole, and avoid excess stacking over the holes under that row, giving higher priority to the ones closer to the top. And of course know when to give up your plan (where have I heard that before :P).
Also interesting to note is that truly good downstacking as defined by spindizzy (criterion: getting high yield) depends on luck as well. If you get four lines added and the holes are all in the same column and you tetris, that is also considered good downstacking by his definition :)  although I would call it luck :)

   Whatever.

   It's late and I'm still avoiding homework, and I wrote this pretty quickly. So I hereby disclaim all responsibility for any inaccurate information, outright plagiarism, or any other embarrassing errors that might be present in this rant. Cheers 

   MathJMendl 
   Administrator
            

   Regarding your post about a tetris game not being played forever...I would guess that the level would be in the 90s and the blocks come down too fast before that happened, but I understand your point.  I'm a bit curious as to the normal width of the field for this, though, I can't currently think of anything being completely unplayable in tetrinet.  All Z's or all squares would prevent you from reducing your field level, but if you have just those, any other blocks would help you fix your field again.  So, it's probably an extremely random sequence of the worst possible blocks.  Interesting thought though.. 

   I agree that you need to find the right balance between speed and placement.  After a certain speed I start to make tons of misdrops, so I always avoid going above 110 and usually 100 (although not always by choice ).  If you've ever played at a very low speed the game it is pretty interesting.  I once played a whole game without pushing the down button or space bar, and it had very good placement and few misdrops.  I lost in the end after I decided to stack my field high in order to get a higher ppm and it backfired (thinking about it now, it sounds like freezing warm ice so that it gets cool faster).

   I personally would argue that placement is more important than speed after a certain point (maybe 80 or 90 ppm), unless you are playing a player of equal placing and better speed.  Whereas adding 20 ppm would only increase your speed by about 20%, a single misdrop could take several pieces to fix and could lower your yield (# of lines added over # of lines cleared as a percentage for those who haven't heard this term).  I think the best speed for each player is as fast as they can go without many misdrops, where they can consistantly downstack.

   I'm not too familiar with T2Net, but it sounds like it might be worth checking out.  The only tnet / tfast bot I saw ever was by _joe_ on panophobia.net (not tfast, unfortunately).  It went amazingly fast but everyone accused it of cheating.    When we timed it on the java tetrinet server, it went at around 600 ppm, and on panophobia.net when it was switched on, once, it placed a piece where one normally wouldn't get (i.e. it searched for open spaces in the field without looking to see if it could get pieces there).  That, plus the fact that it didn't clear its inventory in between games.  It didn't quite follow the normal tnet rules but its speed was adjustible and it made hilarious comments during and after each game!

   They also worked very well as a team.  Whereas many human players might not hesitate to attack other in a 3v3 game, if you attacked one of Joe's bots it meant death.  They would immediately empty their inventories on you until they ran out and would continually attack you until someone else would attack them.  It took the 'divide and conquer' philosophy to a new extent.

   As for the baseline information, I think the lack of understanding this is one of many tetrinet players' biggest problems.  A lot of people build up over their baseline, preventing them from downstacking.  The great thing about downstacking is that while it normally takes three pieces to fill a line (3*4=12), it only takes a quarter of a piece to go into a line that has been added onto your field, letting you add lines much faster.  In my opinion, the best method of downstacking is to try to get two or three lines at once, or four if you can set it up without gambling for a stick.

   I like no sticks / pure for this reason, because there isn't any luck involved with the sticks (although there is with the L's, but that's to a lesser extent), and so it's a game of pure downstacking (although going back to the unsolvable tetris game, I've seen people's fields actually go up without any help in no sticks / pure).  I consider it so because if one were trying not to depend on luck one would not use sticks to downstack, and so ideally one would set up his or her field so that it would work just as well without a stick as it would with one.

   I also like to make space for L's when I set up the field for sticks, because an L is nearly as good and increasing the likely hood that I'll get pieces that can add lines (i.e. if there are seven rows with eleven solid squares on the right, I'd put three or four on top with only ten solid squares on the right).  This sets you up for a yield that is around 70%, because going just on L's would give you a 67% yield, and with a stick you would a 100% yield but then likely want to only clear two lines at once the way the field was set up, at 50% (when it gets to the bottom of the pit).

   But then again, I digress...    Happy gaming.

   gimp
   Newbie       
    

   T2Net is as buggy as a 72-day old potato left out in a field to moulder. er.. potatoes aside, T2Net's algos are about as smart as your average potato when it comes to pure. The only good thing about T2Net as far as I'm concerned is the ability to easily customise field size, etc. (ever play a 20*4 field? heh), which adds some amusement to the general monotony of Tnet, although not being able to set block percentages sucks. Incidentally this msgboard system is even more stinky than EZBoard.

   -----
   uh ...yeah!

   ekn 
   Moderator    
       

   I don't have time to write a full reply so here are some basic things.

   - unplayable game -
   try Z, Z, O, S, repeat (untested suggestion by zoomer).  field width is irrelevant, in any field of finite size there exist sequences of blocks that will cause you to lose

   - speed -
   side effects aside, more speed is always good unless your field suddenly becomes unsolvable (you'll definitely die within X pieces, and "X" is a small number).  Of course the side effects are pretty bad, and I'm not just talking about misdrops.  effective play requires constant thinking.  otherwise you will often find yourself with "@#$% blocks" because you didn't think ahead enough.  I suspect that getting truly bad blocks isn't a common occurrence.  if you could somehow hone your intuition to produce the same results as careful, intense calculation, then you would be able to get away with going insanely fast.  I have yet to see anyone come close to doing this, however.

   - bots -
   joe's bot -does- cheat  :P  I noticed that many times it'd slide pieces without delay and other anomalies of the sort.  as for the teamwork, well, if all of the bots concentrated on one player on the opposing team, they would leave themselves open for a nasty attack by the others.  so I'd guess that they're playing on human weakness (how many people actually sacrifice themselves so that the team will win?)  the strategy would probably be much better in a 2v2v2 game, although it's still far from flawless (it's much more effective against humans).
We have prototype bot (code-named robochop ... hahaha) that we've been working on for a while.  (ok, ok.. that -I- have been working on for a while.  thanks a lot, lax :P)  most of the time has been spent procrastinating, but I assure you that something will happen this summer.  I have a lot of ideas that could make it a formidable pure player.  Stay tuned... 

   - baseline -
   tetrinet is mostly about maximizing efficiency.  downstacking is good because you don't have to drop as many blocks to do the same amount of damage and you're going down at the same time.  not downstacking
means you'll have to build everything yourself.  worse yet, you might die before you can do anything.
   clearing single lines is bad.  in fact you should always avoid doing that unless
* you are about to lose (i.e. high field)
* your opponents' potential energy (I like to use that term, I'm sure you know what I mean), if converted to addlines, will kill you or put you into a position such that you are about to lose :P
* clearing the line will enable you to deal damage quickly in a way that is not otherwise possible (e.g. you have four holes in the same column underneath that line, but this is a simple example) and either kill your opponent or substantially limit his mobility
* not clearing the line will result in an awkward position

   obviously, always waiting for sticks is also bad.  do I really need to explain why?

   some people like to use speed as a substitute for good placement.  on occasion they are successful because their opponents suck, they don't "chop" (if you don't know what that means, look it up in our new world dictionary of tetrinet/tetrifast terms, coming soon!  or ask someone in our social group), or the speed difference is enough to overcome their opponents' superior but slower play.  [some people have better luck than others because they actually kind of know what they're doing.]  uh, I'll finish this topic in a later post.  moving right along...

   - no sticks -
   an alternative to no sticks is making tetrises worth 3 addlines.  this would make the lines_added/lines_cleared ratios form a nice curve -- 0/1, 1/2, 2/3, 3/4 -- plus it would lessen the effect of being lucky enough to get many sticks at the right times.

   now here is some miscellaneous crud

   - late start -
   a lot of people apparently think that late start gives you an unfair advantage.  while this is possible -- for instance, you might get four lines added with all of the hole in the same column -- usually the outcome ranges from a slight disadvantage to an overwhelming disadvantage.

   Examples of each:
   assume that you are one of the players in a 4-player free-for-all.

   slight disadvantage: everyone else builds up for a tetris and adds four lines within a short interval; in the meantime you do nothing.  furthermore, there is more or less a random distribution of hole positions.  you will have 12 junk lines on your field and the others will have only 8 each.  even if you clear the first few lines quickly or attempt to downstack, you will still be behind.  by that time the others will already have set up for another attack.

   huge disadvantage: everyone else builds up for MANY tetrises while you do nothing.  guess how high your field will be when they're done adding lines  

   I think that if someone can beat you consistently while starting late, he could probably cream you in a normal game :P

   - challenge #1 -
   try to beat fast players while going below 35ppm yourself.  requires extremely efficient placement and some luck; usually done with late start.  This is quite a bit easier than challenge #2 below...

   - challenge #2 -
   try to win in a 5-6 player free-for-all without adding any lines.  requires a lot of planning and thinking (or intuition if you are really that good) to avoid situations that would add lines; luck; and that most if not all of the others simultaneously become one with the force of chopper.  
   
   This looks especially good if you are playing against 110+ppm players.  it's like the ultimate humiliation for anyone who added any lines.    I'd say I've managed to pull this off about eight times to date.

   - junk -
   I am not affiliated with plibble in any way unless you count my former "membership," friendship with some of their members, the fact that I presently host their website, and my participation in the plibble logfile project and anime division.  therefore I couldn't care less about any derogatory comments people give me about plibble  and any related insults or complaints about plibble will be redirected to someone who cares (currently /dev/null)

   - disclaimer -
   I wrote all of this after waking up at 4am and being unable to go back to sleep, so I don't guarantee any accuracy, integrity, or sanity in my post.  moreover, I'm too lazy to go back and proofread it.  so make what you want of it, have fun with it, eat it for breakfast, whatever  

   bleh, I guess this managed to turn into a long post anyway

   best wishes & happy gaming

ekn 
Moderator    
       

   Ha! I found a typo already.

   Shazaam
   Newbie       
     

   yeah well, i had a witty remark all lined up for this room until i started to read all the rambling written here, and now i seem to have forgotten what i inteded to write.It had something to do with speed and placement and stuff of the sort, but it's all left me now, thanx guys , for your nonsensical ramblings which made me forget all information i once thought i knew.

   ekn 
   Moderator    
       

   It's not totally nonsensical.  Half of the stuff might be true (I think).

03/02

Main.