Author Topic: [NeoLemmix] Amiga Lemmings (Lemmings & Oh No! More Lemmings) [MUSIC UPDATE]  (Read 486 times)

0 Members and 1 Guest are viewing this topic.

Offline WillLem

  • Posts: 982
  • "I can't think of a billion billion things!" - BB
    • View Profile
Please note that the pack now contains updated music 30/06/2020



So here it is...

What originally started out as just another remix pack has become a somewhat controversial "graphical restoration" of the original DMA Design level packs Lemmings and Oh No! More Lemmings.

So... why Amiga Lemmings?

Well... the previous NXLV conversions of the original levels had lot of the decorative terrain and water deliberately removed in order to make the levels more compact, and a handful of them were further tweaked to be more suitable for the NeoLemmix platform. Examples include removing any decorative moss from steel and removing the Blocker skill from A Task For Blockers and Bombers; the former being primarily a steel physics thing and the latter owing to the presence of untimed bombers in NeoLemmix, removing the need to assign Blockers to make Bomber placements more precise.

A few players have noticed these (admittedly minor) differences to the original levels and it seemed that a restoration project might just have a decent enough sized audience to make undoing these various tweaks worthwhile.

Since the Amiga 500 was the platform I grew up with, this was my source of choice for providing such a restoration.

It wasn't as easy as simply extracting the levels, however! geoo was thankfully very timely in providing a set of LVL files that had already been yoinked from the Amiga level data, saving a great deal of time. However, NeoLemmix opened a lot of these levels with pieces missing - mostly water objects that were being recognised by NeoLemmix as "fake" due to... well, reasons.

So, namida was kind enough to provide a version of NeoLemmix which didn't ignore these objects, and - lo and behold! - everything was exactly where it should be. All that remained was to Cleanse the LVLs and we had the basis of our conversion sorted!

Well, except for the all the oddtabled level repeats! :forehead: These needed to be manually extracted from emulator savestates, using another one of namida's genius custom tools...

Ultimately, the project has actually been compiled from various sources: after doing a lot of the above work, it turned out that erikderkovits had already sorted out a full set of Amiga-LVL-to-NXLV conversions which just needed to be edited and compiled into packs!

Not to worry - it's all been a learning process, and whilst I ultimately ended up using ericderkovits's conversion of the Oh No! levels as the basis for that particular part of the pack, I have somewhat adamantly included my own conversion of Lemmings that I'd already spent time tying together like a big bunch of helium-filled balloons that seemed to keep wanting to float away!

Originally, the plan was for these packs to become the new "(un)official" NXLV conversions of the original levels for NeoLemmix, but this idea was abandoned in favour of Lemmings Redux becoming the new pack which is currently promoted as the best way to enjoy the original levels in NeoLemmix.

And for good reason - the Redux levels have been carefully selected, edited and re-ordered to suit NeoLemmix's puzzle-oriented gameplay philosophy. The idea is that it trims away all the elements of the original games which are largely rendered irrelevant by NeoLemmix's removal of "false difficulty" from the game: things like timed bombers, precise execution and hidden objects being examples of such elements.

Of course, the Amiga Lemmings restoration project can't bring timed bombers back, and the levels with 3 hatches have a different spawning order in NeoLemmix. However, this is part of the fun of cross-porting! I have specifically decided not to "fix" any of the levels in this way, instead opting to simply present them exactly as they are, and see what fun can be had playing them in NeoLemmix, with all of its physics differences and tools which make it an entirely different beast.

So - although the pack is called Amiga Lemmings, these levels do not and can not be played exactly as they would on the Amiga. If you want that particular experience, I recommend the Amiga Forever emulator - it's great! (Or, get on eBay and see if you can get hold of an Amiga 500, of course!)

But that's not what this pack is about.

It's simply about presenting the levels as they were originally designed - with all of their various graphical quirks and flaws - for you to enjoy playing, remixing, and generally messing about with in the way that only the NeoLemmix engine and its dedicated editor can allow. I think that's reason enough for this pack to exist in this format, and I genuinely hope it's enjoyed in that spirit.

