Author Topic: Level select menu  (Read 6031 times)

0 Members and 1 Guest are viewing this topic.

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Level select menu
« on: May 30, 2017, 12:14:07 PM »
So, I'm working on a level select menu in a similar vein to those of Lix, SuperLemmini or WinLemm; where you can choose from multiple packs.

Currently, it has a treeview taking up approximately the left half of the menu, with the right half being empty apart from small "OK" and "Cancel" buttons. If you'd like to see for yourself, try out the new-formats experimental I recently uploaded, and hit F2 on the title screen. (I felt a treeview was optimal, especially due to that NeoLemmix now allows, for example, for a rank itself to be split into multiple smaller ranks.)

I'm interested to know, what kind of preview details would people like to see on that screen? The full level info? Just a title and image? Somewhere inbetween? How about previous records for lemmings saved and time taken? Talismans, where applicable?
« Last Edit: May 30, 2017, 01:37:05 PM by namida »
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 namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: Level select menu
« Reply #1 on: May 30, 2017, 02:08:47 PM »
So far, I've got it displaying some basic details.

It'll display the name of the selected rank / level, the author (if known), and its position (eg: "It's Hero Time" would display "Level 3 of Mayhem", while Mayhem itself would display "Rank 4 of Lemmings"). I'll wait for feedback before adding anything further.
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: Level select menu
« Reply #2 on: May 30, 2017, 02:13:25 PM »
Maybe adding the skillcount, the details of the preview, the used tileset or maybe the detailed minimap view of the level is a good addition. As the text is waay smaller than in the preview-screen. This needs to be tested though.

I really want to be able to JUST select the pack though. Now you have to choose a level which takes you directly to the preview. I want to be able just switch packs while staying at the main menu with just loading the main menu layout + rank signs of the pack --- maybe via a double click / clicking OK on the pack in the list.
Maybe level select should be renamed to level/pack select. ???

Also the default pack can be the last pack you played instead of the first in the list.

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: Level select menu
« Reply #3 on: May 30, 2017, 03:00:34 PM »
Selecting a pack should currently take you to the first unsolved level within the pack. This might not be working correctly, though. If people would prefer to go to the title screen with that pack loaded, I can implement that.

Default pack being the last one you played is on my todo list.
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 Nepster

  • Posts: 1829
    • View Profile
Re: Level select menu
« Reply #4 on: May 30, 2017, 03:45:56 PM »
1) I agree, that whole packs and ranks should be selectable (currently only ranks are). I would prefer that they go to the main menu of the pack, not directly to the first unsolved level. Only when one starts a level, the preview screen of the first unsolved level of the pack resp. rank appears.

2) I would prefer lazy loading of pack infos: Only load the packs upon opening the level selection menu. Only when viewing ranks or single levels, they are loaded. Currently it takes several seconds until the level selection menu appears. At first I thought it wouldn't do anything...

3) The default pack should not only being the last one played, but even the rank and current level should be opened already, as changing this will probably occur much more often than changing packs.

4) I very much like your key layout for the level selection menu. But I would like to be able to select packs/levels by double-clicking on them or pressing Enter. Currently one has to click on the "Ok" button (or tab to there). Moreover I would expect that one first tabs to the "OK" button, and then to the "Cancel" button, not the other way around.

5) Probably already on your to-do list: I would like to have the check-marks for solved levels, again.

6) Regarding what to display as an info: A minimap view would be the best, but only if it doesn't take too long to produce. When moving through the level list, I don't want to wait a second every time I go to a new level. Otherwise I would like the following info:
 - Pack name, rank name and title again.
 - Number lemmings, save requirement and max saved lemmings of previous attempts.
 - Time limit or infinite time.
 - Some small talisman icons, if there is one. But not the actual talisman description.
I am not sure how useful the skill count would be, as they are not something I tend to remember. The used tileset may be confusing for levels that mix styles or that have selected a completely different main style for some weird reason.

7) Perhaps we should display some infos regarding packs, too? Like their ranks and number of levels within the ranks. Number of already solved levels in the rank?

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: Level select menu
« Reply #5 on: May 31, 2017, 02:21:44 AM »
2 is on my to-do list, along with some kind of caching of this data between sessions (currently it will cache it within one session, but this is lost when exiting NL). And as you guessed, so is 5, additionally with an icon to represent "attempted but not completed".
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)

Online GigaLem

  • The Dog That Brought Lemmings to Avalice
  • Posts: 1415
    • View Profile
Re: Level select menu
« Reply #6 on: May 31, 2017, 04:21:28 AM »
2 things I want to know

1.Can there be a "Classic Preview" button where you can view the level way you can right now or the way before? (Post and Preview texts still included)

and

2.Will stuff like this still be possible? (Big image)
Spoiler (click to show/hide)

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: Level select menu
« Reply #7 on: May 31, 2017, 04:29:52 AM »
2 things I want to know

