tetrio / issues

Report issues and discuss improvements / feature requests around TETR.IO
https://tetr.io
388 stars 21 forks source link

Add buffered left/right movement #473

Open AgStarRay opened 4 years ago

AgStarRay commented 4 years ago

Checklist (issue will be disregarded & closed if incomplete!)


Is your feature request related to a problem? Please describe.

This can enhance the feel of the game. Consider a T-Spin slot that's one column away from the right wall and the overhang is to the left. If you DAS to the right, MAX soft drop to the slot with the T pointing up, then button order matters. If you press Left and rotate CW in the brief window you press left (before DAS occurs), it won't move left. It only moves left if you rotate first.

Describe the solution you'd like

If it is unable to move left, add a buffered left input where it will activate the next possible frame. This is similar to the initial moves you can do at the start of a game. Remove the buffer if the button is released or the piece moves left. This will allow more leniency on how soon you need to rotate. BONUS: you can also perform soft drop tucking if implemented.

Describe alternatives you've considered

I could play slower to avoid making this mistake and point the T sideways while it goes down.

Additional context

Here's a T-Spin slot where this matters. bufferedInput

o5k commented 3 years ago

i'm not sure I understand...?

AgStarRay commented 3 years ago

The idea is to make inputs seem less digital and more like commands. If you press left, you should expect it to go left, but there's a brief window (the DAS timer) where Left does absolutely nothing if it fails to move left. When it fails to move left, the game should recognize that maybe the player is attempting to move into something but it's not quite at the right circumstances just yet.

Rotate → Left → Rotate = Spins in Hold Left → Rotate → DAS Charge → Rotate = Spins in Left → Rotate → Release Left too early → Rotate = Fails

In the GIF above, the board moves slightly to the left. I increased DAS delay to see if this behavior was occurring.

o5k commented 3 years ago

oooh, I see, so if you mix the order of "shift, rotate" it will swap them

github-actions[bot] commented 3 years ago

This issue has not seen any activity in 30 days. If the issue is still relevant, please comment on it or the issue will be automatically closed in 7 days. This way, the issue tracker can be kept clean. Thank you!