---

Anyways, here's what you get with this pack:

1) Fully restored levels with no edits to the decorative terrain or objects (or any of the objects/terrain, for that matter), only the empty space from the sides of the levels has been removed
2) Custom exit and entrance graphics provided for the "special" levels (Beast, AWESOME, etc...)
3) Custom skill panel graphics based on the Amiga panel
4) Updated logos
5) Dark blue background graphic perfectly matched to the Amiga background
6) Original DMA scroller text in the main menu
7) 2-Player levels included in their relevant packs
8) Levels given the following naming format: 00_Name_of_level.nxlv so that they appear in numerical order rather than alphabetical order in the levels folder (believe me, this is important when you're doing remixes!)
9) And, of course, original Amiga music!


N.B. Since NeoLemmix animates traps, I have also provided my own custom animations of the orig_dirt rock trap, the orig_crystal electricity block trap, and the ohno_rock lizard and weed traps; the rock trap drips less frequently, the electricity trap shimmers gently, the lizard's eyes dart around like a chameleon's would irl and the weed trap, whilst slightly more surreal, looks more like the weed trap did originally. Enjoy!

---

Big, big thank yous to the following people for helping to make this project possible, and for being involved in driving it to its eventual destination:

ericderkovits for being a fellow Amiga enthusiast and general purist, and for providing the music files and doing a lot of the conversion work
DireKrow for saving me hours of manual editing time by applying the background graphic text to all NXLV files simultaneously
Proxima for providing said background graphic, and for voicing important ideas and opinions which put this project in its rightful place and helped it take shape
geoo for saving hours of manual yoinking by providing pre-yoinked LVLs
namida for providing various custom-coded tools which made the additional extractions and conversions possible, and for deciding that NeoLemmix doesn't need official conversions; whilst this was initially a disappointment, it ultimately gave me the freedom to make this project exactly what I wanted it to be.

Please enjoy Amiga Lemmings, made for NeoLemmix. :lemcat:

To play, extract the zip folder directly to the main NeoLemmix directory.

Offline WillLem

  • Posts: 982
  • "I can't think of a billion billion things!" - BB
    • View Profile
Reserved for updates - please let me know if you notice any errors or if something doesn't work as it should for whatever reason.

Online ericderkovits

  • Posts: 145
    • View Profile
Great job other than the 2 levels with different hatch order(which I know you decided to keep for neolemmix) everything is great in the originals(2 players play correct order song starting with cancan). all the replays except for those 2 levels work already from your previous pre-released version. Eventually I'll get to Ohno but still haven't yet as I'm going through all the ports of my original lemmings mostly in Superlemmini). I really appreciate you having the desire to have a version of lemmings as close as you can get in neolemmix to your Amiga. This is why I love the original way lemmings play as I'm an enthusiast for the way they were designed, whether Amiga, Dos...etc. That why I did these for Superlemmini too. I think this version is really awesome. I will consider this version my Amiga version for neolemmix. I love the special graphic hatch colors. I remember when Lemmings was released in the '90s, buying these for dos; and absolutly loving them. Then not much later getting the holiday lemmings. Of course now I have all the lemmings games; Superlemmini, neolemmix, old lemmix players, of course waiting on Tsyu for an update of Superlemmini(hopefully he will do). Also I love all lemmings games also L2, L3, 3D lemmings, Revolution. And all the
.ogg music files for many games even for L2,L3,3D Lemmings, Adventures of Lomax, and even Lemmings Paintball.

Again Great Job!!!

Online ericderkovits

  • Posts: 145
    • View Profile
oh maybe when it gets closer to Xmas, maybe consider doing the holiday ones too. just a thought.

Offline WillLem

  • Posts: 982
  • "I can't think of a billion billion things!" - BB
    • View Profile
Thanks for your kind feedback Eric, I'm glad to have your approval! I'm also hoping Tsyu will make an appearance soon as well, the engine could definitely do with an update and it'd be great to get all your conversions loaded into it as well.

