[DISC] Improvements to Skill Panel | Screen Sizing

Started by WillLem, February 06, 2023, 05:55:56 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Dullstar

In case it is helpful: The Lix default for windowed mode is 1280 x 720. This size seems pretty reasonable for a windowed mode; would recommend trying to make the panel work at this size if at all possible.

Lix doesn't have a minimap though, which probably helps a lot to make everything fit.

I agree you probably don't want to deviate much from the standard aspect ratio if at all possible. Ideally, windowed mode is just like fullscreen mode, but smaller.

Dullstar

#16
For what it's worth: I use the minimap sometimes, but thanks to the fact that Lix doesn't have one, I know that I'm really not at all attached to it - if it were hypothetically completely removed, it wouldn't take me long to adapt to its removal. That said, it may be more useful to classic mode players who can't just rewind when they miss something.

That said, it should be noted that many people use the minimap for quick scrolling, so it's important that you have a good alternative to it if you ditch the minimap. One possible alternative method that works in Lix is zooming (you zoom out, point at the new spot, then zoom in, though of course this wouldn't work very well without a scroll wheel, but those have been standard on mice for quite some time and I doubt there's many people trying to play the game on a laptop trackpad). This does not work well in NeoLemmix (as Simon has pointed out, not many people have complained about this, and it seems quite likely that a reason for that is just that you can use the minimap instead, and the minimap predates the zoom function).

Many levels these days break the minimap anyway; it doesn't function well on levels that are too tall: a minimap that can't fit the whole play area is unable to fulfill its role in helping to see what's happening offscreen.

Proxima

Quote from: Dullstar on March 02, 2023, 07:29:33 AMIn case it is helpful: The Lix default for windowed mode is 1280 x 720. This size seems pretty reasonable for a windowed mode; would recommend trying to make the panel work at this size if at all possible.

The problem with that is that all levels of the original Lemmings games are 160 pixels high, which becomes 320 in high-res. This is also by far the most common height for NeoLemmix levels, because of tradition and the number of direct imports of older content. It's true that SuperLemmix is a new engine, but it's carrying on the Lemmix - NeoLemmix tradition, and especially in the early days, most of its content will be imported. So we can expect 320 to continue to be the default level height.

Add on 40 pixels for the skillbar (80 high-res), and you have 400. So a window 720 pixels tall means the maximum zoom is 1x and you have a lot of wasted space.

The obvious height to aim for, then, is 800, the minimum possible to support both the level and skillbar at 2x zoom.

A possible window size would be 1424 x 800, but then of course you have the problem that WillLem wants to have more than NL's maximum number of skills per level, which either requires a wider skillbar or shrinking the individual panels or dropping the minimap (or giving up on that idea).

WillLem

#18
OK, had a chance to sleep on this and have another look at the poll results and comments so far. There's also been discussion here around the default window size, which currently needs to be horizontally stretched t0 at least 1776px to fit the panel at 2x zoom. Clearly, something needs to give.

Of the 7 votes, only 1 of them explicitly favours the minimap, and another 2 soft-prefer it at the expense of function buttons. We have 4 votes favouring skills and function buttons over minimap functionality, so... maybe it's time to see if we can live without it.

If 1600px width is the standerd we need to be aiming for, that allows 400px for the panel area at 2x zoom (to also account for hi-res). At the moment, the panel is a whopping 444px wide, so we need to lose 44px somewhere.

If we go for buttons, these and the colourful squiggle cost 16px each, so we'd need to lose 3 of them. We could drop FF, Restart and the Squiggle; this would allow us to keep 14 skills, -/+ RR, Paws and Nuke, and the minimap at its current SuperLemmix size (it could even be 4px wider).

However, I'm not sure if I like the idea of dropping panel buttons for the sake of a feature which is arguably becoming more and more obsolete. As well as taking up valuable panel space, the minimap is also a huge drain on graphical resources, being partly responsible for lag on the FF speed (and the proposed upcoming Superlemming speed). Fast edge scrolling is a thing, as it zooming in and out of a level quickly in order to jump to a different area, and if we fix this bug, it'll probably be the final push as far as the minimap is concerned.

So, for the next update I'll comment out the minimap code (so it can easily be brought back if needs be) and we'll see how it goes without it for a bit. I'm not sure exactly how big it is at the moment, but if dropping it adds space for an extra button or two then I'll either bring back an extra skill or add another function button.




EDIT: Dullstar spoted in Discord with some number crunching which showed that we can have a double-stacked panel + level fit neatly into a 16:9 aspect.

The stacked panel was originally what I wanted to do weeks ago but I abandoned the idea when I realised how difficult it would be to try to crowbar it into the existing code. @Dullstar, if you're happy to help me with this side of things, we can absolutely look at making this happen and giving it a test run. There will eventually be 24 skills, so your mockup on Discord more than allows for every single skill to be on the panel at once (along with 12 full-sized function buttons).

MONSTER LEVELS!

WillLem

Looking at shrinking the panel to bring the width of windowed SuperLemmix in line with its FullScreen counterpart, principally by dropping the minimap.

Dullstar

