Poll

One line or two lines for the menu? (See reply #144)

One line
3 (30%)
Two lines (spaced)
7 (70%)
No preference
0 (0%)

Total Members Voted: 10

Author Topic: [PROPOSALS][PLAYER] New menu design  (Read 27807 times)

0 Members and 1 Guest are viewing this topic.

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: [PROPOSALS][PLAYER] New menu design
« Reply #60 on: August 05, 2020, 07:26:23 PM »
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


Quote
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...?

Quote
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.

Quote
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.

Quote
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).

Quote
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.

Quote
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.

Quote
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.

Quote
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.)
My Lemmings projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)

Offline Dullstar

  • Posts: 2092
    • View Profile
    • Leafwing Studios Website (EXTREMELY OUTDATED)
Re: [PROPOSALS][PLAYER] New menu design
« Reply #61 on: August 05, 2020, 11:08:56 PM »
About replays (click to show/hide)

About the font: I definitely find the current default hard to read. The bright blue font color was derived from the Amiga version, but the overall appearance is a bit different due to the fact that Amiga has 7 colors per letter compared to DOS's (and therefore the current default's) 4 colors, and I handled this mostly just by picking 4 of the 7 to use, rather than doing any sort of interpolation. It was very much a first attempt, and I liked it better than the current default, so I went with it. I'm still happy to try to tweak it more, though, if people don't really like it. Messing with the background is also an option.

About the cursor: I mostly just want to avoid a situation where we have a cursor that looks almost, but not quite, identical to the in-game one. In other words, it should either be completely identical, or completely different, hence the suggestion of upscaling the low-res cursor in low-res mode rather than using the high-res one. But we could also use the system cursor or something completely different - I believe the Amiga version uses a Lemming hand, IIRC.

Offline Simon

  • Administrator
  • Posts: 3860
    • View Profile
    • Lix
Re: [PROPOSALS][PLAYER] New menu design
« Reply #62 on: August 07, 2020, 07:14:06 PM »
You can make the font grey, orange, or yellow.

It's fine to postpone search for level. Indexing the levels is a new feature, and file operations on Windows is slow.

It's fine to postpone indefinitely finding the replays for a given level.

-- Simon

Offline WillLem

  • Posts: 3345
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: [PROPOSALS][PLAYER] New menu design
« Reply #63 on: August 08, 2020, 12:36:26 AM »
About the cursor: I mostly just want to avoid a situation where we have a cursor that looks almost, but not quite, identical to the in-game one. In other words, it should either be completely identical, or completely different... I believe the Amiga version uses a Lemming hand, IIRC.

I agree And yes, the Amiga version does indeed use a Lemming hand. It also uses a graphic of a Lemming asleep in bed (zzZ) for waiting times! :lemcat:

The cursor is one area where we have the opportunity to create something completely new: I think we're all settled on going with the tried-and-tested "Lemmings cards and font" look, even if the specifics of layout and formatting are still in discussion.

Maybe the menu cursor could be something that's exclusive to NeoLemmix!