oh maybe when it gets closer to Xmas, maybe consider doing the holiday ones too. just a thought.

We'll see! ;P

Offline WillLem

  • Posts: 982
  • "I can't think of a billion billion things!" - BB
    • View Profile
[NL] Amiga Lemmings (Lemmings & Oh No! More Lemmings) [MUSIC UPDATE]
« Reply #5 on: June 30, 2020, 02:59:23 am »
It's come to my attention that (some of) the Amiga music tracks provided for this pack fade out at the end. Obviously, this isn't good, so I've now removed these from the download and replaced them with versions which don't fade out, but instead loop around in the usual way.

I apologise to anyone who has downloaded the pack so far - I simply didn't notice this when I was first checking through the music.

Here is the music as a separate download for those who already have the Amiga Lemmings pack. If you don't already have it, the OP now contains an updated pack download with the correct music files.

Please don't hesistate to let me know if you notice any other defects or irregularities with this pack.

Thank you,

WillLem :lemcat:

Online ericderkovits

  • Posts: 145
    • View Profile
hi Willem, I see these ones are now as mods how did you convert them to mod so I can do these for my other music files. I tried looking online in the past but couldn't find how to do it plus mod files take up less space than .oggs and Superlemmini will handle .mods too(although .oggs work). I guess oggs fade out. I never really paid much attention to that part of it. I got these online somewhere(probably not as .ogg) but I converted to .ogg. Sorry if this affected your pack but when I was accumlating music files from online I was doing for a lot of games not just amiga ones, so I was doing these quickly. Just made sure they were the right named ones because sometimes when I got them they were scrambled.

Offline namida

  • Administrator
  • Posts: 10466
    • View Profile
    • NeoLemmix Website
It's come to my attention that (some of) the Amiga music tracks provided for this pack fade out at the end. Obviously, this isn't good, so I've now removed these from the download and replaced them with versions which don't fade out, but instead loop around in the usual way.

I apologise to anyone who has downloaded the pack so far - I simply didn't notice this when I was first checking through the music.

Here is the music as a separate download for those who already have the Amiga Lemmings pack. If you don't already have it, the OP now contains an updated pack download with the correct music files.

Please don't hesistate to let me know if you notice any other defects or irregularities with this pack.

Thank you,

WillLem :lemcat:

What's wrong with the ones included with NL?

Offline WillLem

  • Posts: 982
  • "I can't think of a billion billion things!" - BB
    • View Profile
how did you convert them to mod
...
Sorry if this affected your pack but when I was accumlating music files from online I was doing for a lot of games not just amiga ones, so I was doing these quickly.

I didn't, I simply used the ones extracted from SuperLemmini as it also uses the Amiga music. And - no worries at all; I didn't check the files properly either and since it was my pack it was my responsibility to do this, not yours, so don't worry. Thanks again for everything you've contributed to this pack!

What's wrong with the ones included with NL?

Nothing is wrong with it, as such. NL doesn't use the Amiga music - they are very slightly different instrumentations. It's most noticeable in tune1 from Oh No! (see attached for easy reference), but there are slight variations in the other tracks as well.

Online ericderkovits

  • Posts: 145
    • View Profile
darn, I was hoping you found a way to convert to mod, since mod's files are smaller in size. It's good to know Superlemmini's mod's are more amiga authenic than NL's but I know Proxima is taking over all the conversions And he is using my PSP music which is in ogg. I haven't checked if those fade. And when I got the PSP and SNES ones I know they weren't mods either. Also many peoples custom music packs are in ogg(ie lemmings united uses ogg). So I wonder if those fade. And I doubt he was able to find those in .mod. It's just better to have mods over ogg since mods are smaller in size and when uploading music files to this forum only can upload just over 32mb and oggs by themselves can easily go past this. ie the PSP and SNES music files in the level design board I had to upload in 2 parts. If all of them were in mod it could be done in 1.
The one thing I don't like about mods though its hard to open them directly to play where oggs are easier. but at least superlemmini and NL can play mods without special playing software

