View Full Version : TGM Behavior Questions
Kasumi
08-20-2010, 09:58 AM
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.
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
Kasumi
08-20-2010, 10:48 PM
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@7emBXpmAzIlkDpikTASYN4DFbk2AQo78AwnoRBI3Mo?D FbEmDvjpTAylAAABsbBxbB2bB7bBAcBFcBKcBPcBUcBZcB?ecB jcBocBtcBycB3cB8cBBdBmBKnbKsbKxbK2bK7bKAcKFc?KKcKP cKUcKZcKecKjcKocKtcKycK3cKcBAAANeoUoboUobp?UmbHYsb BWPmAzIlkDpikTASYN4DFbcHBQo78AwnoRBI3MoD?FbEmDvjpT AylAAA7eBKcBAAANeoUoboUobpUmbHYsbBWPmA?zIlkDpikTAS YN4DFb8UBQo78AwnoRBI3MoDFbEmDvjpTAyl?AAA7eHDsqKBzI lkDpikTASYN4DFb8UBQo78AwnoRBI3MoDF?bEmDvjpTAy178Aw ckkDP2STASYM5Dl1UTASYBNEldpTAyi1?TASYTNEjxBAAD8cD8 cAQplATA7nDFG98AQedTASYk2Awno2?AFb2HCPzSTASYBNEXG9 8AZAAAADsq9ATA7nDFG98AQedTAS?Yk2Awno2AFb2HCPzSTASY BNEXG98A5no2AFb+sChEVTASoa?aEFb8UBQo78AZAAAAD8cD8c D8c
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)
When does holding down stop locking pieces spanning a new piece spawn in all the different modes?
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.
Kasumi
08-21-2010, 03:01 AM
Thanks a lot, Edo! I think I'm good to go. :D
Kasumi
08-23-2010, 05:58 AM
Okay, two more. :oops:
About processing order of the T (and I) floorkicks.
http://harddrop.com/fumen/?v105@neD3gbE3pbFxqIADS0rDFb85A7eENBd1BdVCd1CdVD?d seAAtbFxqIADS0rDFbU9A7eDtBdVCd1CdVDdreB3ibAApb?9zq IADS0rDFbsAB7eHVDd1CdVCd1BdVBd1AdVAd1fBUeUKn?bWK6b AQpIADS0rDFbEEBveAAqbNDd7eHVDd1CdVCd1BdVBd?1AdVAd1/creDArbNzqIADS0rDFbcHB7eGtCdNCdtBdNBd1A?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?
Zircean
08-23-2010, 06:29 AM
IRS never uses kicks. If it would need a floorkick, IRS would fail.
Kasumi
08-23-2010, 06:45 AM
Okay, that makes sense. Thanks.
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 (http://fumen.zui.jp/?m110@7eFJ9pYAB/2rDN52TASYlNEFbUVEPP0dEF2vvAh9pZ?AO1HmEBz0/DpViTAS4gRASI7QEh1kaEOAAAApBqYAB/2rDN?52TASYlNEFbUVEPP0dEF2vvAhAqYAO1HmEBz0/DpViTASoe?RASI7QEh1sxAp9pYAB/2rDN52TASYlNEFbUVEPP0dEF2vvA?p9pVAO1vHEP/74Du788AQ8TQEwI5aEOAAAAJeA3obA3obA3?obA3ybpbqYAB/2rDN52TASYlNEFbUVEPP0dEF2vvA7eAhbq?YAO1HmEBz0/DpViTASoeRASI7QEh1sxAJeAAobAAobAAobA?AybB2qYAB/2rDN52TASYlNEFbUVEPP0dEF2vvA7eCpsqaAO?1vsDsnjXEreg/DFbU9AFbsYEwSQrDTWAAABxqYAB/2rDN52?TASYlNEFbUVEPP0dEF2vvABxqVAO1vHEP/74Du788AQ8TQE?wI5aEOAAAAeeA3nbC3wbhwqYAB/2rDN52TASYlNEFbUVEPP?0dEF2vvA7eAJsqZAO1vsDsnjXEreg/DFb85AFbsYEwSQrDO?AAAA)
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 (http://fumen.zui.jp/?m110@KdA3obA3hbI3gbI3gbI3gbI3gbI3gbI3gbI3gbI3gb?I 3qbAwNJAFbm9AwK88AZAAAA7eBBJqPAo3MoDFbUVEprDeE?O1f AAJAquAO1PVEPP0dEloo2AFbGtDsnjXEreg/DFb8bDO3?88AwMaKEDNiNEFrIwAOVAAA+c/eYdAQp2AO1PVEPP0dEloo?2Ah7r4Duoo2AFb+YEZmY1DyH98A5 nw2BFb82Du9WeDOP98A?Qi7kDLWAAA)
Kasumi
08-23-2010, 10:18 PM
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.
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.
The T tetromino will never both wallkick and floorkick simultaneously (your case 3 does not work for this reason).
So 1, 2, and 4 are all valid? Neat.
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.
That's something I was entirely clueless about. Very good to know.
In 20G, the tetromino will lock immediately after the rotation;
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@/cC3mbC3gbI3gbI3gbI3gbI3gbI3gbI3gbI3gbI3gb?I3gbI3qb p6pJASIQSASoMqCzAAAA7eFh6pGAS3WeD0oBAAp?xpJAmibNEy BukDLBAAAJypAApuqZAS3WeD0488AQDgeE0Xp?TASYcWElt0rD EBAAApuqmACA3TASY10DFMVTASosaEFbEVC?vViTASYJqDsyBU ASYbqDG/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@7eCCXpJAmLMGEloo2ARAAAAKXpXAmLMGEloo2Ayno2?A Boo2AwLlaEzoaCAScpXAmLMGEloo2Azno2ADoo2AwLlaEz?oaC A
colour_thief
08-23-2010, 10:26 PM
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 (http://fumen.zui.jp/?m110@KdA3obA3hbI3gbI3gbI3gbI3gbI3gbI3gbI3gbI3gb?I 3qbAwNJAFbm9AwK88AZAAAA7eBBJqPAo3MoDFbUVEprDeE?O1f AAJAquAO1PVEPP0dEloo2AFbGtDsnjXEreg/DFb8bDO3?88AwMaKEDNiNEFrIwAOVAAA+c/eYdAQp2AO1PVEPP0dEloo?2Ah7r4Duoo2AFb+YEZmY1DyH98A5 nw2BFb82Du9WeDOP98A?Qi7kDLWAAA)
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.
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.
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 (http://fumen.zui.jp/?m110@rdC3mbD3lbE3kbE3kbE3kbE3kbE3ubhMqTAmiMDEJm?Z TASIbDEvDFvEO1fAA7eOhRqeAO1/AEFP98AQ+brDFbkOEp?YQrDFbEBEB2qxAOVAAAJIqPAO1vsDsn jXEreg/DO1fAApIq?LAO1nYEoO/dEO1fAApNqyAO1vsDBz0aEFb8bDny1JEFLHSA?SYTNEjB98AQ2 8CEhW98Awd0TAS4wrDzoOyAOVAAAJOqLAO1?nYEoO/dEO1fAAJTqyAO1vsDBz0aEFb8bDny1JEFLHSASYTN?EjB98AQ2 8CEhW98Awd0TAS4wrDzoOyAOVAAApTqLAO1nYEo?O/dEO1fAApUqZAO1nYEoO/dEFbsYEvEVTASoVNEyIxvAOAA?AApZqyAO1vsDBz0aEFb8bDny 1JEFLHSASYTNEjB98AQ28CE?hW98Awd0TAS4wrDzoOyAOVAAAB ZqgAO1PVEPP0dEloo2APG?VTASoVNEy488AQOeGEF2vvAReqvA O1HmEJzkTASo0JETPkJ?E0oo2Asng/DFbMmEoIpTASoEeEFbEBEB2iaEO1fAARjqeAO?1nYE0uMDEFb0 sDBzE5Du788Aw8UNEXDayAOVAAAR4cR9cRC?dse/eqbAQpSAO132Du9WeDOP98AQi7kDLWAAA)
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 8), it's just the way the system works.
Kasumi
08-24-2010, 12:59 AM
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 8), it's just the way the system works.
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.
Zaphod77
08-24-2010, 04:40 AM
Perhaps it will instant lock if you try to perform a second floorkick?
Kasumi
08-24-2010, 06:02 AM
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/jrqvAULm3AHoo2Ahy2rDSG0dEJmZTASoTABDoo2?AB2STASoTA BFoo2AQMlaEzY8CAD8cjwqcAmLMGEloo2Ax3C?wBFbkiCpYQrD FbEVCB2iaEDxqJAmLMGEloo2ASAAAAjwqJA?mLMGEloo2ATAAA ADxqJAmLMGEloo2AUAAAAjwqJAmLMGElo?o2AVAAAADxqJAmLM GEloo2AWAAAAjwqJAmLMGEloo2AXAAA?ADxqJAmLMGEloo2AYA AAAjwqJAmLMGEloo2AZAAAADxqKAm?LMGEloo2ARYAAAjwqKAm LMGEloo2AxZAAADxqKAmLMGEloo?2ARbAAAjwqKAmLMGEloo2A xcAAADxqKAmLMGEloo2AReAAA?jwqKAmLMGEloo2AxfAAADxqK AmLMGEloo2ARhAAAjwqKAmL?MGEloo2AxiAAADxqKAmLMGEloo 2ARkAAAjwqKAmLMGEloo2?AxlAAADxqKAmLMGEloo2ASYAAAjw qKAmLMGEloo2AyZAAAD?xqKAmLMGEloo2ASbAAAjwqKAmLMGEl oo2AycAAADxqKAmLM?GEloo2ASeAAAjwqKAmLMGEloo2AyfAAA DxqKAmLMGEloo2A?ShAAAjwqKAmLMGEloo2AyiAAADxqKAmLMG Eloo2ASkAAAjw?qKAmLMGEloo2AylAAADxqKAmLMGEloo2ATYA AADxqzAmLMG?Eloo2Azp78AwnoRBQ+kkDloo2AkHlaEuoQOB0o o2AtX7rDF?b8bDny1JEFr4AAAQpTAULeSAS4o2AFbMECFbs2BP 3cCACxq?FBmLMGEloo2Ax3CwBFbkiCpYQrDFb8bDQJ1dDyN98A wBRoD?FbcEEhBlaEFbsiDP2WeDDP98AwSGeEooo2ATPckDLBAA Aix?qJAmLMGEloo2ASAAAACxqJAmLMGEloo2ATAAAAixqJAmLM G?Eloo2AUAAAACxqJAmLMGEloo2AVAAAAixqJAmLMGEloo2AW? AAAACxqJAmLMGEloo2AXAAAAixqJAmLMGEloo2AYAAAACxq?JA mLMGEloo2AZAAAAixqKAmLMGEloo2ARYAAACxqKAmLMGE?loo2 AxZAAAixqKAmLMGEloo2ARbAAACxqKAmLMGEloo2Axc?AAAixq KAmLMGEloo2AReAAACxqKAmLMGEloo2AxfAAAixqK?AmLMGElo o2ARhAAACxqKAmLMGEloo2AxiAAAixqKAmLMGEl?oo2ARkAAAC xqKAmLMGEloo2AxlAAAixqKAmLMGEloo2ASYA?AACxqKAmLMGE loo2AyZAAAixqKAmLMGEloo2ASbAAACxqKA?mLMGEloo2AycAA AixqKAmLMGEloo2ASeAAACxqKAmLMGElo?o2AyfAAAixqKAmLM GEloo2AShAAACxqKAmLMGEloo2AyiAA?AixqKAmLMGEloo2ASk AAACxqKAmLMGEloo2AylAAAixqKAm?LMGEloo2ATYAAA7eBCxq KAmLMGEloo2AzZAAACxqzAmLMGE?loo2ATr78AwnoRBQ+kkDlo o2AkHlaEuoQOB0oo2AtX7rDFb?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.
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.
Kasumi
08-24-2010, 08:49 PM
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.
Kasumi
08-25-2010, 10:24 AM
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@7eBHRPDASIYBABsqWAJoo2AjHnrDzow2BFbM6Co4UT?A yZAAAOe8eob8eob4Gob8etbAQpRA0LCUASYlNEFbUVEPP0?dEF BAAA7eAAQptAvFVTAS40CEvViTASosaEFb82DOPNXEzY?4dEJm ZTASY91Dloo2ATPckDLBAAAEe8eGcEYtbAQpVATH98?AwAukDr oo2AVJ98AwWprDOAAAA7eAAQplAzOGDEsoo2AJ22?rDyNlkD0O ZyDFbEcEo488Aw8WeDjRxvAOAAAAEeEYobEYmb?9egb8enbIw3 bAQpQAS3WeD0eDKEFb0sDhu0aE
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. (http://www.tetrisconcept.net/forum/showthread.html?p=16051&highlight=1%2F16th#post16051) 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*
colour_thief
08-25-2010, 12:59 PM
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.
vBulletin® v3.8.3, Copyright ©2000-2012, Jelsoft Enterprises Ltd.