ejona86 / taus

Tetris - Actually Useful Statistics and other mods

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TGM style garbage?

GerryHolt opened this issue · comments

commented

Is it possible to code the garbage to function as it does in Tetris Grand Master?

In that version, the garbage row has open position in the shape and column placement of the last piece used to clear garbage, so for example if I use an L piece to clear three lines, 3 rows are sent with an L shaped hole in the same position it was placed to clear the lines originally. If a square is used, two lined of garbage are sent with 2 columns empty in the spot I placed the square.

This makes it so you can't just keep clearing the same side without making it super easy to clear for your opponent. Adds another element of strategy. Not sure if this is within the scope of the nes version, but it would make it a lot more interesting for sure.

That's within scope, although I'm not familiar with the style. Ordinarily if you clear 3 lines with an L only 2 lines are sent as garbage. Does it just not send one-line garbage and hope there's enough 1-line burning to avoid the same lines getting passed between the players continually?

It seems that gives quite a bit of freedom to do mean things in your line clearing. Just letting the opponent choose the missing hole position seems a bit too powerful. Although I do agree it would strongly discourage typical gutter usage. And I could see how this would make for "interesting" games.

The current code shifts the empty spot every 10 lines. The reason not to just keep clearing on one side is to clear garbage, although that requires the opponent to subscribe to "offense is the best defense."

To do this I'd need to: 1) Need to record the piece, position, rotation, and number of lines on line clears. 2) Have space to store multiple of those items, as you wait for a piece to land so you can generate the garbage. This is really annoying. 3) Generate the garbage and clear the positions based on the pieces. For (1) and (2), it may be better to just record a byte for each line cleared with 2 bits for number of blocks missing and 4 bits for position of those blocks. Dunno which is easier.

This seems quite feasible, but annoying enough that I probably wouldn't do it on a whim. I might try to play TGM some time and try out how well that system works to grow more appreciation for it. But it'd be a few months until that is likely to happen.

commented

I can record some game play for you to show you how it works. I've been playing it tonight and it's a little different on some peices than I remember (or if you clear two lines with a flat L, it reverses it's "phantom" position when it sends the garbage). I'll ask some of the TGM guys and see if they have a document on how exactly it works to help speed things along as well.

@GerryHolt, pointing to documentation would definitely help.

Would this be an optional variation to the existing garbage patch? Make no mistake, I love TGM and this idea, but seeing as how this is Nintendo Tetris, it'd also really be a shame to lose out on the abilty to experience line garbage on the NES version as it was historically implemented for the Game Boy.

commented

I don't think there is any real documenation out there. But what basically happens is that a deleted row is shoved in from the bottom on the other side of the board. A single line will not be send, everything else is traded 1:1 with the exception of item activations. This can generate garbage holes 1,2 or 3 wide, might be easier to store the bit pattern. This would need 5 Bytes to hold any combination.

commented

I wouldn't say it should replace the mode of garbage that exists now, just make it an optional patch or toggleable in some way. But yeah, I've been looking all over for some form of documentation on it and can't find any. I'll see if I can record some game play with the intent of showing how garbage works, but it's mostly how TGGC describes it.