Note: I got these amiga ones from zophars' music online. I noticed they were in .mp3 but I converted them to .ogg. too bad it's so   hard to get them in .mod. I wonder how Tsyu got his amiga authenic ones in mod

Also all the ones(except for their acorn ones) on the neolemmix website under Special music packs are in .ogg, so that's why I uploaded the amiga ones also in ogg. I didn't know they would fade
« Last Edit: June 30, 2020, 05:32:06 pm by ericderkovits »

Offline kaywhyn

  • Posts: 112
    • View Profile
Quote
And he is using my PSP music which is in ogg. I haven't checked if those fade.

I just checked, and yes, for the Superlemmini pack you uploaded, the music does fade. I played the PSP version back when it was released in the USA back in 2006 and I remember the music fading. Indeed, that's what happens.

Quote
Also many peoples custom music packs are in ogg(ie lemmings united uses ogg). So I wonder if those fade.

Yes to this as well, at least for United. Funny that you mentioned United, as I'm currently playing through the pack.

As for converting to mod, I have no idea myself. I guess it's a really old file extension that doesn't really see use anymore. Plus it's really picky about which programs can open and play them. I hate that WMP (Windows Media Player) doesn't work with mod, which is my go to program for video/audio.

Offline namida

  • Administrator
  • Posts: 10466
    • View Profile
    • NeoLemmix Website
Ultimately, loop vs fadeout vs abrupt stop depends on the file. However, tracker formats like MOD, IT, XM etc have native support for looping. Waveform formats like OGG, MP3, WAV etc do not natively have such support, though NeoLemmix implements its own code for handling looping on OGG files - but it does require an OGG file specifically configured to be able to loop.

To put it briefly - a MOD (/ etc) file is a set of instructions. These will be like "start playing this note", "stop playing this note", etc, as well as "loop to a certain point". Thus, MODs and similar formats natively support looping, and often will be looped. This isn't universal - I've definitely encountered some MODs that do not loop. In my own packs, I have always edited such MODs so that they do loop, as improper looping in music is one of my personal pet peeves in games.

On the other hand, formats like WAV, OGG etc are literally just made up of what could be considered the audio equivalent of pixels. For each second of audio, there's thousands of these "audio pixels" (the proper term is "samples", I believe) - this could range from 8000 in older or deliberately-low-quality files (Tiel Attack is an example here - all of its audio is 8000Hz), to upwards of 300,000 samples per second; I believe 44100 is the most common number these days though I don't know for sure (I see 32000 and 48000 a lot too). On audio designed for multiple speakers - anywhere from stereo right up to these 7+ speaker setups - there'll further be one such set of data for each speaker. Similar to how a sequence of just the right color pixels can look like a photograph to a human eye, the sequence of just the right samples can sound like a recognizable music track or piece of speech etc to a human ear. The important thing here is - they don't have looping data, because they aren't based on instructions, they're based on a specific sequence of samples. They do support some text-based metadata, but such metadata has no intrinsic function - it's just plain text for people or apps to read. NeoLemmix supports, in OGG files, using this metadata in a specific way to tell NL how the music should be looped. When this is encountered NL handles it by "when the last sample of the looping section is played, the "cursor" reading them should be moved back to the first sample of the looping section". However, very few OGG files come with such metadata (though not entirely heard of - some VGM to OGG convertors will write it, and any OGG files from official RPG Maker content packs will have it set up correctly - it's by no means a proprietary NeoLemmix format, just a somewhat rare one).

So - in short - any module-based format can, and often will, loop properly. OGG files can be looped properly, but usually won't be unless you've made the effort to do so yourself. Any other formats (MP3, WAV, etc) cannot be looped in NeoLemmix. (I don't intend to add support. It's extra code, and my logic here is that anyone with the technical ability to calculate and insert the loop metadata, beyond a doubt has the technical ability to convert those other formats to OGG.)

Offline WillLem

  • Posts: 982
  • "I can't think of a billion billion things!" - BB
    • View Profile
You certainly know your audio formats, namida!

