infinite height toggle should not be added in the Infinite and Infinite Dig modes
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 .
I'm not sure what you mean by "its functionality positioning". I haven't encountered any bugs in Infinite mode.
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.
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?
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.
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.
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.
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.
If there must be such a mode, you can make it a new mode, instead of introducing new features into Infinite mode.
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) | ✅ |
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"?
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.
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.
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.
I think we need just add the toggleeable inf-height feature to custom mode's F2 key
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.
so keep it in infinite mode
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.
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.
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.
Now Custom Game can have replay, and we can talk about this issue again.
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?
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)?
pretty sure it does have the version since you can see them in the replay selection menu
Ok, you mean the version of the game. That is available in the replay. Then you say we can parse that, and then?
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?
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