[FEAT] Option added for which level is loaded on starting SLX

Started by WillLem, August 04, 2023, 02:41:17 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

WillLem

SuperLemmix 2.6 will feature an option to either load the next unsolved level, or the most recently active. Since both are potentially desirable depending on the gameplay scenario, it makes sense to have this option handy.

For instance, current behaviour is that the most recently active level is always loaded regardless of whether or not the level has been solved; this can be useful if, for example, testplaying a level or running a challenge. However, when making your way through a pack, you will most likely want it to always load the next unsolved level in that pack.

Note that "next unsolved" and "most recently active" are always chosen dynamically based on the outcome of the most recently played level, regardless of any previous outcome on that level.

So, for example, if "Next Unsolved Level" is chosen, gameplay will always jump to the next unsolved level after the most recently one played. So, if levels 1-10 are completed and level 11 is unsolved, then level 2 is re-played for some reason, SLX will choose level 11 (rather than level 3) upon successful completion of level 2...

...Conversely, if level 2 is not successfully completed (in this example), even if it was previously completed, then it will once again become the next unsolved level, and will be the level that is loaded next time SLX is opened. This is true in either case, since it is both the "next unsolved" and the "most recently active" level.

Furthermore, as long as levels 3-10 are not played again, a subsequent successful completion of level 2 will once again restore level 11 as the next unsolved level.

I hope that's clear enough. Suggestions/comments/questions welcome. Here's what the option looks like - if in doubt, choose "Most Recently Active Level" as this is current NL/SLX behaviour:



Implemented in Commit 8b81c48e6

Proxima

Next unsolved level in the current rank? The current pack? Or first unsolved level in the entire tree?

This strikes me as one of those options that sounds good on paper but unlikely to have real demand (I could be wrong). It might be worth revisiting it after a few months to see how widely used it is.

WillLem

Quote from: Proxima on August 04, 2023, 02:51:17 AM
Next unsolved level in the current rank? The current pack? Or first unsolved level in the entire tree?

Current pack, spanning ranks if needs be.

In fact, as explained, it's always taken from the last level played - and, the outcome of that playthrough will determine whether or not we then look for the next unsolved level, or stay on the current level (if unsolved on that playthrough).

Quote from: Proxima on August 04, 2023, 02:51:17 AM
This strikes me as one of those options that sounds good on paper but unlikely to have real demand

I've noticed many times that whenever I re-load NL/SLX, it always starts on whatever level was last played (that is, if the game is exited before advancing to the next preview screen). It turns out that this is because the value of "Current Level" only gets updated once the preview screen is actually loaded - if the game is exited before then, the last-played level stays as the "Current Level", regardless of outcome.

All I've done, really, is update this so that the next unsolved level becomes the "Current Level", when exiting the game, if the following conditions are met:

1) The previous "Current Level" was solved
2) The option for "Next Unsolved Level" is chosen

And, as a by-product of this, the next unsolved level will always be the one chosen after successful completion of the current level (so, it will jump to that one in the list).

I could remove the option and just make this default behaviour, but then I realised that sometimes people may want to be able to re-load to the most recently played level - for example, testing/challenge purposes.

Also, it means people can stick with current behaviour if it's what they prefer.