On the other hand, formats like WAV, OGG etc are literally just made up of what could be considered the audio equivalent of pixels. For each second of audio, there's thousands of these "audio pixels"... I believe 44100 is the most common number these days

The sample rate tends to refer more to the "bandwidth" of the audio, i.e. the possible range of sound in terms of volume, frequencies, etc.

44.1KHz, for instance, covers the entire range of normal human hearing. Higher sample rates generally don't mean much to most people's ears, although they are technically capable of reproducing more audio information. The bit rate is closer in audio terms to being relatable to the number of pixels in an image, because this refers to how many "bits" of audio there are per second, whereas sample rate is more to do with exactly what information is stored in those bits.

Interestingly, when it comes to bit rate, CD audio is still one of the highest quality commercially available audio formats. Most CDs are encoded with 44.1KHz 16bit PCM with a bitrate of 1,411kbps. Some are even higher resolution/bit rate - I have a Porcupine Tree album that's mixed in 5.1 and (apparently) has a "HD Audio" bitrate of 9,216kbps! The surround sound mix is gorgeous, of course, but in terms of general quality I honestly can't tell the difference between this version and the standard version.

Conversely, the majority of MP3, AAC and other mainstream digital audio files are no higher than 256kbps, although they generally use the same sample rate and bit depth (44.1KHz/16bit) as CD audio. (Incidentally, bit depth - as I understand it - refers to how "analog" the bits of digital information can be - the higher the bit depth, the closer the reproduction of the original sound. 16 bits is fine, 24 bits is slightly better but greatly increases the file size.)

Both low bit rates and low bit depths result in lo-fi sound; lower bit depths tend to distort the sound and make it "fuzzy" or "glitchy" (basically, retro gaming sound ;P), whereas lower bit rates result in that wierd "glassy" sound that makes the audio sound like it was recorded in a fish tank (this tends to happen when speaking to people over Zoom or FaceTime).

Generally speaking, 44.1KHz at 16bit/256kbps is a great middle-ground for file size and audio information that the average person can perceive as "good quality". Only audiophiles and sound engineers are likely to be able to tell the difference between 256kbps and 1,411kbps. To my ears, the latter sounds ever so slightly clearer - and this is if I'm listening very intently in an otherwise very quiet place. It's no wonder 256 has become the standard, especially for streaming.

It's like the difference between looking at a 1200 x 800 image, and then the same image at 6,000 x 4,000. If you zoom both images so you're observing them in an area that's, say, 600 x 400, they will likely look virtually identical. The only reason you'd ever need the larger image is if you were displaying it on a very large screen - but even then, most people viewing the screen are likely to be far enough away from it that the experience they'd get is probably still comparable to viewing the image at 1200 x 800 on a smaller screen.

How does this translate to audio? Well - it is true that the difference in bit rate does become more noticeable at higher volumes, which is why DJs and audiophiles prefer to use lossy formats for listening at louder volumes through better quality speakers. But even then, the music is likely to be so loud that any discernable differences in quality become essentially meaningless.

As a musician, I always export my music to 1,411kbps WAV so that the master file is lossless (standard industry practice), but ultimately convert it to 320kbps AAC for general use/distribution. 256kbps is fine, but I like having the extra 64kbps just in case :lemcat:

Offline Dullstar

  • Posts: 1775
    • View Profile
    • Leafwing Studios Website (EXTREMELY OUTDATED)
Nothing is wrong with it, as such. NL doesn't use the Amiga music - they are very slightly different instrumentations. It's most noticeable in tune1 from Oh No! (see attached for easy reference), but there are slight variations in the other tracks as well.

I think you might have a music pack installed (whether done intentionally, or accidentally via a level pack with conflicting names) - the ohno_01_NL.ogg file you provided is from the DOS version, and the file that I have in my NeoLemmix installation is based off the Amiga version (which I believe is the default, particularly as I usually start with a fresh music directory each major update instead of copying the old one over). I only sometimes install music packs, and even then, I will only do it if they have a sensible naming convention that minimizes the chance of naming conflicts, since NeoLemmix doesn't store music tracks with the packs they came from. The advantage of doing this is that multiple level packs can refer to the same music files, so there doesn't have to be any duplication. The disadvantage of doing this is that multiple level packs can refer to the same music filename at the same filepath even if it's not actually the same song.