I thought of a possible problem with my number crunching that may affect you that I didn't think of: because I prefer the original pixel art graphics, I completely forgot about high-res mode, which could affect what zoom levels look good. (I can probably still make that many buttons work, but I might have to redo the overall sizes if e.g. x3 or x5 zoom levels look bad when using that mode: if you use high-res mode, it would be helpful if you could give an opinion on how those zoom levels look -- assuming high res mode doesn't just not allow those levels).

WillLem

#21
In hi-res, everything stays relatively the same size but actually uses a bigger graphic, so 40px for the panel becomes 80px for the panel.

My maths will be nowhere near as good as yours, but if it helps I usually have the level at 2x zoom and the panel at 2x zoom in a 1800ish x 900ish window (I actually resize my window quite a lot depending on what I'm doing, but that figure is the standard for when I'm settling in to play some Lemmings).

The above gives me the larger panel, stretched across the full width of the window, and the level looks a decent size but with some empty vertical space above it. I'll screenshot and post it in Discord.

Proxima

Quote from: Dullstar on March 02, 2023, 07:37:21 PMI can probably still make that many buttons work, but I might have to redo the overall sizes if e.g. x3 or x5 zoom levels look bad when using that mode: if you use high-res mode, it would be helpful if you could give an opinion on how those zoom levels look -- assuming high res mode doesn't just not allow those levels.

It doesn't. Or more precisely, high-res allows 1x, 2x, 3x zoom but these now refer to how many screen pixels per high-res pixel, so high-res 2x zoom is the same as low-res 4x, and so on.

WillLem

#23
This post may contain mathematical/logical errors, so please bear with me!

OK, let's start over with this.

NeoLemmix currently has a minimum size of 832 x 400 in Hi-res (and, a teeny tiny 416 x 200 in Low-res!), which is about 19:9 aspect. It doesn't let you shrink the screen below the standard level height (160px) + panel height (40px), and actual panel width (416px altogether).

It just so happens that my own personal preference for both NeoLemmix and Lix seems to hover around 1800:900, or no less than about 40px smaller on either edge. Since NeoLemmix (and indeed SuperLemmix) currently has a native 19:9 resolution when in-game (i.e. only the menu screens are actually 16:9 - I'd ideally like to tile the background image if at all possible), I see no real reason to thwart that for the sake of meeting an arbitrary standard.

However, if we really do want to make windowed mode 16:9 as standard, then I'd like to start not by shrinking the panel, but by enlarging it to make "1x zoom" bigger as standard, and therefore not allowing the screen to be dynamically shrunk past that point widthways (so, no more having a teeny tiny panel until you stretch the screen out to the right point; it wouldn't allow you to shrink the screen below the panel's actual width, which is already current behaviour). Essentially, that means that the 2x zoom hi-res panel would become the new 1x zoom panel for both resolutions, filling as much of the available 1600px as possible.

With this in mind, I wonder whether the panel could be designed without the minimap to fill a good amount of space within the 1600px - let's say we make it 1200px wide, for the sake of discussion. Then, if someone like me does want to extend their window out to 1800px or more, they get the minimap!

Since most screens are now 1920 x 1080 minimum, the FullScreen panel would of course include the minimap as well.

With all this said, we're assuming that users have a minimum 1600 x 900 screen if we go ahead with this, but I'd say it's a safe bet nowadays with screen resolutions being sometimes 4x that amount.

Dullstar

For what it's worth, I think there's a strong argument for 16:9 as the standard aspect ratio, *but* I don't think it makes sense to force 16:9 as long as the panel physically fits at x1 zoom for the currently selected resolution (as in high-res vs. low-res graphics). I don't think you're implying that you would do that, but I wanted to state it explicitly.

Because the 160 pixel level height is so common, I think it's a good reference point for the level size. It's kind of arbitrary, but I figure there's enough existing content that there's a strong argument for keeping the tradition unless we can really clean up the layout by making the default something else (I feel like it looks nice when the default height fits exactly, personally).

WillLem

BOOSH! Got it!

In low res, 3x panel zoom is perfect: 1332px wide, without having to change anything (in fact, we could add stuff to bring it up to a nice even 1400px).

So... the new form factor for low res can be as much as 700px, bringing the hi-res 1x zoom to 1400px. Perfect!

(I might have all of this drastically wrong, but I hope not!)

Proxima

Quote from: WillLem on March 03, 2023, 06:05:06 AMIn low res, 3x panel zoom is perfect: 1332px wide, without having to change anything (in fact, we could add stuff to bring it up to a nice even 1400px).

1400 isn't a nice even multiple of 16. You could consider aiming for 1424 x 800 -- in fact, that's what I have my NL installation set to now, after the present discussion made me re-examine my choices :)

WillLem

Quote from: Proxima on March 03, 2023, 06:29:53 AM
1400 isn't a nice even multiple of 16. You could consider aiming for 1424 x 800

The idea isn't necessarily to make the panel fill all the available space, just to definitely fit within a 1600px-wide window. And, I'd much rather err on the side of it being larger rather than smaller, due to (a) ease of reading and (b) the added features (more skills, etc)

jkapp76

one of the reasons I modified your CPM replay icon is because the NeoLemmix introduction pack mentions this button as grey and pink.
...Jeremy Kapp

namida

The other issue to keep in mind with 800px tall, is that some displays - lower-end laptops in particular - have a resolution of 1366x768 and thus an 800px tall window will not fit on the screen.
My 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)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)