Author Topic: Update database Lemmix levels to NeoLemmix?  (Read 25833 times)

0 Members and 1 Guest are viewing this topic.

Offline Nepster

  • Posts: 1829
    • View Profile
Update database Lemmix levels to NeoLemmix?
« on: February 02, 2016, 08:48:12 PM »
Disclaimer: This is part of my campaign to remove all unnecessary options from the NeoLemmix editor (and player) to make them easier to use. The goal here is to eventually drop support of traditional Lemmix levels and remove all options specifically included for them.

Question: Shall I try to update all Lemmix levels in the database to the NeoLemmix standard (including AutoSteel and the new OWW-handling)?

Reason: The NeoLemmix player has pretty much replaced traditional Lemmix in this forum. So what problems are there with playing these old levels in NeoLemmix?
1) NeoLemmix has different mechanics, starting with a different max fall distance, which creates backroutes or makes levels impossible. To emulate the traditional Lemmix mechanics, there is the CustLemmix player, but it should be fairly outdated by now and probably has none of the framestepping possibilites.
2) Traditional Steel and different OWW create differences in the game mechanics that will only confuse players. There is no way to tell that a level uses one of these options. So all levels should be updated to use one and only one set of game mechanics.
3) One cannot play these levels directly. Instead one has to load them into the editor and play them from there, which is quite a bit more work than for updated levels.
4) All the code for Traditional Steel and traditional OWW-handling has to be maintained in NeoLemmix. I am fairly sure that there are dozens of little bugs regarding these, that never got noticed. And honestly, I am only waiting for the NeoLemmix release where this completely breaks.
5) The Editor has to maintain all these settings as well, which makes for several ill-explained options that only make working with the editor more complicated: Various steel and OWW options, steel areas, ...

Of course there are many problems, what one should/should not change when updating the old levels, but such things can be discussed after establishing that these levels should be updated at all.

Thoughts?

Offline Simon

  • Administrator
  • Posts: 3860
    • View Profile
    • Lix
Re: Update database Lemmix levels to NeoLemmix?
« Reply #1 on: February 02, 2016, 09:16:10 PM »
Full speed ahead for a clear separation of vanilla Lemmix and NL, including editor UI.

With direct drop, we (at least most of us) have agreed that mechanics should be fixed per engine. Within the same engine, any difference in behavior must be glaring. Nonstandard steel settings wouldn't be obvious at all. Such mechanics should be decided upon, then used engine-wide.

I'm more hesitant about level conversion. Vanilla Lemmix comes with a permanently fixed specification -- anything different from L1 is a bug. On the other hand, a conversion yields content that wouldn't see much play otherwise.

-- Simon

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: Update database Lemmix levels to NeoLemmix?
« Reply #2 on: February 02, 2016, 09:48:42 PM »
For those levels who's creators are still around, I would think we should leave it to them, or at least get the okay from them first. So perhaps we should look at the others first.

However, I do think this is a worthwhile project. Obviously, levels that rely on glitches will have to be left out.

Quote
1) NeoLemmix has different mechanics, starting with a different max fall distance, which creates backroutes or makes levels impossible. To emulate the traditional Lemmix mechanics, there is the CustLemmix player, but it should be fairly outdated by now and probably has none of the framestepping possibilites.
2) Traditional Steel and different OWW create differences in the game mechanics that will only confuse players. There is no way to tell that a level uses one of these options. So all levels should be updated to use one and only one set of game mechanics.
3) One cannot play these levels directly. Instead one has to load them into the editor and play them from there, which is quite a bit more work than for updated levels.
4) All the code for Traditional Steel and traditional OWW-handling has to be maintained in NeoLemmix. I am fairly sure that there are dozens of little bugs regarding these, that never got noticed. And honestly, I am only waiting for the NeoLemmix release where this completely breaks.
5) The Editor has to maintain all these settings as well, which makes for several ill-explained options that only make working with the editor more complicated: Various steel and OWW options, steel areas, ...

1. CustLemmix actually has most of the framestepping possibilities that NeoLemmix does (it's missing all non-default timesteps, as well as the 5 second ones, but it has forward/back 1 frame, back 1 sec, forward 10 sec, save/load state and fast forward), although the hotkeys are not customizable and it obviously doesn't have the improved performance on backwards stepping (on the other hand, due to having less work to do, it probably doesn't lag as much as pre-V1.39n-B-NeoLemmix does).
3. As long as they're using normal style numbering (ie: 0~4 = orig, 5~8 = ohno, 9 = xmas) they should work. It's a bug if they don't.
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: Update database Lemmix levels to NeoLemmix?
« Reply #3 on: February 02, 2016, 10:16:03 PM »
Thanks for the fast replys.

...Vanilla Lemmix comes with a permanently fixed specification -- anything different from L1 is a bug. ...
Lemmix already supports different mechanics (Dos L1, Dos ONML, CustLemm and a few others), and it is a priori not clear which to take. Most of them probably use CustLemm (= almost ONML mechanics), because it supports both L1 and ONML styles.

3. As long as they're using normal style numbering (ie: 0~4 = orig, 5~8 = ohno, 9 = xmas) they should work. It's a bug if they don't.
I thought more about them being .dat level packs, that first have to be extracted. Apart from that I know about some .dat's with a different style ordering.

Offline Simon

  • Administrator
  • Posts: 3860
    • View Profile
    • Lix
Re: Update database Lemmix levels to NeoLemmix?
« Reply #4 on: February 02, 2016, 10:52:02 PM »
Lemmix already supports different mechanics (Dos L1, Dos ONML, CustLemm and a few others), and it is a priori not clear which to take.

Yes, this has tripped me up in the past several times.

Carrying this information outside of the file format is a design relic. This problem has its roots in Custlemm, which was a hack of the Dos games without new high-level design.

Port the interesting content to newer engines, and preserving the vanilla Lemmix versions on Mindless's Lemmings Archive. (Quote Proxima about vanilla Lemmix: "The nightmare of dealing with glitch-allowed solutions still being considered backroutes -- never again!")

-- Simon

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: Update database Lemmix levels to NeoLemmix?
« Reply #5 on: February 02, 2016, 10:58:35 PM »
One thing to keep in mind - the editor has a mass conversion tool for converting the format (any format the editor supports can be used as the source format; I'm not sure if all of them can be used as the target format or if it only allows for NeoLemmix and SuperLemmini). Setting up a second CustLemm style with different ordering may be nessecary for packs that don't use the standard order. The results from this should be good as a starting point. It could probably do with adding a few extra options, let me know if you encounter anything it needs.

There are also some that already have NeoLemmix conversions, eg. those in Revenge of the Lemmings. We probably shouldn't create a second converted version of these, but instead try to obtain the existing ones. Some won't need to be touched at all - eg. the Genesis levels, because all the unique levels in those are already converted, in the Extra Official Levels pack.

One matter that needs to be addressed is how to package the resulting packs - perhaps one NXP per author, with a rank per pack? (With obvious exceptions for those that are intended as fangame-type packs.)
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: Update database Lemmix levels to NeoLemmix?
« Reply #6 on: February 03, 2016, 06:16:21 PM »
Then I will go ahead and update levels. One question that remains is: What should be changed?

I plan to change the levels in the following ways:
1) Switch to Autosteel and remove all manual steel areas.
2) Switch to the new handling of OWW.
3) Remove empty space around the level.
4) Adapt falls of height 61-63pixels to make them deadly again (whenever I spot them).
5) Remove Fake objects and change invisible objects to visible ones.
6) Change all non-water objects to No-Overwrite, except if there is a strong reason not to do this.
7) Change time limits slightly, if the level is impossible otherwise (e.g. some of tseug's levels).
Anything missing on this list or changes that should not be made?

Who does have intended solutions to some of the old levels? I plan to start with some of Ben Conway's levels and see how this goes.

One matter that needs to be addressed is how to package the resulting packs - perhaps one NXP per author, with a rank per pack? (With obvious exceptions for those that are intended as fangame-type packs.)
That was my plan as well.

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: Update database Lemmix levels to NeoLemmix?
« Reply #7 on: February 03, 2016, 06:28:14 PM »
Quote
1) Switch to Autosteel and remove all manual steel areas.
2) Switch to the new handling of OWW.
3) Remove empty space around the level.
4) Adapt falls of height 61-63pixels to make them deadly again (whenever I spot them).
5) Remove Fake objects and change invisible objects to visible ones.
6) Change all non-water objects to No-Overwrite, except if there is a strong reason not to do this.
7) Change time limits slightly, if the level is impossible otherwise (e.g. some of tseug's levels).
Anything missing on this list or changes that should not be made?

1. This is generally good, however there are some levels where this doesn't work as well. In such levels, often simply using "Simple Autosteel" can fix this. Two examples that are relevant from Original Lemmings - Steel Works, Autosteel fails because of all the non-steel terrain overlaid over the steel for decorative effect. For this one, Simple Autosteel fixes it up perfectly. Every Lemming For Himself isn't so simple, as there are some parts where normal terrain overlap *should* erase the steel area, and other parts where it's similar decorative stuff to Steel Works. In these cases, using steel areas at least to some extent is the only viable option. This is the reason for both the Simple Autosteel option (perhaps it needs a better name, though?) and the retaining of steel areas in both normal and negative form. For levels where the steel areas are not needed, rather than manually removing them all (although you might decide you want to do that), the "Ignore Level Steel" option comes in useful - it treats the steel areas as if they're not there, without actually deleting them (it doesn't affect autosteel; that will still be there if the level has autosteel enabled).

2. In most cases, they won't need to be touched. Some levels that have one-way walls on rough terrain may benefit from some touching up, as will those where the one-way wall slightly spills over onto terrain it shouldn't (but couldn't be avoided due to how L1 / Lemmix handled one-way walls). Just to be clear - using the one-way wall objects is still the recommended method; the option to have "steel" areas that place one way walls is more or less just there for Cheapo level import reasons, and has some significant disadvantages (most notably, that one way walls placed this way don't animate).

3. Yes, this is quite standard for NeoLemmix. In most cases, excessive decoration that takes up the empty space should also be removed.

4. NeoLemmix's fall distance is very similar to (if not the same as) that of CustLemm, so if most levels were designed with that in mind, this should not be a frequent occurance. Still, keep an eye out for it.

5. There are some cases where the objects being fake or invisible is the whole point of the level ("Check Your Hints" from Holiday Lemmings and "The Phantom Exit" from MazuLems both come to mind here). If it doesn't appear to be the whole point of the level, then remove them or make them non-fake / visible depending on the situation (eg. if they're fake as a side effect of the Z>16 = fake mechanic, and probably weren't intended to be, the right change would be to un-fake them).

6. Agreed.

7. I would think there aren't many cases where the time limit would make the level impossible, unless they were meant to rely on the pause-for-time glitch (in which case you can just add a few seconds). I would also suggest, on levels where time is not intended as part of the challenge (eg. relatively short levels with rather large time limits), just remove the time limits altogether.



I'd also point out that the general style in terms of skills with a zero quantity is to leave them there in packs that only use the traditional 8 skills, which all of these would be. It's only in packs that sometimes use the NeoLemmix skills that actually removing them from the skillset tends to be done. This isn't so much an official style recommendation, but it's how most packs have turned out in practice (though there are exceptions; eg. MobiLems II seems to work on a per-level basis - if the level doesn't use any new skills, all 8 old ones are on the skillbar, but if it does, then the skillbar may have empty slots).
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: Update database Lemmix levels to NeoLemmix?
« Reply #8 on: February 03, 2016, 08:18:58 PM »
1. This is generally good, however there are some levels where this doesn't work as well. In such levels, often simply using "Simple Autosteel" can fix this. ....
I would rather leave such levels out completely instead of mixing various steel behaviors. And I think most levels can be saved even with Autosteel, e.g. moving the decoration in Steel Works away from the border of the steel blocks.

2. [...] Just to be clear - using the one-way wall objects is still the recommended method; the option to have "steel" areas that place one way walls is more or less just there for Cheapo level import reasons, and has some significant disadvantages (most notably, that one way walls placed this way don't animate).
I only planned to remove the One-Way Inversion setting as disabling this seems to be the standard in NeoLemmix.

5. There are some cases where the objects being fake or invisible is the whole point of the level ("Check Your Hints" from Holiday Lemmings and "The Phantom Exit" from MazuLems both come to mind here). If it doesn't appear to be the whole point of the level, then remove them or make them non-fake / visible depending on the situation (eg. if they're fake as a side effect of the Z>16 = fake mechanic, and probably weren't intended to be, the right change would be to un-fake them).
I would rather leave out such levels, than annoying NeoLemmix players with bad level design.
But a good point about Z>16 objects.

7. [...] I would also suggest, on levels where time is not intended as part of the challenge (eg. relatively short levels with rather large time limits), just remove the time limits altogether.
I am a bit hesitant about this. Very generous time limits do not harm players, and for levels where it would make a difference I don't feel like having enough authority to make this change to someone else's level.

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: Update database Lemmix levels to NeoLemmix?
« Reply #9 on: February 03, 2016, 08:34:22 PM »
1. The end result should be logical to a human player. Taking the examples - in Steel Works, you can tell the steel is meant to be steel. Everything beyond that is purely aesthetic and should not remove from the steel. Leaving levels out just because the steel is complicated doesn't sound like a good solution to me. The rule of thumb should be - if it looks like it should be steel (eg. steel blocks, just with moss pieces over them as decoration) it should be, if not (for example, a large chunk of dirt overlapping the steel, as in parts of Every Lemming For Himself) it shouldn't be. Without support for a third steel setting for terrain pieces of "don't change the pixel's current status of steel / not steel", there is no way this can be done entirely automatically.

2. This is generally enabled in older levels because they had no per-piece one way setting. Thus, enabling this option essentially flips the per-piece setting - instead of only allowing those with it on to be one-way; it only allows those with it off to be. Often for older levels, it's much simpler to leave the option as-is, and perhaps set some of the surrounding pieces to have the (no-)one-way flag.

5. It was just as much bad design then as it is now. Take Fun 6 / Tricky 17, or Fun 18 / Taxing 19 from Orig - the latter level in each pair really serves no purpose without the timed bombers. But if we're converting the levels - and ideally, the only criteria to exclude a level should be "there is no way for this level to work in NeoLemmix" (eg. those that rely on glitches) - then we shouldn't exclude levels or completely destroy their point just because we consider it "bad design". If I'm understanding correctly, the point here is to bring all the older content across to a newer engine; not to create a collection pack of good levels.
For those that are outright impossible, if we don't want to leave them out entirely, perhaps they could be put in a seperate rank, with an introductory note stating that they're impossible and only there for completeness. But I think this should be done only on objective criteria (ie: the level cannot be solved in NeoLemmix), not subjective (eg. "it's bad level design").

7. I would say that compared to making the kind of changes you're suggesting in #1 and #5, removing the time limit in levels where it generally doesn't affect the level anyway (and is quite possibly only there because the older engines did not have an "unlimited time" option) is not a major change at all.
« Last Edit: February 03, 2016, 08:41:12 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 Nepster

  • Posts: 1829
    • View Profile
Re: Update database Lemmix levels to NeoLemmix?
« Reply #10 on: February 03, 2016, 08:44:19 PM »
5. [...] But if we're converting the levels - and ideally, the only criteria to exclude a level should be "there is no way for this level to work in NeoLemmix" (eg. those that rely on glitches) - then we shouldn't exclude levels or completely destroy their point just because we consider it "bad design". If I'm understanding correctly, the point here is to bring all the older content across to a newer engine; not to create a collection pack of good levels.
I see your point. How about keeping the fake/incisible objects in levels that depend on them, but add a warning as a preview text to the level?

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: Update database Lemmix levels to NeoLemmix?
« Reply #11 on: February 03, 2016, 08:48:48 PM »
Even that, I'm not sure how I feel about it. The only real difference is that instead of removing / visibilizing the object, you're telling people it's there - this may not change the level itself, but it still ulitmately ruins the point of it. Perhaps a better idea is to put a global warning on the pack itself (either with the first level ,or just alongside the download), though even that I'm not too sure about.

Perhaps we should wait and see what other people have to say on this matter.
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 Wafflem

  • Posts: 943
    • View Profile
Re: Update database Lemmix levels to NeoLemmix?
« Reply #12 on: February 05, 2016, 04:07:09 AM »
I also fully support the idea of converting Lemmix levels into NeoLemmix levels! :thumbsup:

Couple of questions:
1. The one NXP per author is a good idea. However, there are authors who have made more than 15 CustLemm packs. JM made a total of 18 packs (and one VGASPEC level). Since NeoLemmix only allows for 15 ranks, are we going to create two separate NXPs for JM (i.e. Packs 1-15 in one player, packs 16-18+the VGASPEC level in the other)?
2. Should we also have Lemmini levels converted, especially since they also appear in the level database?
3. Off-topic but related: this was something I was going to suggest in another thread. Should we also have Fangame Traditional Lemmix Players converted into NeoLemmix NXPs?
YouTube: www.tinyurl.com/YTWafflem
Twitch: www.twitch.tv/Wafflem467

Have level designer's block right now? Have some of my incomplete levels for LOTS of ideas!

Offline namida

  • Administrator
  • Posts: 12398
    • View Profile
    • NeoLemmix Website
Re: Update database Lemmix levels to NeoLemmix?
« Reply #13 on: February 05, 2016, 04:12:04 AM »
Quote
1. The one NXP per author is a good idea. However, there are authors who have made more than 15 CustLemm packs. JM made a total of 18 packs (and one VGASPEC level). Since NeoLemmix only allows for 15 ranks, are we going to create two separate NXPs for JM (i.e. Packs 1-15 in one player, packs 16-18+the VGASPEC level in the other)?

In these kind of cases, it might be appropriate to put multiple levels in a single rank, especially if the pack count isn't much over 15.

Quote
2. Should we also have Lemmini levels converted, especially since they also appear in the level database?

I'd definitely support this! For Lemmix levels it's just a matter of modernization (and slight improvements in fine-control); for Lemmini levels it may make the difference between whether people play them or not, due to Lemmini (and even SuperLemmini, which would probably be almost as much effort to convert to anyway) lacking the fine-control features that Lemmix and NeoLemmix have.

However, there is an active Lemmini community elsewhere that I'm aware of, some of whom's content may be among the stuff on the database. They seem quite dedicated to Lemmini (also showing an interest in SuperLemmini, even), so before converting any of their content, I think it should be run past them whether or not they're okay with it.

Quote
3. Off-topic but related: this was something I was going to suggest in another thread. Should we also have Fangame Traditional Lemmix Players converted into NeoLemmix NXPs?

Off the top of my head (though there almost certianly are more), the only ones I can think of that haven't already been upgraded are the cLemmings series. I believe exit still shows up on the forums now and then, so we should ask him first about this, or whether he might be willing to do that himself.

If there are any packs that actually build stuff into the EXEs (though I can't think of any other than my own (long since upgraded to NeoLemmix) and cLemmings Ultimate Edition), I'm able to extract the data from them if need be.
« Last Edit: February 05, 2016, 04:18:53 AM 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 Nepster

  • Posts: 1829
    • View Profile
Re: Update database Lemmix levels to NeoLemmix?
« Reply #14 on: February 05, 2016, 06:12:59 PM »
1. The one NXP per author is a good idea. However, there are authors who have made more than 15 CustLemm packs. JM made a total of 18 packs (and one VGASPEC level). Since NeoLemmix only allows for 15 ranks, are we going to create two separate NXPs for JM (i.e. Packs 1-15 in one player, packs 16-18+the VGASPEC level in the other)?
As far as I can see, this problem occurs only for JM (18 packs) and timfoxxy (17 packs). GigaLem would be over 15 packs as well, but as an active member here doesn't count for this project. Several other level creators conveniently stopped after releasing 14 or 15 packs ;).
I will likely create only one nxp, but will decide this on a per-case basis once I updated the respective levels.

2. Should we also have Lemmini levels converted, especially since they also appear in the level database?
As far as I can see, most Lemmini levels are from Gronkling and grams88. Both are still active here, so this question is probably less important than one might expect.