Hello, I'm currently programming a TGM-like, and despite my researches, I still wonder how gravity really works in this Tetris. I actually never played TGM so it's not easy to figure it out. My current main loop is: 1) initial rotation 2) rotation 3) shift 4) soft drop / hard drop 5) gravity 6) lock I'm pretty sure it's not the same behaviour as TGM because when the gravity reaches 20G, it still allow you to perform a rotation and a shift before gravity drops the tetromino on the stack. --> Should I perform gravity first ? Apart from that, I would really enjoy if some TGM player wanted to play my Tetris and give me tips about what's right or what's wrong. It's a Java game requiring Java Runtime 7. === EDIT === I found the answer in this thread : http://tetrisconcept.net/forum/showthread.html?t=1720&highlight=gravity TGM So basically, it is : 1) new tetromino 3) initial hold 2) initial rotation (without kick) 3) gravity then, 4) rotation 5) shift 6) drop 7) gravity lock Anyway, if someone is interested in testing my tetris (early development stage), just email me. (I didn't implemented ARS yet, only SRS)
There is a check for locking during movement processing. if last movement was hard drop for SRS or soft drop for ARS, then lock the piece if it is in contact with the stack. If lock delay runs out and the piece is in contact with the stack, it also locks. SRS has move reset always, even in TGM3, but it's very limited. 10 move resets and 8 rotation resets per piece, and these counters do NOT reset when the piece goes down. Also, I rotation handling in TGM3 is different for other guideline games, even under SRS. see http://tetrisconcept.net/wiki/SRS#Arika_SRS This change is made to help people get Is into tetris holes on the right side of the stack. ARS uses step reset, and will only reset the lock delay if the bounding box of the piece lowers. In TGM3, the I and T pieces (only) can kick upward, but rotating either after an upward kick sets the lock delay to zero permanently for that piece to prevent stalling. Additionally the I piece cannot kick up when it is not in contact with the stack. along it's current bottom edge. rotation will fail in this case. You can kill yourself with initial hold. You cannot kill yourself with initial rotation (rotation will just fail)