1.Can there be a "Classic Preview" button where you can view the level way you can right now or the way before? (Post and Preview texts still included)

and

2.Will stuff like this still be possible? (Big image)
Spoiler (click to show/hide)

Yes and yes.
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)

Online GigaLem

  • The Dog That Brought Lemmings to Avalice
  • Posts: 1415
    • View Profile
Re: Level select menu
« Reply #8 on: May 31, 2017, 05:05:48 AM »
That's good, All is nice to know :)

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: Level select menu
« Reply #9 on: May 31, 2017, 05:39:49 AM »
Here's a picture of the level select menu in it's current state, with progression marks visible. :)

The tick is for completed, the cross is attempted but not completed, the bar is not attempted. There's also a fourth icon (which support for isn't fully implemented yet), to mark a level as "completed, but on an older version of the level". I haven't yet decided how exactly to handle detecting this.
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 namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: Level select menu
« Reply #10 on: May 31, 2017, 05:46:42 AM »
And now, for some more detailed feedback to Nepster's post.

1) I agree, that whole packs and ranks should be selectable (currently only ranks are). I would prefer that they go to the main menu of the pack, not directly to the first unsolved level. Only when one starts a level, the preview screen of the first unsolved level of the pack resp. rank appears.

I can see the logic behind this for selecting the pack as a whole (in fact, I had been considering this already and simply hadn't implemented it yet), but are we sure we want it for ranks too? I'd think first unsolved level makes more sense here.

Quote
2) I would prefer lazy loading of pack infos: Only load the packs upon opening the level selection menu. Only when viewing ranks or single levels, they are loaded. Currently it takes several seconds until the level selection menu appears. At first I thought it wouldn't do anything...

As mentioned, this is on my todo list. There's already some backend support for this; for example, in the level pack manager, data from the level file (such as title, level ID, etc) isn't loaded until it's needed; and when it is needed, all such data is loaded at once rather than having to load the file multiple times.

Quote
3) The default pack should not only being the last one played, but even the rank and current level should be opened already, as changing this will probably occur much more often than changing packs.

This makes perfect sense to me.

Quote
4) I very much like your key layout for the level selection menu. But I would like to be able to select packs/levels by double-clicking on them or pressing Enter. Currently one has to click on the "Ok" button (or tab to there). Moreover I would expect that one first tabs to the "OK" button, and then to the "Cancel" button, not the other way around.

Actually, I haven't done anything keyboard-wise there. It's just inherent properties of the controls in use. I'll look into making enter / doubleclick work.

Quote
5) Probably already on your to-do list: I would like to have the check-marks for solved levels, again.

Just pushed a commit now that implements this. It even applies to ranks and packs, rather than just levels. Do note, however, this data is currently not saved between sessions.

Quote
6) Regarding what to display as an info: A minimap view would be the best, but only if it doesn't take too long to produce. When moving through the level list, I don't want to wait a second every time I go to a new level. Otherwise I would like the following info:
 - Pack name, rank name and title again.
 - Number lemmings, save requirement and max saved lemmings of previous attempts.
 - Time limit or infinite time.
 - Some small talisman icons, if there is one. But not the actual talisman description.
I am not sure how useful the skill count would be, as they are not something I tend to remember. The used tileset may be confusing for levels that mix styles or that have selected a completely different main style for some weird reason.

I thought about this. A preview image will take a while to display, but would be nice to have. It could probably be saved somewhere when it's generated, so that next time, it can check the modified date of the NXLV file against the modified date of the saved image, and if the image is still newer, it just uses the saved image rather than rendering it again.

I find it interesting that you want the presence of a talisman to be displayed, but not what the talisman is actually for. May I ask why this is, and what method you'd propose for finding the talisman information from the level select menu - maybe displaying this information on the preview screen itself?

Quote
7) Perhaps we should display some infos regarding packs, too? Like their ranks and number of levels within the ranks. Number of already solved levels in the rank?

Yes, great ideas.
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 Nepster

  • Posts: 1829
    • View Profile
Re: Level select menu
« Reply #11 on: May 31, 2017, 04:28:36 PM »
I can see the logic behind this for selecting the pack as a whole (in fact, I had been considering this already and simply hadn't implemented it yet), but are we sure we want it for ranks too? I'd think first unsolved level makes more sense here.
My gut reaction was going to the main menu after selecting a rank, but I cannot give a compelling reason for this. So going directly to the level might work, too.

I thought about this. A preview image will take a while to display, but would be nice to have. It could probably be saved somewhere when it's generated, so that next time, it can check the modified date of the NXLV file against the modified date of the saved image, and if the image is still newer, it just uses the saved image rather than rendering it again.
I think ideally the FlexiToolkit and the NXPConverter would already produce small preview images of all levels, and put combine them into one big png file. Then the NL player just has to load this one image and display it after cropping it correctly.
Disadvantage of this is, that both tools require knowledge of the terrain rendering code and of all terrain pieces.

I find it interesting that you want the presence of a talisman to be displayed, but not what the talisman is actually for. May I ask why this is, [...]
Where to display this info is a good question, but I doubt the place is the level selection menu.
1) If you play through a pack, checking at the level selection menu for talismans isn't something intuitive.
2) Talismans (especially multiple ones) would produce lots of text on the level selection menu. But in my opinion the main purpose of the level selection info is to recognize the level one intends to play, not to check actual level properties. So the info, that there exists a talisman is probably sufficient for the level selection menu.