Because of the way NeoLemmix handles file extensions, naming conflicts can happen and go undetected: if I have any music pack installed (counting the stock one), and I install a second music pack that shares a filename (including the extension), Windows will alert me to the conflict by asking me if I want to overwrite the currently installed music file. However, NeoLemmix doesn't require the file extension to be explicitly stated, and in fact doesn't acknowledge the file extension if it is explicitly stated (at least when done through the editor; I have not yet tested a manually edited level file). Instead, there is a hierarchy of file extensions, and the first file extension in the hierarchy for which the file exists will be the one that is used. As such, if you installed any music pack that had a file called ohno_01.ogg, it will mask the ohno_01.it that is provided with NeoLemmix, because .ogg takes precedence over .it - and the user will not be warned about this.

I think namida mentioned at some point that the .it files are also just .mod files that were renamed to .it (not converted) for historical reasons with how the music used to work.



EDIT 1: The NeoLemmix stock is defintiely .mod renamed to .it: a proper .it file would begin with the identifying label "IMPM" (bytes: 49 4D 50 4D) (likely for IMPulse tracker Module) when viewed in a hex editor. A .mod file begins with the song's title, which would begin at 0x04 in a .it. Sure enough, when opened in a hex editor, the NL stock .its lack the IMPM label and have their titles beginning at 0x00.

EDIT 2: Manually editing a level file to specify an extension doesn't help; the highest priority extension (which appears to be .ogg at least based on the formats I tested) will always be chosen if it exists.
« Last Edit: July 03, 2020, 08:44:04 am by Dullstar »

Offline namida

  • Administrator
  • Posts: 10466
    • View Profile
    • NeoLemmix Website
I'm not sure what the proper terms for each actually are, but there's "how many bits is each sample made up of?" - this is the 8 bit, or 16 bit, or 24 bit. Then there's - for compressed audio formats (you could measure this for uncompressed ones too, but it's kinda meaningless there except in terms of calculating file sizes from quality / length or vice versa) - "how many bits or bytes are used for each second of audio?"

In uncompressed audio, each sample really is equivalent to a pixel. The sample is a single value, which could be an 8 bit value (-128 to 127; or 0 to 255), a 16 bit value (-32768 to 32767), a 24 bit value (-2^23 to 2^23-1). In for example a 44100Hz audio file, one second of mono audio would be made up of 44100 of these samples (double this for stereo - one for each speaker - etc). Similar to how if you had an image file where 44100 pixels would make up 1 metre when translated into physical space, one metre would - of course - be made up of 44100 pixels. In such a case, the bit rate would just be (sample depth) * (frequency) * (channels) - for 44100Hz, 16 bit, 2 channels (stereo) that'd be 44100 * 16 * 2 = 1411200 bits per second (~1400kbit, or about 175KB for every second of audio).

In compressed audio, this gets reduced to the target bit rate - whether this is a hard and fast "always hit it exactly" or just a "use it as a guideline" depends on the specific format - by using a combination of data compression algorithms, and reducing the quality to make the data more compressible (for example - let's say we have a sequence of samples "100, -100, 99, -101, 99, -99" - changing this to "100, -100, 100, -100, 100, -100" is almost indistinguishable to the human ear, but can compress much better). This is why, even at equivalent bit depth and frequency, a lower bit rate compressed audio file sounds worse - and why, other than by changing those factors, you can't get a lower bitrate on uncompressed audio.

I've had to learn / figure out a lot of this while working on Tiel Attack, as a significant portion of its sound code is custom. In particular, the data files only contain a list of notes + durations + "sound type" + loop points for the music, with the game itself generating actual audio data from this. (The sound effects on the other hand are prerecorded, though due to the exact implementation Tiel Attack does work with their data at a relatively low level.)