NeoLemmix version of "Copycat Lemmings"

Started by namida, February 17, 2015, 12:56:45 PM

Previous topic - Next topic

0 Members and 5 Guests are viewing this topic.

namida

Uploaded a new update. This one changes the behaviour with those diagonal corner gaps on levels where the 80px fall distance is set (which I'm now calling "Cheapo Mode", since I'm using it in general for Cheapo-conversion mechanics tweaks).

Let me know if you find any more issues. :)
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)

Wafflem

The trap in the bottom left of Fun 25 is still not working.
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!

namida

Weird. This one did work fine at one point. Previously, I was moving trigger areas downwards by one pixel, but I reverted this behaviour when it caused a lot of traps to not work (due to their trigger being too low). However, this one now seems to be too *high*. Assuming all traps worked in the original version and no errors anywhere along the conversion process whether in Essman's tool or my own (I'll check on all of these), this would suggest Cheapo may have been checking more than one pixel for trigger areas...
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)

Essman

Quote from: namida on February 19, 2015, 04:34:45 AM
Assuming all traps worked in the original version and no errors anywhere along the conversion process whether in Essman's tool or my own (I'll check on all of these), this would suggest Cheapo may have been checking more than one pixel for trigger areas...

I looked at the sprites and the object info that came from the style extractor, and it all seems correct. The hit box area for that smasher trap is four pixels wide and two pixels tall, covering the middle of the trigger pad (one pixel above it too).

namida

So then, in NeoLemmix the trigger area should be the pad and one pixel below it (as NeoLemmix, like DOS lemmings, uses the pixel below the lemming's foot to check). I'll check on this to see if there's some error somewhere in the conversion on my side.
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

#35
Alright - I checked; fixing the issue with this makes the Fun 12 (or somewhere around there xD) trap not work again. So, I'd say that either Cheapo was checking more than one pixel, or possibly was checking for trigger areas mid-step when lemmings step up a diagonal. (I did test both traps in genuine Copycat Lemmings to see if they worked properly there, and they do.) I did wonder if it might be an issue with calculating the hitbox in the conversion tool; but both traps' hitboxes are the same size so this is very unlikely. One possible simple workaround that shouldn't be an issue for many levels (if any at all) is to, instead of moving the hitbox down one pixel, just increase its height by 1.

One other thing I noticed was that the Fun 12 trap is meant to have "No Overwrite" set, but doesn't. I'll have to look into this too.
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

Just played through Fun. There were two things that bugged me:
- Lemmings step up only 5 pixels instead of the usual 6. Thus Fun 2 and Fun 23 seem to be impossible now.
- Lemmings get trapped by roots on earth levels. This happens for example on Fun 10 (if one builds up to the rightmost root) and again on Fun 23. This is no problem in Fun, just slightly annoying to me.

namida

Huh. It worked before the diagonal-gap tweak. I'll have to double-check on this. (I would guess both are caused by the same thing.)
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

#38
Uploaded a new attempt. This fixes the jumper distance as well as that *all* traps should be working now.

I've also thought of (though not yet implemented) a way to bring down the filesize a bit without needing to modify or add any formats. :) It may slow down the conversion process though.
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)

Wafflem

The lemmings still get trapped in the big roots in the dirt levels as Nepster described (e.g. Fun 23).
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!

namida

#40
This happens on the genuine version too; it's not unique to the NeoLemmix port. When he mentioned that before, I assumed he was talking about not being able to step up them when he should be able to; thus why I got confused and thought it was the same issue.

On a side note, I've looked at the other two issues listed under known issues:
- The objects not getting "no overwrite" properly: This is actually a difference between the true Copycat Lemmings levels and the Cheapo versions of them these were based on. And in fact; this trap not working (the one in Fun 12) is also an issue that's also present in the Cheapo versions of these levels, but not the genuine Copycat Lemmings. Thus, I guess there's nothing wrong with the code setup that was making this trap not work; instead this level is what's faulty - my initial method of "just move the trigger area down by one pixel" is perfectly fine!
- The horizontal flip issue, I still haven't come under any cases where this affects any Copycat Lemmings levels; regardless, I've added code to work around this issue as I can almost guarantee there will be Cheapo levels where this does come up involving custom styles (or possibly even the ONML ones).

EDIT: The first point, on even closer investigation, it appears the issue with Fun 12's trap might actually be with a difference in this object's trigger area between Copycat and Cheapo.
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 attempt 6. This reverts the conversion of trap trigger areas to the way it was handled in the older versions (ie: same trigger area but moved down one pixel, to account for the difference in where Cheapo checks for trigger areas vs where NeoLemmix checks for them), with a manual tweak to the bear trap in the dirt style as this seems to have a difference between Copycat Lemmings and Cheapo. There's also a tweak to Fun 12 to set the bear trap there to No Overwrite just as it was in Copycat Lemmings; this is again a Copycat/Cheapo difference.

Finally, flipped objects should no longer be moved slightly off-position. :)

I haven't yet made that attempt to optimize the file sizes. That's the next goal, if no more issues arise (and I think it's safe to say they should mostly be ironed out by now).

I myself finally played this to some detail - not the entire game or even close; I so far played the first half of Fun, and the first handful of levels of Tricky and Mayhem (as well as a few other random ones). Definitely some great levels in here! :D
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)

Essman

Quote from: namida on February 21, 2015, 02:33:58 PM
Uploaded attempt 6. This reverts the conversion of trap trigger areas to the way it was handled in the older versions (ie: same trigger area but moved down one pixel, to account for the difference in where Cheapo checks for trigger areas vs where NeoLemmix checks for them), with a manual tweak to the bear trap in the dirt style as this seems to have a difference between Copycat Lemmings and Cheapo. There's also a tweak to Fun 12 to set the bear trap there to No Overwrite just as it was in Copycat Lemmings; this is again a Copycat/Cheapo difference.

I apologize for the bugs and differences in those games. Sorry that you have to deal with them now, but I really appreciate this work. Playing these levels again is really fun!

namida

#43
It's no worries! There's always subtle differences between engines - even the DOS versions of Orig and OhNo have some mechanics differences between each other, and DOS CustLemm has some differences again. Even within NeoLemmix, which attempts to be as consistent as possible (outside of "Cheapo Mode"), LPIII and LPIII Bonus Pack have one slight difference from all other players (specifically relating to the spawn point of lemmings dropping from entrances), while custom-built players have the option to choose between the instant and timed bombers (though use of timed ones is discouraged; but the option is there). In general, most levels are playable across any engine that supports all the features they use, unless they rely on unusual quirks or glitches.

Also, I remember back many years ago when I first discovered Cheapo and was bugging you on an almost-daily basis for "how do I do this" or "can you do this for me" and you helped out probably far more than you should've (maybe you remember the horribly-drawn "Lightning" graphic set I asked you to put together an STT file for?) - so I guess in a way, this is returning the favor! :D

That being said, if there's any other differences you know of off-hand that may affect the levels significantly, let me know so I can account for them sooner rather than later. :)
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)

Essman

Quote from: namida on February 21, 2015, 02:52:24 PM
That being said, if there's any other differences you know of off-hand that may affect the levels significantly, let me know so I can account for them sooner rather than later. :)

I don't remember anything detailed about the physics in those games  :)
But I do have the source code for the games. Even though it's really poorly written uncommented beginner C++, I can do research to answer detailed questions about the physics. Or I can give you the code as necessary. But just playing the old games in an emulator or something is the best way to see how they worked.