Techmino icon indicating copy to clipboard operation
Techmino copied to clipboard

infinite height toggle should not be added in the Infinite and Infinite Dig modes

Open ImpleLee opened this issue 2 years ago • 26 comments

Infinite height toggle was introduced in #961 as requested by #959 , but introducing infinite height toggle in the infinite mode actually breaks the mode's functionality positioning, i.e. the prototype of other modes and a sandbox without the need of configuration.

However, the infinite height can be introduced in the custom mode, as an option of the configuration of field height (parallel to 1, 2, 3, 4, 6, 8, 10, 20, 30, 50 and 100).

Another option is to make it a toggle in the custom mode, but this is not needed, just like we do not need a toggle to change the field height from 1 to 20 in the game.

Blocked by #996 .

ImpleLee avatar Sep 25 '23 07:09 ImpleLee

I'm not sure what you mean by "its functionality positioning". I haven't encountered any bugs in Infinite mode.

Not-A-Normal-Robot avatar Sep 25 '23 08:09 Not-A-Normal-Robot

I'm not sure what you mean by "its functionality positioning". I haven't encountered any bugs in Infinite mode.

I have updated the comment. You can refresh the page to see the updated comment.

ImpleLee avatar Sep 25 '23 08:09 ImpleLee

I still don't understand. Are you saying that the Infinite mode shouldn't need eventsets? Do you want infinite height to be a lot simpler (i.e. insta-death if you disable it when field height > 20)? Do you want the infinite ruleset to be available in Custom Game?

Not-A-Normal-Robot avatar Sep 25 '23 08:09 Not-A-Normal-Robot

I still don't understand. Are you saying that the Infinite mode shouldn't need eventsets? Do you want infinite height to be a lot simpler (i.e. insta-death if you disable it when field height > 20)? Do you want the infinite ruleset to be available in Custom Game?

It should be removed from the infinite mode and similar functionality should be provided (as an option of field height) in custom game.

ImpleLee avatar Sep 25 '23 08:09 ImpleLee

If we remove infinite height from Infinite mode, then we can't build upwards infinitely that easily (...obviously)

If we make Infinite mode have infinite height constantly, then there's no way to end the game because you'd need to top out. This means that getting a replay would be impossible, and all Infinite replays would desync and last forever.

Not-A-Normal-Robot avatar Sep 27 '23 11:09 Not-A-Normal-Robot

If we remove infinite height from Infinite mode, then we can't build upwards infinitely that easily (...obviously)

If we really want to talk about the availability, Custom Game is definitely more available than Infinite mode, because Infinite mode is really deep in the map, but Custom Game is available just from the main menu, and a user does not need to explore the map that deep for such a feature.

ImpleLee avatar Sep 27 '23 18:09 ImpleLee

If we make Infinite mode have infinite height constantly, then there's no way to end the game because you'd need to top out. This means that getting a replay would be impossible, and all Infinite replays would desync and last forever.

I think this is a valid point against making it an option of field height, since infinite height effectively cancels block-out. I am not currently prepared with an alternative solution, maybe making it necessary to choose at least one of block-out, top-out or lock-out as a game-ending condition? @MrZ626

But overall, this cannot defend the point of not removing this feature from Infinite mode, since such a feature definitely should not be provided in Infinite mode.

ImpleLee avatar Sep 27 '23 19:09 ImpleLee

If there must be such a mode, you can make it a new mode, instead of introducing new features into Infinite mode.

ImpleLee avatar Sep 27 '23 19:09 ImpleLee

I still think the current implementation is the best:

Mode Has replays? Preserves old replays? Can stack upwards infinitely?
Infinite mode w/ toggleable infinite height
Infinite mode w/ finite height
Infinite mode w/ infinite height
Custom game w/ infinite height (N/A)
New infinite-height Infinite mode (N/A)

Not-A-Normal-Robot avatar Sep 28 '23 09:09 Not-A-Normal-Robot

New infinite-height Infinite mode ❌ (N/A) ✅

Why a new mode does not have replays? What do you mean by "old replays cannot be preserved"?

ImpleLee avatar Sep 28 '23 12:09 ImpleLee

After considering about it more, I find I just cannot understand your terms "has replays", "preserves old replays" and "can stack upwards infinitely". I hope you could explain these terms more precisely.

