26F-Studio / Techmino

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

[Feature Request] Please add an UNDO button #750

Open arowjet opened 2 years ago

arowjet commented 2 years ago

Please add UNDO button to techmino to fix misdrops etc (maybe in practice mode or as a MOD?) Thank you. I want to practice using an UNDO button instead of resetting entire field for 1 misdrop, thank you.

Not-A-Normal-Robot commented 2 years ago

we might be able to bind it to one of the function keys

ImpleLee commented 2 years ago

This was discussed many times in the dev team, but it is really difficult to add UNDO without making some great changes to the program. Also, there is (as far as I know) currently no plan to add UNDO in techmino Galaxy, and the reason is similar, i.e. MrZ doesn't know a good way to implement.

Not-A-Normal-Robot commented 2 years ago

really?

why not:

MrZ626 commented 2 years ago

Getting a copy of entire player is not that easy, some data is already a copy from "static" game data. And there can be infinite loop of tables, so I don't sure what will happen.

Trebor-Huang commented 2 years ago

really?

why not:

  • store a copy of the entire player object somewhere
  • undo = overwrite current player object with the copy

That's just #152. It's not only been discussed, it's been implemented.

Trebor-Huang commented 2 years ago

Unless the whole thing is designed with this in mind it would be very hard.

Kevin-free commented 1 year ago

I also sometimes wish there was a UNDO feature, but it's really hard to do in multiplayer.

Not-A-Normal-Robot commented 1 year ago

why the hell would anyone want an undo feature in multiplayer

it just doesn't make sense at all

Trebor-Huang commented 1 year ago

Technically there is usually this feature, it's called a takeback in chess.

C29H25N3O5 commented 1 year ago

Only reasonable if both players take turns (like in turn-based modes).

For normal modes I just don't think it is viable in any sense.

ImpleLee commented 1 year ago

A semantic decision: should related random generators also make a step back?

(Related: #978, which can be similarly abused.)

Not-A-Normal-Robot commented 1 year ago

this would also be useful in the upcoming Construct modes as one misdrop may force you to start over.

obviously this should be enabled only for some modes like Custom Game and the aforementioned Construct modes.

ImpleLee commented 1 year ago

this should be enabled only for some modes like Custom Game and the aforementioned Construct modes.

I think it can be widely applied, as long as the "UNDO"s are also recorded in the replay.

Not-A-Normal-Robot commented 1 year ago

I'm not concerned about replay desyncs, I'm concerned about people cheesing the game with it.

ImpleLee commented 1 year ago

I'm not concerned about replay desyncs, I'm concerned about people cheesing the game with it.

You did not get what I want to say. I am not going to say anything about replay desync. If "UNDO"s are recorded in the replay, You can know whether they "cheese" the game (in your term), because using "UNDO" is recorded and irreversible.