I also think that QUIT deosn't need a menu card, as well. It could just be a very small button in one corner of the screen marked "EXIT/ESC" and that would surely suffice. So it isn't lonely, an equally sized button could go on the other side with "ABOUT" and that could give detailed NeoLemmix info/credits (NOTE: this isn't a suggestion not to display the current NL version on the main screen - that should, of course, still definitely be a thing).

Perhaps if the menu cards are updated slightly, this would also help to give NL its own look. Here's a version I did very quickly just to riff some ideas. I'm not suggesting this look in particular, it's just to open up some possibilities:

« Last Edit: August 08, 2020, 12:55:21 AM by WillLem »

Offline Dullstar

  • Posts: 2092
    • View Profile
    • Leafwing Studios Website (EXTREMELY OUTDATED)
Re: [PROPOSALS][PLAYER] New menu design
« Reply #64 on: August 08, 2020, 10:12:23 AM »
I did some new recoloring work, since the bright blue one from earlier seemed a bit controversial. Unlike the bright blue one, however, none of these are available, because I did a mock-up to test several new palettes at once, side-by-side. However, if you want one of them to mod into your NL installation now, just ask and I'll go ahead and make it for you.

This time, I took only the darkest and lightest colors I wanted to use from the Amiga version (in practice, this meant the second brightest and second darkest used in the Amiga version, since the brightest is always white, and the darkest is too dark for the background in most cases), and then I interpolated to get the middle colors. Every color from the Amiga pre-level screen is featured here, alongside the current default, the bright blue recolor I posted earlier, an example of what it looks like if you keep the darkest color, and an attempt at the colors suggested by Simon (I didn't have a darkest/lightest combo to work with, so I had to improvise, with varying degrees of success). I interpolated the colors linearly, treating the HSV values independently (For the first couple of recolors, I compared this to the results from using the RGB values, and the HSV method tended to produce more vibrant colors, while the RGB method was more washed out). The resulting text was then placed on the current background as well as a recolored one. The background was recolored simply by shifting the hue in Paint.net, with an input value of 115.

Each color has been given a label so it's clear which one you're talking about, if you'd like to give any feedback.
Current Background:


Green Background:

The Python script was written for Python 3.8, though it probably runs on many earlier 3.x versions as well. It has enough sanity checking of inputs to make sure it won't crash, but it doesn't actually check to make sure they're valid, so if you put some nonsense numbers in there it'll spew nonsense. It's not really production level code, by any means, but that's because that's probably a bit overkill for a single-purpose script. There's a wraparound feature for hue values since they're cyclical, but it's probably not perfect, though I doubt the differences are really all that perceptible in the end result.



Amiga Blue on the current background seems nice. Amiga Teal on the green background is probably my second choice, though it could still work on the existing background.

Right now the main menu and pre-level screen use the same background. The green background looks fine on the pre-level screen, but it definitely does NOT look okay in the main menu, because there's too much green in the rest of the elements. Even if we stick to the current set-up of the pre-level screen and the main menu using the exact same background, if the background can be customized by packs (can't remember if this is allowed or not), it might be a good idea to allow them to be changed independently.
« Last Edit: August 08, 2020, 10:20:21 AM by Dullstar »

Offline Proxima

  • Posts: 4562
    • View Profile
Re: [PROPOSALS][PLAYER] New menu design
« Reply #65 on: August 08, 2020, 12:51:14 PM »
I like the "Amiga Blue" lettering. What puts it above "First Recoloring Blue" for me is that the light pixels are lighter, giving the digits a more defined presence (yeah, kind of hard to find the vocabulary for talking about things like this, but maybe you know what I mean).

Offline Simon

  • Administrator
  • Posts: 3860
    • View Profile
    • Lix
Re: [PROPOSALS][PLAYER] New menu design
« Reply #66 on: August 08, 2020, 02:34:29 PM »
Amiga Blue is fine.

Lowermost 7 colors need higher contrast (difference between light and dark pixels). As-is, they look flat and fat. Their edges' lightness should be closer to the background's lightness than to their lightmost pixels' lightness.

-- Simon

Offline WillLem

  • Posts: 3345
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: [PROPOSALS][PLAYER] New menu design
« Reply #67 on: August 10, 2020, 01:20:45 AM »
+1 for Amiga Blue, that's easily the best in terms of how it looks against both backgrounds. Teal is also a great choice.

The others are interesting though... is there a way that a few extra colours could be used? Maybe NL could have a colour scheme of various ones, further give it its own identity.

Offline Dullstar

  • Posts: 2092
    • View Profile
    • Leafwing Studios Website (EXTREMELY OUTDATED)
Re: [PROPOSALS][PLAYER] New menu design
« Reply #68 on: August 10, 2020, 06:24:23 AM »
+1 for Amiga Blue, that's easily the best in terms of how it looks against both backgrounds. Teal is also a great choice.

The others are interesting though... is there a way that a few extra colours could be used? Maybe NL could have a colour scheme of various ones, further give it its own identity.

As in more than 4 colors? Yes and no: technically, it's possible. But it's not a trivial change to make, either. To recolor the existing text to a different set of 4 colors, all I need to do is tell whatever program I'm using which 4 colors to change to which 4 other colors. To add more colors, some sort of more complicated change would need to be made, whether by modifying the existing letters, extracting the Amiga version letters (which have 7 colors), or making new ones from scratch.

To add more colors to the existing lettering without altering the art style would be beyond my current artistic capabilities. If someone else wants to, go right ahead.

Offline WillLem

  • Posts: 3345
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: [PROPOSALS][PLAYER] New menu design
« Reply #69 on: August 10, 2020, 04:42:52 PM »
As in more than 4 colors? Yes and no: technically, it's possible. But it's not a trivial change to make, either. To recolor the existing text to a different set of 4 colors, all I need to do is tell whatever program I'm using which 4 colors to change to which 4 other colors. To add more colors, some sort of more complicated change would need to be made, whether by modifying the existing letters, extracting the Amiga version letters (which have 7 colors), or making new ones from scratch.

To add more colors to the existing lettering without altering the art style would be beyond my current artistic capabilities. If someone else wants to, go right ahead.

Perhaps you've misunderstood: I meant use a different colour for different lines of text, rather than different colours within the text graphic itself...

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: [PROPOSALS][PLAYER] New menu design
« Reply #70 on: August 10, 2020, 07:32:15 PM »
It could be done, but it needs to be considered how this would interact with packs providing custom font graphics (in technical terms, I mean). Presumably, we'd have to have one "base" color which then gets RGB or HSV transformations applied to it.
My Lemmings projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)

Offline IchoTolot

  • Global Moderator
  • Posts: 3608
    • View Profile
Re: [PROPOSALS][PLAYER] New menu design
« Reply #71 on: August 10, 2020, 07:51:13 PM »
Amiga Blue for me as well.

I really don't like having different colors for different lines of text to be honest. I think it's harder to read and looks kind of clowny.

Offline Dullstar

  • Posts: 2092
    • View Profile
    • Leafwing Studios Website (EXTREMELY OUTDATED)
Re: [PROPOSALS][PLAYER] New menu design
« Reply #72 on: August 10, 2020, 08:21:07 PM »
Usable Amiga Blue font uploaded.

To use in an existing NL version, replace the existing menu_font.png (located in \gfx\menu) with this one.

Offline WillLem

  • Posts: 3345
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: [PROPOSALS][PLAYER] New menu design
« Reply #73 on: August 11, 2020, 02:18:05 AM »
I really don't like having different colors for different lines of text to be honest. I think it's harder to read and looks kind of clowny.

Yeah, fair enough. One well-chosen colour seems decent enough.

Where are we on the background, has anyone got hold of a non-blurred/generally nicer looking version of that yet? I've looked around online and can't seem to find an assets folder or anything; Google image search yields no results either.

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: [PROPOSALS][PLAYER] New menu design
« Reply #74 on: August 11, 2020, 03:05:47 AM »
I've made a seperate topic to discuss / vote on the font color: https://www.lemmingsforums.net/index.php?topic=5040.0

Regarding the background, I have attached a copy of the background extracted from DOS Original Lemmings' MAIN.DAT file (via LemMain).
My Lemmings projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)