ImpleLee avatar Sep 28 '23 12:09 ImpleLee

Has replays: The mode has an end where you can save your replay. Preserves old replays: The overwritten mode will still play old replays without desyncs. Can stack upwards infinitely: The mode has infinite height.

Not-A-Normal-Robot avatar Sep 28 '23 22:09 Not-A-Normal-Robot

But overall, this cannot defend the point of not removing this feature from Infinite mode, since such a feature definitely should not be provided in Infinite mode.

How to implement infinite height(including toggle/any other death methods) and whether to remove similar functionality from Infinite mode are different questions. The former has a lot of room for discussion, but the latter must be done.

ImpleLee avatar Sep 29 '23 04:09 ImpleLee

I think we need just add the toggleeable inf-height feature to custom mode's F2 key

MrZ626 avatar Sep 29 '23 12:09 MrZ626

If we made it a feature in Custom Game and removed it from Infinite mode then we wouldn't be able to have replays with infinite height in them, since Custom game specifically disallows saving replays.

Not-A-Normal-Robot avatar Sep 29 '23 13:09 Not-A-Normal-Robot

so keep it in infinite mode

MrZ626 avatar Sep 29 '23 14:09 MrZ626

So the problem becomes why replays of Custom Games cannot be saved, which is (maybe?) a long-standing problem. After solving that, we could move this feature into custom game.

ImpleLee avatar Sep 29 '23 16:09 ImpleLee

Well, technically, after that Infinite mode would just be obsolete since you can replicate it exactly, and more, with Custom mode. (And if you're complaining because Infinite mode doesn't require toggles and sliders, make an issue for Custom game presets.)

Even after we make Custom mode replays possible, we'd probably still keep Infinite mode in the game as an inaccessible mode so the Infinite replays remain playable.

Not-A-Normal-Robot avatar Sep 29 '23 16:09 Not-A-Normal-Robot

Well, technically, after that Infinite mode would just be obsolete since you can replicate it exactly, and more, with Custom mode. (And if you're complaining because Infinite mode doesn't require toggles and sliders, make an issue for Custom game presets.)

Most modes are reproducible by Custom Game, which is well understood, and does not make those modes obsolete or need to be removed.

ImpleLee avatar Sep 29 '23 16:09 ImpleLee

Now Custom Game can have replay, and we can talk about this issue again.

ImpleLee avatar Oct 20 '23 07:10 ImpleLee

ok so should we rename the infinite height ruleset to "infinite_height.lua"?

also if we forcefully remove infinite height from Infinite modes then the replays which utilize infinite height will desync so I'm not very sure how to go about this.

the replays do have versions... maybe we can parse it?

Not-A-Normal-Robot avatar Oct 20 '23 07:10 Not-A-Normal-Robot

ok so should we rename the infinite height ruleset to "infinite_height.lua"?

We can, but should it be a separate mode, or maybe make it a feature (e.g. enable infinite height) in custom game (or both and don't show this ruleset in custom game?)?

also if we forcefully remove infinite height from Infinite modes then the replays which utilize infinite height will desync so I'm not very sure how to go about this.

the replays do have versions... maybe we can parse it?

Don't know what you mean by version, but there is no version-related string in the replay. Maybe a solution is to move any replay that utilize the infinite height feature (by detecting the use of function key 1) to the new mode (or convert them as custom game)?

ImpleLee avatar Oct 20 '23 07:10 ImpleLee

pretty sure it does have the version since you can see them in the replay selection menu

Not-A-Normal-Robot avatar Oct 20 '23 07:10 Not-A-Normal-Robot

Ok, you mean the version of the game. That is available in the replay. Then you say we can parse that, and then?

ImpleLee avatar Oct 20 '23 07:10 ImpleLee

should it be a separate mode, or maybe make it a feature (e.g. enable infinite height) in custom game (or both and don't show this ruleset in custom game?)?

Maybe another option is to make it a mod?

ImpleLee avatar Oct 20 '23 08:10 ImpleLee

and then convert it into an infinite height infinite mode if it's a version where there is infinite height in the regular infinite mode. we need thorough testing to see if it does desync replays tho

Not-A-Normal-Robot avatar Oct 20 '23 08:10 Not-A-Normal-Robot