[DISCUSSION][PLAYER] Using available screen space to show more of level

Started by namida, January 30, 2017, 03:56:51 AM

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

namida

In all versions of NL so far, when in-game and using full screen mode, the displayed game area is the largest integer multiple of 320x200 that will fit on the screen, which is then centered. This almost always results in some amount of screen space being unused and simply taken up by black borders. How severe this is depends on the user's resolution; 640x480 would have almost no black borders (only 40px above and below the game area, none on the left/right), while the resolution that suffers the most - which is also one that is very commonly used - is 1366x768, which has 84 pixels above and below, and 203 on the left and right), partially due to that this resolution is very close to being able to use a 4x zoom factor, but the height is slightly too small.

Some discussion came up in the release topic, suggesting that a change should be made in this case to make use of the black border area. Due to the need in many cases to tell exactly which pixel is which, resizing by non-integer multiples is probably not practical. The alternative option is to use this extra screen space to display a larger portion of the level area.

Some questions that arise from this are:
1. There's no logical reason that such options should be restricted only to those who use NL in full-screen. Why can't a windowed user who uses a 960x600 window, instead of having a 3x zoom, choose to have a 2x zoom and display a larger portion of the level in that window? But, how should such options be presented?
2. What should be done about the skill panel? Simplest option is to resize as normal, and center it while still leaving some black border area to the sides of the skill panel. Alternatively, as long as the aspect ratio is kept, non-integer scaling of the skill panel will not present the same issues as non-integer scaling of the gameplay area. There might still need to be some degree of black borders to the left and right of the skill panel. A more complex option may be simultaneously displaying both a minimap and the extra buttons if space allows.

Some existing discussion can be found starting from Nepster's post in the release topic: http://www.lemmingsforums.net/index.php?topic=3110.msg62505#msg62505
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)

IchoTolot

I would say the "simple" option is the best one here: Display more of the level!

I really want to 100% be able to tell which pixel is which and don't want to loose any accuracy. So why not simply display a little bit more of the level (if the level has more terrain to offer)? ???

The minimal level size can be kept at the current size and only there should we have the "normal" black borders now. I would even argue to make this the standard.

For the skill panel: I think it would be ok to leave it as it is, or maybe move it over to the left edge and see if the black borders can be converted into another button (maybe select walker, another skill or sth) ;)

namida

I've put together an initial implementation candidate for this and will be putting up an experimental for this shortly, so you can try it out and tell me whether you think it's good or needs further improvement.

EDIT: You can get this experimental here: https://www.dropbox.com/s/db9y28z5y9fl1qo/NeoLemmix_10-12-15_cb40193.exe?dl=1 NOTE: The new stable release V10.12.15-C has these features, get it instead.
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)

Nepster

One small issue with the new experimental version: If a level does not fill the full height, it is not centered vertically, but sits directly above the skill bar. This results in a rather large black strip at the top, and one has to focus one's attention on the lower two thirds of the screen instead on the screen center.
I have no problem with the skill bar always sitting at the very bottom, but I prefer the main level image to be centered.

GigaLem

A tad off topic but, is it possible to say, scroll the preview if it doesn't fit the screen?

Nepster

Sorry, but I don't quite understand your suggestion? In the experimental version, the whole level gets zoomed such that all of it can be displayed in the preview area. So there is never anything to scroll, because everything is already displayed on the preview screen.

GigaLem

Quote from: Nepster on January 30, 2017, 09:52:01 PM
Sorry, but I don't quite understand your suggestion? In the experimental version, the whole level gets zoomed such that all of it can be displayed in the preview area. So there is never anything to scroll, because everything is already displayed on the preview screen.
What I mean is if you can pan the preview of the level if its too big to fit the preview

Nepster

But for the experimental version, there is no level that is too big to fit the preview. Huge levels are scaled down until they fit within the preview area.

GigaLem

Quote from: Nepster on January 30, 2017, 10:21:42 PM
But for the experimental version, there is no level that is too big to fit the preview. Huge levels are scaled down until they fit within the preview area.
Okay I see now, my points are now moot

namida

This is even true for the most recent stable versions (V10.12.13 and V10.12.14).
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)

namida

Quote from: Nepster on January 30, 2017, 05:37:45 PM
One small issue with the new experimental version: If a level does not fill the full height, it is not centered vertically, but sits directly above the skill bar. This results in a rather large black strip at the top, and one has to focus one's attention on the lower two thirds of the screen instead on the screen center.
I have no problem with the skill bar always sitting at the very bottom, but I prefer the main level image to be centered.

I thought about that too. I don't know how I feel about having the skill panel "detached" from the game area like that - however, this is now purely a question of cosmetics, as all functional issues that might've been caused by that in past versions are no longer there.. The alternative option would be that the skill panel moves up so that the visible area as a whole is vertically centered.
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)

Nepster

I encountered some more bugs while playing around with windowed version of the expermental player:
1) In windowed mode, it seems that the option "Use smooth resampling in menus" has no effect at all and the resampler is always used. It might be my personal preference, but I rather liked the sharp edges of the standard zoom without resampling. I haven't tested whether "Use smooth resampling in game" works or not.
2) In windowed mode all menus are missing half of the bottom line, cf. attached screenshot 1. Perhaps a few pixels are missing on the right-hand edge as well?
3) When having a higher window zoom (e.g. 3x) and selecting a lower one (e.g. 1x), the window gets no longer resized. The correct window size only appears upon restarting the player. This results in some rather weird game windows, cf. screenshot 2.
Interestingly the converse still works, i.e. moving from 1x zoom to 3x zoom by switching the game windows.

Finally I attached a screenshot 3, which shows how fullscreen is currently displayed on my laptop. Slightly more than the upper 20% of the screen are completely unused. But as I said before, this is exactly the area that I usually focus on. So if I would really use fullscreen, this would be a major annoyance to me.
I don't have any arguments pro or contra fixing the skill bar at the bottom.

namida

Cannot reproduce issue #1 on backwards-compatible, have not tried on new-formats.

Can confirm issues 2 and 3, and will look into a solution to them, though probably not today.
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)

namida

Quote from: From PMThe only bug I've noticed is the crosshair does not change into a square when on the outer parts of the screen, but that wouldn't even show in my videos anyway.

Leaving this here so I don't forget it. I have noticed similar issues myself but hadn't pinned down any exact cause.
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)

namida

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)