[OLD] Player Bugs / Suggestions

Started by namida, January 02, 2015, 01:28:38 PM

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

mobius

Since I'm putting together two large level packs I have a few questions:

To upgrade the levels can I / do I need to do a batch conversion of all levels to this new format?
Is it better to do this right away or wait?
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


namida

#136
Quote from: もびうす on May 03, 2015, 05:34:32 PM
Since I'm putting together two large level packs I have a few questions:

To upgrade the levels can I / do I need to do a batch conversion of all levels to this new format?
Is it better to do this right away or wait?

Can you? Yes.
Do you need to? If you have any NeoLemmix files (not traditional Lemmix ones) that are 2KB, yes; otherwise, not in the meantime - the 10KB format is still fully supported in terms of loading (the editor just won't save into this format anymore).

Would I recommend doing so? It probably isn't a bad idea; if you'd like to be extra safe keep a backup copy of them in the previous format. Just for reference, I did convert all levels included in the NeoLemmix players (plus the LPIV levels); those that were converted by mass-dumping from the player had no issues whatsoever as far as I've noticed, while those which were converted with the editor's Mass Convert did have the issue that Nepster mentioned in the Editor topic, but an update to fix this issue has been released now and no others are known. (If anything is likely to have un-noticed issues, it's probably steel areas; those haven't been exposed to as much testing since they're virtually redundant in NeoLemmix. Of course I've done some tests for the purpose of checking if they work, but they haven't been exposed to the same kind of actual real-world usage that anything else has.)
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

One more newly noticed bug: Swimmers may move below the bottom of the level, similar to how walkers could in No Gravity levels prior to that being fixed. This requires a specific level setup and is almost impossible to make simply by using destructive skills - they need to be swimming in water *very* close to the bottom edge, then encounter terrain they can't get up onto.
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

#138
While we're on the subject of swimmers - a change I'd like to propose; should it be possible to assign a swimmer to a lemming that's currently mid-drowning (and thus save him from drowning)?

In terms of these recent bugs, I've so far fixed 3 of them; still need to fix the release rate during replays issue and the platformer terrain check.

EDIT: Further investigation of the release rate issue initially gave me difficulty in reproducing it, even though I've seen it many times myself. Didn't take too long to find out why - it only happens if the game isn't paused when the release rate is changed. Damn. o_O This is gonna be hard to test as well as hard to fix...
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)

mobius

I vote yes on saving drowning lemming into a simmer.

on steel areas; I'd just like to point out that while mostly redundant they do have a use:
for example in a snow level of mine I have a section of steel partially covered with icicles. It's obvious the area is steel and I want it not diggable, but with auto steel some gaps can be made since some icicles go all the way through the steel. Thus I put in some old steel pieces.
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


namida

Quote from: もびうす on May 04, 2015, 09:17:31 PM
I vote yes on saving drowning lemming into a simmer.

on steel areas; I'd just like to point out that while mostly redundant they do have a use:
for example in a snow level of mine I have a section of steel partially covered with icicles. It's obvious the area is steel and I want it not diggable, but with auto steel some gaps can be made since some icicles go all the way through the steel. Thus I put in some old steel pieces.

Yeah, I know they're not entirely redundant. Your example can in fact simply be fixed by using "Simple Autosteel" option; though more complex cases (for example, Taxing 7) really do need steel areas, due having a mixture of this (terrain overlapping steel that should still be treated as steel) and terrain that should *actually* overwrite steel.
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

GODDAMNIT THIS FUCKING RELEASE RATE BUG IS PISSING ME OFF. I have tried literally everything and at best, it changes nothing; at worst, it makes it even worse or breaks other things. Everything from simply recording or executing the change a frame earlier/later (since the bug seems to be that it executes the release rate change a frame later than it should), to going as far as reading the release rate changes one frame in advance then applying them in the exact same function that applies player-controlled release rate changes too AND recalculating the next lemming spawn interval if a lemming has spawned in the same frame, is not freaking working. >_>

I think I'm going to go focus on the platformer bug and forget about this one for now... the platformer one should be a much simpler fix.
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)

Simon

I am offering soul counselling in IRC.

-- Simon

mobius

Quote from: namida on May 04, 2015, 09:19:05 PM
Quote from: もびうす on May 04, 2015, 09:17:31 PM
I vote yes on saving drowning lemming into a simmer.

on steel areas; I'd just like to point out that while mostly redundant they do have a use:
for example in a snow level of mine I have a section of steel partially covered with icicles. It's obvious the area is steel and I want it not diggable, but with auto steel some gaps can be made since some icicles go all the way through the steel. Thus I put in some old steel pieces.

Yeah, I know they're not entirely redundant. Your example can in fact simply be fixed by using "Simple Autosteel" option; though more complex cases (for example, Taxing 7) really do need steel areas, due having a mixture of this (terrain overlapping steel that should still be treated as steel) and terrain that should *actually* overwrite steel.