[...] and what method you'd propose for finding the talisman information from the level select menu - maybe displaying this information on the preview screen itself?
If there is enough space on the preview screen, then this would be perfect. Alternatively add something like "Click here for talisman description" to the preview screen that goes to a separate page with the talisman description and starts the level afterwards. Or perhaps even display the talisman info like the custom pre-level text.
I am still undecided what of all of this would be the best solution. So the above is just me throwing ideas around to see what sticks. ;)

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: Level select menu
« Reply #12 on: May 31, 2017, 11:03:59 PM »
Your idea about Flexi generating the images would have worked well (if it weren't for lack of knowledge of rendering) for the current version. Not so much for the new loose-files version, where someone may have modified the level since (and there is still the issue of it inflating the download size, which is a concern to me if I plan to eventually allow all content to be hosted on the NL website since costs are determined based on storage and bandwidth used, not a fixed monthly rate).
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 Nepster

  • Posts: 1829
    • View Profile
Re: Level select menu
« Reply #13 on: June 01, 2017, 05:42:05 PM »
Your idea about Flexi generating the images would have worked well (if it weren't for lack of knowledge of rendering) for the current version. Not so much for the new loose-files version, where someone may have modified the level since
Yes, good point. Still I would prefer that the level selection menu displays all other level info together with a placeholder first and remains fully functional, then renders the level internally and when it is finished adds the preview image to the level selection menu. And if the user moves to the next level, the player aborts it's previous try at rendering the level and starts with rendering the new level.

(and there is still the issue of it inflating the download size, which is a concern to me if I plan to eventually allow all content to be hosted on the NL website since costs are determined based on storage and bandwidth used, not a fixed monthly rate).
That's actually not so bad. The preview images will probably be roughly 333x160 pixels. If you have 5 ranks with 30 levels each, this makes for a 10000x800 image. When I tested this, it required rougly 2MB. In my experience, png files do a pretty good job on compressing images, if they are very wide but not high.

Quote
Here's a picture of the level select menu in it's current state, with progression marks visible.
I like the progression marks for solved and tried-but-unsolved. I am not so much of a fan of the dirty brown icon for non-tried, especially if there are lots of them around. How about a dark blue circle instead?


Online Proxima

  • Posts: 4562
    • View Profile
Re: Level select menu
« Reply #14 on: June 01, 2017, 05:56:25 PM »
Can we not have an indicator for tried-but-not-completed levels? That's just an irritant. The player should be rewarded for success, not discouraged for failure.

Offline Nepster

  • Posts: 1829
    • View Profile
Re: Level select menu
« Reply #15 on: June 01, 2017, 06:58:08 PM »
Very good point. Then we need perhaps only the success and success-on-earlier-version icons and display no icon at all for all other levels?

Offline mobius

  • Posts: 2747
  • relax.
    • View Profile
Re: Level select menu
« Reply #16 on: June 03, 2017, 11:16:00 PM »
hold on, I don't find that irritating at all. How is this discouraging? I'd like to be able to see easily and differentiate between what levels I've tried and not solved yet and ones I haven't tried at all and solved levels.

I've tried the exp a little bit btw, I like it so far. I also agree with Icho I'd also like the option to just open a pack from the start to see it's own personal start screen and whatever.

pressing ESC to get out of the selection menu would be nice.

« Last Edit: June 03, 2017, 11:43:25 PM by möbius »
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: Level select menu
« Reply #17 on: June 04, 2017, 11:01:50 AM »
Proxima: I think an "attempted" icon is useful. Perhaps what's needed is not removing it, but changing it to a less "negative" graphic?
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 namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: Level select menu
« Reply #18 on: June 07, 2017, 11:41:14 AM »
Your idea about Flexi generating the images would have worked well (if it weren't for lack of knowledge of rendering) for the current version. Not so much for the new loose-files version, where someone may have modified the level since
Yes, good point. Still I would prefer that the level selection menu displays all other level info together with a placeholder first and remains fully functional, then renders the level internally and when it is finished adds the preview image to the level selection menu. And if the user moves to the next level, the player aborts it's previous try at rendering the level and starts with rendering the new level.

I haven't had much luck implementing this. It'd probably need significant modification to (or duplication of) the rendering code. However, I tried doing this without implementing the "do in background" thing, and with how quickly new-formats can load and render levels, the delay is negligable (on the order of about 1/10th of a second on Insane 20 of LPIV, which is a fairly intensive level to render).
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)