EXPERIMENTAL BUILD: High-Resolution Mode

Started by namida, November 30, 2019, 08:11:57 AM

Previous topic - Next topic

0 Members and 4 Guests are viewing this topic.

namida

Download removed. Use V12.8.0-RC to test high-res mode.

As this is a very major feature, it's going to need a lot of testing, so here's an experimental build you can use to test it out.

Steps to set up:
1. Download (or make a copy of your existing folder) the current stable version, including the styles
2. Download the attachment, which acts as an "upgrade" from the stable version to this experimental

If you start with a clean slate, you'll be asked on first run if you want to enable high-resolution mode or not. If you copy an existing configuration, high-resolution mode will be disabled by default; enable it in the Config menu.

While most UI elements have high-res graphics provided already, as far as styles go only four objects are provided in high-res - the default pickup skill, and the three default one-way arrows. All others are purely the product of the upscaler at this point in time. Note that there is only a difference in-game; the menus will look the same as they always have (although the level preview image on the preview screen will be generated using high-res graphics).

For now - please don't try to create dedicated high-res graphics for your styles. If you'd like to work on preparing high-res versions of the official styles, discuss this with me - I'm happy for this to happen, but let's make sure it's done right. (You can, however, try experimenting with the upscaling.nxmi file - I'll give more detail on this later.)

One other thing to be aware of - alias.nxmi is no longer in "data" in this build. Instead, put any custom alias data either in styles/default/alias.nxmi, or better yet, styles/(the style the alias is for)/alias.nxmi. ;)

There may be other small tweaks / fixes included in this build that I have not described here.

Please be reminded - This is an experimental build. It should not be treated as anywhere near stable. Any content you are creating should be tested using the stable version of NeoLemmix before releasing it. I do not recommend trying to create high-resolution graphics for your styles at this stage.

If you'd like to help with testing, but your PC isn't powerful enough to run high-resolution mode (note: turning off high-quality minimap REALLY helps, even more so than in low-res mode!), you could try running this experimental build in low-res mode and seeing if there are any new bugs that have popped up there.
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

#1
Known bugs with high-res:

- Zooming out while in clear physics mode via hotkey (but not via panel button) can glitch the skill panel. Not confirmed to be high-res-exclusive.
- Changing the high-resolution setting while on the preview screen does weird stuff.
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

Uploaded a new high-res build. There's several bugfixes / small tweaks, but the major change is that it now has WillLem's high-res sprites for the "default" style (not yet for Xmas; however, there are some tweaks that were needed to the low-res sprites to better accomodate the high-res ones; these changes have been made to Xmas as well. To be clear, custom styles do not need to copy these changes, whether or not they're providing high-res sprites). These are still somewhat of a WIP at the moment - in particular the Fencer and Shimmier need fixes.

Attached to first post. If you already have the first high-res experimental, you can extract the new one over that (no need to re-set-up a stable version then extract over that).
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)

Minim

As I'm pasting all these downloaded experimental files onto the same folder and overwriting the corresponding folders every time, I want to keep the stable player. I've been changing the title of the EXP player to "NeoLemmixHighRes.exe" every time I download its zip folder. It will still work perfectly after this change.
Level Solving Contest creator. Anybody bored and looking for a different challenge? Try these levels!

Neolemmix: #1 #4 #5 #6
Lix: #2  #7
Both Engines: #3

namida

Quote from: Minim on December 05, 2019, 07:31:05 PM
As I'm pasting all these downloaded experimental files onto the same folder and overwriting the corresponding folders every time, I want to keep the stable player. I've been changing the title of the EXP player to "NeoLemmixHighRes.exe" every time I download its zip folder. It will still work perfectly after this change.

There's a risk of breaking your stable version if you do this with experimentals / RCs that have data files (as opposed to just a standalone EXE - though even this could end up affecting your save data / config from the stable version). What you can do is create a copy of your stable folder, and use that.
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

Has anyone else tried this out, and if so, noticed any new issues?

For testing purposes, I've been using this myself recently for most of my playing. The upscaler isn't perfect, of course, but upscalers rarely are - beyond that all seems well.
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)

WillLem

Hi Namida,

I've tried to open this experimental version but can only get as far as the main menu - and then it can't load any of the levels.

I've attached the error message I'm getting.

Thanks,

-WillLem 8-)

namida

