26F-Studio / Techmino

Techmino:方块研究所唯一官方仓库(Github)
https://www.studio26f.org
GNU Lesser General Public License v3.0
518 stars 67 forks source link

Built-in TASing tools #102

Open Not-A-Normal-Robot opened 3 years ago

Not-A-Normal-Robot commented 3 years ago

Feature checklist:

image image

User670 commented 3 years ago

Just stick to libTAS. A TASing tool is out of the scope of this project. Also I expect its demands would be low, with the very rare exception of needing a simple "undo" function in certain modes like PC, C4W or big bang.

MrZ626 commented 3 years ago

why close? it's not too hard to do, and nullpomino has already made this

User670 commented 3 years ago

why close? it's not too hard to do, and nullpomino has already made this

Well, if you wish :-/

Not-A-Normal-Robot commented 3 years ago

and nullpomino has already made this

Exactly the reason I made this issue ^^

Not-A-Normal-Robot commented 3 years ago

Pressing F8 will open the debug overlay, and pressing F11-F12 will adjust the speed. I think it's an early implementation of this.

MrZ626 commented 3 years ago

Do TAS players need to see invisible blocks, ALWAYS?

MrZ626 commented 3 years ago

And how to display 10 nexts in that little box lol

User670 commented 3 years ago

Do TAS players need to see invisible blocks, ALWAYS?

If you are playing invisible mode, yes, I guess. That's one of the purposes of the "tool" in "tool-assisted speedrun". (If it was another game, some people would probably develop a tool that displays the field based on what's in the memory for the game's process.)

Not-A-Normal-Robot commented 3 years ago

And how to display 10 nexts in that little box lol

Maybe you can have the 6 next pieces in the normal position and 4 letters below it for an additional 4 next pieces

MrZ626 commented 3 years ago

Maybe you can have 4 letters below it for an additional 4 next pieces

Same idea, going to make this now

Trebor-Huang commented 3 years ago

If you want to save a state, you need to have a mechanism to back up the results of a coroutine. I suggest implementing a duck type coroutine that supports rewinding and copying by using a central coroutine delivering the values, and retrievers that stores an index.

On the other hand, all the coroutines in Techmino are just random number generators, which can be replicated: just copy the random seed and you're done. This method cannot be generalized though.

User670 commented 3 years ago

Feature request: a toggle for automatically fast-forward through delays (countdown, spawn delay, line delay) until the next piece is ready to be controlled.

(Thing to consider: how would IRS/IHS interact with it? How does a TASer make use of IRS/IHS while this is turned on?)

Not-A-Normal-Robot commented 3 years ago

Feature request: a toggle for automatically fast-forward through delays (countdown, spawn delay, line delay) until the next piece is ready to be controlled.

(Thing to consider: how would IRS/IHS interact with it? How does a TASer make use of IRS/IHS while this is turned on?)

How about instead it's made into a button to skip delays instead of a toggle? Then you'd have to hold the rotation/DAS/hold to do IRS/IMS/IHS

Not-A-Normal-Robot commented 3 years ago

And if you really want a toggle, it'd make it so that the delays are only shortened to 1 frame instead of 0 so you can still IRS/IHS/IMS

Edit: I've noticed IMS requires DAS to be charged, so this won't work.