thanks for clearing up what simple auto steel does. [I neglected to bother finding out what that meant up to this point :XD: ]
also thank you for putting up with my  nuisance-ess patiently :)
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


mobius

grr; I keep forgetting to mention things;

here's a minor thing I noticed a while ago: When selecting lemmings out of a group for example; a digger's hole; It's more difficult to locate the digger than it was in original Lemmix. Granted, it's not as difficult as in Lemmini but still odd. It seemed even harder in a miner's tunnel to locate the miner.
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


namida

Nothing has been changed in that regard from regular Lemmix. In particular, note that you can easily tell whether the miner/digger will be selected as it'll say "Miner" or "Digger" on the infobar rather than "Walker". (Although this doesn't work so well when the digger is also a climber/floater/etc).

In regards to these features you haven't looked into - have you read the sticky topic quick guide to NeoLemmix features? It doesn't go into great detail, but it should explain a lot of the basics of how to use new content. :)
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

Completely freaking lost as to how to go about fixing the release rate replays issue. Everything I try that should logically fix it seems to, if it does anything at all, make it worse. So, it's probably not going to be fixed in the next update, though I do hope to fix it eventually.

For now, if you're making replays, or even simply intending to use the savestate or backwards frame skip features, all I can suggest is make sure that if you're changing the release rate, either:
a) do it well clear of any time when a lemming is about to spawn
or
b) pause the game before changing it
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

#147
I take that back. After some significant changes to how release rate changing is handled in replays, it would seem I may have managed to fix this bug. Compatibility testing between replays from old and new versions has yet to be done; all I've tested is that the bug no longer occurs on new version and that the fix hasn't given rise to any other bugs. My guess would be it's about 50/50 whether replays from the new version will be usable on the old versions (and if they do work, 50/50 again whether simply making the replay in the new version will prevent the bug from occuring when they're played back on an old version), while I'd find it very surprising if there's any compatibility issues with older version replays on the new version (though the bug won't automatically fix for replays that are already affected by it; not much that can be done about that), and virtually no chance of unfixable compatibility issues.

EDIT: Okay. I tested the single most release-rate-finnicky old-version replay I could find among all Lemmings Plus replays (including LPIV) combined, and it worked with zero problems. Now, to try the reverse...
EDIT: No problems there, either. As I suspected, though, it will not automatically fix replays that are already affected by this issue; it just won't have this issue with any new ones created.


In terms of the platformer bug, the simple change I made was - since this can only be by one pixel, and only on the very last pixel of the entire platforming - is that if doing so would push the lemming into terrain, the lemming simply moves forward by one less pixel on this final brick (after placing it).
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

#148
EricLang has offered me some tips on how to possibly get this to compile on more recent versions of Delphi, so I'm going to have a go at that soon - first with the player, then if I can manage that, next the editor.

I'm not sure how much benefit this will offer, so if there isn't much I will likely stick with Delphi 7. The newer versions offer some degree of cross-platform support, but not Linux; and I don't see NeoLemmix as-is being much use for Android or iOS, meaning the only platform really gained from this is the relatively-insignificant Mac OSX. Still, another new feature is support for 64-bit Windows, so if native 64-bit releases show signs of being useful, that may be a reason to stick with the newer versions.

More interesting would be if I could get it compiling in Lazarus; as that does support Linux, as well as removing the need for anyone else wanting to use the source to buy or pirate Delphi.


The biggest issue likely to affect cross-platform support is that NeoLemmix currently uses bass.dll for all its sound-related functions. Other platform versions of BASS do exist, but this could be problematic due to the somewhat-unique way NeoLemmix (and regular Lemmix) load the DLL; specifically that it's embedded in the EXE and loaded into memory rather than being dynamically linked.
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

Alright, while I was able to get it compiled with EricLang's advice and a few other fixes, the compiled EXE crashes immediately upon boot. Combining this with that I don't see any huge advantage of XE6 (and that the filesize of the EXE is MUCH larger - nearly double!), I don't think I'm going to continue with efforts to port to a newer Delphi release. I may try again with Lazarus at some point, though. However, I've also been considering redoing the entire thing from scratch, so that it can be developed from the start to have a more convenient one EXE, multiple game datas setup, as well as code that I know inside out instead of often having to figure out exactly how EricLang's code works - obviously one obstacle to overcome with this is having to try and reproduce the gameplay mechanics exactly, especially with them being much more complicated than the DOS ones were. If I were to go ahead with this, it would make sense to develop such a thing on either XE6 (or newer) or Lazarus from the beginning - preferably the latter so that a Linux version could also exist. No promises, though.

(One question there would be whether to keep the name "NeoLemmix", since it wouldn't really be based on Lemmix anymore...)
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)