#7
Just to check - you extracted the ZIP from the first post over a copy of the stable version (V12.7.X, preferably V12.7.3)? This is necessary, because the download in the first post only contains the files that are different between stable vs experimental.

If you're downloading V12.7.3 fresh for this, you should (order matters!):
1. Extract NL V12.7.3
2. Extract the November 2019 styles download
3. Extract the exp ZIP from the first post

If you're copying your existing folder, you should:
1. Create a copy of your existing NL V12.7.X (preferably V12.7.3) folder
2. Extract the exp ZIP from the first post over the top of this copy
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)

WillLem

Quote from: namida on December 11, 2019, 09:40:37 PM
Just to check - you extracted the ZIP from the first post over a copy of the stable version (V12.7.X, preferably V12.7.3)? This is necessary, because the download in the first post only contains the files that are different between stable vs experimental.

Riiight, this is what I was doing wrong! It's working now, and it looks ace! :thumbsup:

I think the upscaled graphics actually look nicer than the hi-res versions of the default styles. I also played through a few of the Lemmings Plus levels to have a look at some of the custom styles, and they look equally great. If it's easier to leave the default styles simply upscaled in hi-res, I would vote for this.

It's really nice to see the new skills hi-res sprites in action as well; I can see what you mean about the various things that need adjusting though, I'll get on that today.

-WillLem 8-)

namida

#9
QuoteI think the upscaled graphics actually look nicer than the hi-res versions of the default styles. I also played through a few of the Lemmings Plus levels to have a look at some of the custom styles, and they look equally great. If it's easier to leave the default styles simply upscaled in hi-res, I would vote for this.

The upscaler performs nicely a lot of the time, but it isn't perfect. I've already got a few improvements in the works (likely to show up in a future experimental update, or the RC build), but upscaling algos always have their limitation - and NL's upscaling is especially limited when it comes to non-pixel-art styles (like the ones from Lemmings Plus IV onwards). NL does have a different algorithm to use in such cases, but it's not as nice as a the pixel art one.

Of course, the option is there to use NL's upscaling as a starting point, then add some manual tweaks. I'll let that decision be made by whoever wants to put in the effort (if any) to make high-res styles. It is possible to get NeoLemmix to take an image, run it through its upscaling code, and save it - but I will disclose how to do this once I'm satisfied that there won't be any further (major) changes to the upscaling algorithm. Anyone who wants this feature right away can try analyzing the source code to figure it out. (This feature itself also needs further work. For example, while NL itself has full support for taking a spritestrip and uspcaling each frame individually (rather than the whole thing as a single image), there's no way to do this with the command line upscale-and-save yet, other than by splitting the image manually yourself.)
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)

WillLem

Quote from: namida on December 12, 2019, 05:30:52 PM
The upscaler performs nicely a lot of the time, but it isn't perfect. I've already got a few improvements in the works (likely to show up in a future experimental update, or the RC build), but upscaling algos always have their limitation - and NL's upscaling is especially limited when it comes to non-pixel-art styles (like the ones from Lemmings Plus IV onwards). NL does have a different algorithm to use in such cases, but it's not as nice as a the pixel art one.

Without wishing to take this off on too much of a tangent from the main topic, I particularly like your upscaler. It looks lush! Can you save the current algorithm to one side (as well as the new one when improvements are made)? ...I might just ask if I can use it to upscale some of my pixel art! ;P

namida

#11
I don't intend to change it in the sense of "replacing with something entirely different". Just some very subtle tweaks to better deal with edge cases.

EDIT: Here you go, a standalone tool that implements NL's upscaling algorithm. (For source code, look under "Tools/Upscaler" in NL repo from commit 7485c05 or later.) This is based on the most up-to-date version of the upscaling algorithm, not specifically the one in the current exp build - though differences should be very minor, at least on the pixel-art upscaler.
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)

WillLem

Quote from: namida on December 13, 2019, 02:09:00 AM
I don't intend to change it in the sense of "replacing with something entirely different". Just some very subtle tweaks to better deal with edge cases.

EDIT: Here you go, a standalone tool that implements NL's upscaling algorithm. (For source code, look under "Tools/Upscaler" in NL repo from commit 7485c05 or later.) This is based on the most up-to-date version of the upscaling algorithm, not specifically the one in the current exp build - though differences should be very minor, at least on the pixel-art upscaler.

Amazing, thanks Namida! :thumbsup: