Tl;dr notes for this post:
- Any special "load replay" things - not ruled out permanently, but won't be part of
this upgrade.
- Group levels by author? (but this may come later)
- If using crosshair cursor, use low-res (zoomed) or high-res depending on user's resolution setting - not ruling this out but not sure if worthwhile
- Creators tools accessed from level select rather than directly from title screen? (But putting it into the editor is out of the question, for technical reasons.)
- Different new color for the font?
- Customizability of default menu / etc graphics will be no more nor less than it is now
- Ability of packs to provide custom graphics will also likely remain similar to now; backwards compatibility will not be broken "just for the sake of it" but is not considered "sacred" either
For clarity, I'd like to mention that I think the choice between low-res cursor scaled up and high-res cursor should be based on the currently selected option: if high-res mode is enabled, use the high-res cursor; if low-res mode is enabled, upscale the low-res cursor.
This should be doable, but I'm not sure if it's worthwhile supporting two marginally-different cursors based on a setting that otherwise doesn't affect the menu...?
I like the idea of being able to load replays from the menu, but I definitely see the potential for technical issues. For one thing, the replay format would need to store the source level (not just be able to tell if they match).
It would not need to store the entire level. It would be possible just with the currently-stored information, but it could be very slow to find the matching level, especially if it has to search the whole library (rather than just eg. a single pack). A more efficient way could still rely on some kind of better method of pointing to the level (eg. perhaps it has a pack ID too, so it uses that to quickly find the correct pack then only has to iterate through one pack's levels) without outright storing the level in full like Lix does.
Indeed, I do
not want to get into "store the level in the replay file". I think this is a very poor design, in particular it leads to issues if you want to test whether a replay still works on a new version of a level etc.
At any rate - let's go forward on the assumption that this feature will
not happen as part of the menu upgrades, but is still on the table (though by no means confirmed) to look at further down the track.
Adding the ability to group by author in the level select menu without having to alter the folder structure might alleviate this issue.
Nice suggestion. Although this too might be a "do this later" thing.
But we'd want to make sure we can still load replays when the ID matches even if the filename doesn't,
For a very brief time on early versions, NL outright prohibited loading a replay if it thought the level was wrong. This quickly lead to issues and will
never happen again - NL will
warn you if it thinks the level and replay are mismatched, because usually it's right about this, but it will not outright refuse to try running the replay anyway because sometimes it's wrong (and sometimes there are valid reasons for trying to do this - such as trying a replay from one iteration of a repeated level, on another iteration).
Creator's Tools could be accessed from buttons in the level select menu; they don't need to clutter up the main menu.
Yeah, I could see that working too.
I really don't like the suggestion for the bright blue font. It may be clearer, but it clashes with the overall colour scheme and feels out of place.
I personally quite like it, though not in the sense of outright being set on it - I'm still very much open to "leave as-is" or a different color.
Regarding the cursor graphic: it might be simplest to allow these to be user-customisable like most of the other graphics. So, even if the decision is to make it the same as the in-game cursor by default, create these as a separate graphic (titled "cursor_menu", for example) so the user can decide either to leave it as-is or change it to something else, without it affecting the in-game cursor.
Regarding the background: again, as long as users can change the background to whatever they want, I suppose it doesn't massively matter what happens regarding this. It would be good to find a cleaner, higher-res (and unblurred) version of the existing one, though.
Regarding the font color: I agree with Proxima that the shade of blue chosen by Dullstar looks a bit out of place, but I appreciate the efforts towards making it more visible. Once again, leaving this as something users can recolour and change themselves (if they so wish) is ultimately the safest bet. It is, of course, important that we agree on a decent default colour though. Also, +1 for having different colours for different lines of text (although I can understand why people would be against this).
The default ones will be as customizable as they are now - ie: they are externally-stored PNG files so nothing is stopping you customizing them user-side, but customizing the defaults will never be
explicitly supported (as opposed to just "possible" - the difference is eg. that I make no promises whatsoever that future updates won't break your customizations, though of course this doesn't mean I'll go out of my way to break them - I just won't make effort to avoid it either).
Allowing customization by packs; my default thought here is if it's customizable now, or something roughly equivalent to something that's customizable now, it will be so under the new system too. Backwards compatibility for such graphics will be considered desirable but not critical.
If anything, it would make more sense for Creator's Tools to be an Editor thing rather than a Player thing.
It would need to be either part of NL, or a standalone tool. The whole reason I'm envisioning this is to allow implement features that need to make use of NL code in order to work (or in order to be optimally implemented) - the editor does not even have a fully-compatible implementation of NL's rendering, let alone any physics simulation. Perhaps I should be more clear here - I envision that Creators Tools would likely be added to later.
It could be done in a "make the two talk to each other" implementation, where the actual code for the features is in NL but the editor is used to actually
access them (in a similar vein to how the editor uses NL for testplay mode or converting older-format levels), but this just seems like it's complicating things for no reason.
(Ideally, the new editor would have been built into NL rather than an external tool. Creator's Tools could then be part of the editor section. This is out of the question at this point - the new editor is not even written in the same coding language; heck, one is .NET while the other is native code; and I already had one go at writing a replacement editor, it did not get very far.)