TGM Behavior Questions

Thread in 'Discussion' started by Kasumi, 20 Aug 2010.

  1. I guess I'd like to know bad enough to create a topic on it.

    This is all for TAP.

    So for TGM+, the DAS value on the wiki listed is 16.

    As I understand it:
    Right is pressed.
    The piece moves right 1 cell. DAS counter is 1.
    DAS counter is 2
    DAS counter is 3 etc.
    DAS counter is 16, piece moves right again.
    Piece moves right one cell a frame until right is released.

    All good so far.

    However for normal (and master) it's given as 14.
    But my tests yield this:
    Right is pressed.
    The piece moves right 1 cell. DAS counter is 1.
    DAS counter is 2 etc.
    DAS counter is 16, piece moves right again.

    So it's 2 off.

    Same for Death where I get 12 instead of 10 for speed 000. It's 2 off for all the 0 speeds, which is as far as I've gone for testing. Is TGM+ wrong, or are the others? Or is there something else I'm missing?

    Edit: So is the DAS counter only updated the frame AFTER the shift from the press of the direction, and only begins shifting the frame after the counter has reached the listed value? That makes less sense to me coding wise, but would be consistent with everything, leaving TGM+'s value wrong.

    Also can someone verify Shirase from Ti's values? I originally found this because I tested the values available to me to make sure I was understanding them correctly for a simple personal Ti training tool clone I'm working on. I can't verify Ti.

    Edit: NVM on the rotation thing that used to be here. I know why it shouldn't work. *facepalm* I'm thinking too much.
     
    Last edited: 23 Aug 2010
  2. Edo

    Edo a.k.a. FSY

    Re: Wrong DAS values on the wiki?

    Unfortunately, the delays on the wiki are not consistently defined; some values were obtained by frame counting from direct observation, and other values were extracted direct from the ROM. If you want a set of values (and a definition) that are all consistent, you could try using my wiki page: http://www.tetrisconcept.net/wiki/User:Edo

    EDIT: I forgot to mention that there's a slight error on my page: if I recall correctly, the game actually sets the DAS values in a completely different part of code to the rest of the delays, and the DAS actually sometimes changes a level earlier than the other delays, i.e. at level x00 instead of x01. I'll have to update my page at some point, but in the meantime, I'm sure you're intelligent enough to somehow combine my values with the change points in the main wiki. :D
     
    Last edited: 20 Aug 2010
  3. Re: Wrong DAS values on the wiki?

    Thanks, that's exactly what I'm looking for.

    There's actually one other thing I'm curious about that doesn't seem to be on the wiki.

    When does holding down stop locking pieces spanning a new piece spawn in all the different modes?

    http://harddrop.com/fumen/?v105@7em...5no2AFb sChEVTASoa?aEFb8UBQo78AZAAAAD8cD8cD8c

    My first guess would have been when 20G starts, but Texmaster doesn't do it this way, and I assume Texmaster is accurate. The behavior is different across various clone games, though.

    (Maybe I should change the topic title)
     
  4. Edo

    Edo a.k.a. FSY

    Re: Wrong DAS values on the wiki?

    TGM: this doesn't happen at all.

    TAP: for the final section of Master, and the entirety of Death, if down is held on the frame a piece locks, the down input will not lock further pieces until it is released and pressed again.

    Ti: for all sections of all modes, if down is held on the frame a piece locks, the down input will not lock further pieces until it is released and pressed again. It will however continue to soft drop pieces. Also, if up is held on the frame a piece locks, the input will have no further effect (i.e., up will not sonic drop or sonic lock subsequent pieces) until it is released and pressed again.
     
  5. Re: Wrong DAS values on the wiki?

    Thanks a lot, Edo! I think I'm good to go. :D
     
  6. Okay, two more. :oops:

    About processing order of the T (and I) floorkicks.

    http://harddrop.com/fumen/?v105@neD...eDArbNzqIADS0rDFbcHB7eGtCdNCdtBdNBd1A?dVAd1/c

    Case 1 would certainly work, and I'd guess case 5 wouldn't since it wouldn't try to floor kick after it found a successful place to put the T after the wallkicks, right?

    How about Cases 2-4?

    Finally, does a floorkick reset lock delay, or not? I know the I does if it's flipped horizontally and falls afterward, but the kick alone doesn't do it, right?

    Edit: And does an I that was IRS'd into a vertical state that needed the kick use the one floorkick for that piece?
     
    Last edited: 23 Aug 2010
  7. IRS never uses kicks. If it would need a floorkick, IRS would fail.
     
  8. Okay, that makes sense. Thanks.
     
  9. Edo

    Edo a.k.a. FSY

    Just to confirm what Zircean has already said: IRS can't make use of kicks.


    Regarding the I tetromino kicks:

    The I tetromino will only wallkick when rotating from vertical to horizontal, and it will only floorkick when rotating from horizontal to vertical. It will not wallkick unless it is in horizontal contact with either the wall of the playfield, or other blocks in the stack. It will not floorkick unless it is in vertical resting contact with either the floor of the playfield or other blocks in the stack. The I tetromino can kick either 1 or 2 spaces. Here are some examples: big fumen link



    Regarding the T tetromino kicks:

    With the T tetromino, wallkicks will always be tested for first. If a wallkick on its own does not produce a valid position, a floorkick will be tested, on its own. The T tetromino will never both wallkick and floorkick simultaneously (your case 3 does not work for this reason).



    Regarding floorkicks and lock delay reset:

    In Ti, floorkicks will never reset lock delay. With Classic rule, performing a floorkick only serves to raise the tetromino's bounding box; if the bounding box subsequently descends, then lock delay will be reset. However, there is a further complication: performing a floorkick puts a rotation limit of 1 in place. I.e. if the tetromino is rotated again, all lock delay will be cancelled. In 20G, the tetromino will lock immediately after the rotation; in sub-20G with the tetromino in mid-air, the tetromino will lock the instant it lands (further rotations can still be performed before the tetromino lands). Here's one example, I'll try to give a couple more later: fumen link
     
  10. Good, that's how I had it implemented :)

    However, I'm not sure why in the Fumen Link's step 5 to 6 the I doesn't kick one space to the right.

    So 1, 2, and 4 are all valid? Neat.


    That's something I was entirely clueless about. Very good to know.

    Okay MUCH less important, but another thing I'd like to know. Can one move the tetromino left or right a cell in the frame it locks? Like if DAS was charged?

    As I understand it frame order is:
    1. Hold
    2. Handle Rotations (Gets rid of lock delay, since this rotate was after a floorkick)
    2.5 (lock here in this case? I'd imagine not, since gravity would not take place allowing for a "floating" lock)
    3. Handle Horizontal Movement
    4. Gravity
    5. Traditional time when locking takes place. (or lock here after movement is processed on this last frame?)

    One last one, I imagine the lock delay is only canceled on a successful rotation? For instance, it wouldn't be canceled in something like this?

    http://harddrop.com/fumen/?m105@/cC...bEVC?vViTASYJqDsyBUASYbqDG/BAApuqHAMng/Dl8VBA

    Edit: Oooh, one more unrelated to kicks.

    Can A and C be used to rotate a piece on subsequent frames?

    http://harddrop.com/fumen/?m105@7eC...LlaEzoaCAScpXAmLMGEloo2Azno2ADoo2AwLlaEz?oaCA
     
  11. I believe this is false... I swear I've succeeded that exact fumen many times. Are you sure about this? There's a limit of one floorkick total, but it'll never instantly lock your piece as far as I know. It'll just prevent you from doing additional floorkicks.
     
  12. Edo

    Edo a.k.a. FSY

    Admittedly, the instant lock behaviour was something that genuinely surprised me. But, I've tested it over and over again, and as difficult it is for even me to believe, I'm now more convinced that the behaviour is exactly as I've described. colour_thief, if you could test this out for yourself and let me know if you agree (and that I'm not going crazy), I'd really appreciate it.

    Here's another surprising example that I was going to give earlier: fumen link
    colour_thief, it would be helpful if you could test this one too :)

    Kasumi, a quick couple of answers to some of your questions: yes, lock delay is only cancelled on a successful rotation; and yes, A and C can be used to rotate on subsequent frames. Your other main question will take a bit longer to answer; I certainly can't do it off the top of my head, and I'm not sure if I have the details to hand either. I'm sure Deeem2031 would be able to tell you, as his clone Eirstt handles this aspect with 100% accuracy.

    Regarding the issue you raised about why the I doesn't kick in frames 5 and 6: it needs at least one of the 4 squares horizontally adjacent on the left to be occupied. It really doesn't matter if the occupied square(s) appear to play no logical part in the wallkick (you can see this in frames 7 and B), it's just the way the system works.
     
  13. That's odd, but I'm sure there's some kind of reason for it. All of the exceptions in ARS kicks have some kind of clever reason behind them. I've actually had fun working through the logic of some of them!

    And thanks for the other answers as well! This is great, I really appreciate it.
     
  14. Zaphod77

    Zaphod77 Resident Misinformer

    Perhaps it will instant lock if you try to perform a second floorkick?
     
  15. I don't mean to be a bother, but now it's lock delay, not DAS that's giving me some shenanigans. Here's what I observe:

    http://harddrop.com/fumen/?m105@7e/... kkDloo2AkHlaEuoQOB0oo2AtX7rDFb?8bDny1JEFr4AA

    So in the TGM series the initial frame of a piece isn't included in lock delay? After the piece falls again, it has the regular 30 frames of active time. I guess this makes sense since you can't move a piece left or right in the initial frame. I suppose this is what the definition means when it says all frames the tetramino can move? Even then, including the frame the piece lands is somewhat misleading in this case.
     
  16. Edo

    Edo a.k.a. FSY

    Kasumi, you're absolutely right, the spawn frame does not count toward lock delay. Personally, I regard "spawn" and "landing" as different, but I can definitely see how these definitions can be misleading. Part of the reason for keeping this stuff confined to my personal wiki page is because I really would like to have a set of definitions that everyone is comfortable with before sticking it in the main wiki; if anyone can suggest any improvements, I'd be most interested.
     
  17. Once again, good to know. Honestly, I don't know why I'm so obsessive about this, since I'm not actually setting out to clone any specific thing in TGM, other than than ARS.

    I've even already got it so the things I don't understand or don't like about official Ti ARS can be disabled. The I needing contact with the stack in it's vertical state to be able to wall kick one cell to the right falls in that category. The instant lock behavior after a floorkick will probably be disabled as well. Another thing I've never loved is up/down for locking in 0G. That's probably the reason I got into 20G, actually. So up sonic drop, down hard drop will probably be the norm in my game.

    Although I do plan to use what I'm making as a personal training tool for official modes, so I suppose it'll need to be accurate... but if this ever becomes pretty enough for a public release, it'll be mostly its own game with its own speed curves.
     
  18. Hah. Okay, wow, I got another one. I was wondering why floorkicks failed in my own game sometimes, since it was seemingly random. Here's what was going on:

    http://harddrop.com/fumen/?m105@7eB...YobEYmb?9egb8enbIw3bAQpQAS3WeD0eDKEFb0sDhu0aE

    And I thought I was being clever by having it kick up one for each of the bottom blocks that were intersecting the stack. :rolleyes: I'd imagine the Ti programmers are smarter than me and it'd kick up two in this situation?

    Also, even if I said the instant lock behavior after floorkicks would probably be disabled in my game, I'm still curious about the answer if anyone else wants to confirm it. ;)

    Other than that, I think the rotation system is entirely right, and I've implemented all the delays except those related to line clear. Gravity is put in as described in an earlier post. My soft drop value adds to the counter instead of gravity if the soft drop value is greater than gravity, but when the soft drop is 256, the counter wouldn't change of course.

    This is so I can have stupid things like a soft drop value of 1 in 0G, where the piece will take 256 frames to drop a cell. :D And more reasonable, I can have greater than 1G soft drops which may be useful. *shrug*
     
  19. Yeah it'd kick up 2 in that instance. And I'll definitely confirm the weird locking thing next time Ti is in my arcade cabinet.
     

Share This Page