[DISC] Porting Lemmings 2: The Tribes Levels to SuperLemmix

Started by Tygerboi, April 13, 2024, 12:29:43 AM

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

Tygerboi

Quote from: WillLem on April 09, 2024, 01:37:59 PM

Unfortunately, neither L2 nor L3 has been fully ported to any of the modern clones yet. However, NeoLemmix and SuperLemmix both feature the style sets, sprites and other assets from these games, and fan-made levels have been created using them.


Hi WillLem,

Thanks for the info, I will definitely check out SuperLemmix as that sounds very cool.  Bearing in mind that NL and SL have many of the features (and many more) of L2/L3, is there any particular reason why neither game has been fully ported?  It seems like any modern clone of the Lemmings games that include all the levels from L1, ONML, all the holiday/Xmas levels, etc is somehow incomplete if L2 especially, but also L3 aren't also included - sort of like an "Ultimate Classic Lemmings" bundle but tweaked with the modern bug fixes/enhancements/options found in the clones in this forum, such as improved gfx/sound, visual sfx for builders, etc.

Proxima

Quote from: Tygerboi on April 13, 2024, 12:29:43 AMBearing in mind that NL and SL have many of the features (and many more) of L2/L3, is there any particular reason why neither game has been fully ported?

For a very simple reason. The original game has eight skills; Lemmings 2 has fifty-one. To incorporate L2 into a modern clone would involve coding and bugfixing all those skills and a correspondingly huge number of possible interactions between them. (Well, most interactions wouldn't have to be separately coded, as they should arise naturally from what each skill does on its own; but there could easily be bugs that only appear when particular skills are used in combination, so every combination that has a meaningful interaction would have to be tested...)

This is a huge amount of work for very little reward, since the main purpose of modern clones is to be a tool for level design, and the community has just never expressed much interest in working with the full range of L2 skills, so at the moment there's not much reason to feel optimistic that such a tool would see much use.

Of course, this isn't an outright rejection of the idea, and it might happen one day.

Tygerboi

Quote from: Proxima on April 13, 2024, 03:15:02 AM
Quote from: Tygerboi on April 13, 2024, 12:29:43 AM
Bearing in mind that NL and SL have many of the features (and many more) of L2/L3, is there any particular reason why neither game has been fully ported?

For a very simple reason. The original game has eight skills; Lemmings 2 has fifty-one. To incorporate L2 into a modern clone would involve coding and bugfixing all those skills and a correspondingly huge number of possible interactions between them
...
This is a huge amount of work for very little reward, since the main purpose of modern clones is to be a tool for level design...

Surely bringing the Lemmings mania to a modern platform to provide a unified, enhanced engine/playing experience for both the old/original levels that Lemmings fans knew and loved, as well as the exciting new levels and skills, is just as important as the level design coding itself?

Yes, I can see that that a full integration of the original L2/L3 games would be a major commitment of both time and technical expertise that would not be justifiable.  However, WillLem stated that:

Quote from: WillLem on April 09, 2024, 01:37:59 PM
Unfortunately, neither L2 nor L3 has been fully ported to any of the modern clones yet. However, SuperLemmix features the style sets, sprites and other assets from these games, and fan-made levels have been created using them.

The engine also features the Jumper, Stacker, Shimmier, Slider, Swimmer, Platformer, Fencer and Laserer skills which are all very close to their L2 counterparts. Furthermore, SuperLemmix has also introduced the Ballooner, Ladderer, Spearer and Grenader, which are reminiscent of various other L2 skills.

Bearing all of the above in mind, would having a level set in SuperLemmix, divided into groups named for each of the L2 tribes, that visually resembled the L2 levels, had the same music/sfx, etc but just using the closest equivalent skills that are already available in SLX - thus avoiding extensive new skill coding/interaction coding/testing - be a feasible option?  A "Lemmings 2: The Tribes - SLX Edition" level set, if you will.  The bulk of the work then would be recreating the levels themselves and SLX-tweaking them as required.  Again, that is  lot of work, but would be a good compromise to be able to bring Lemmings 2 into the 'SLX family'   I don't know if a similar plan would work for L3 as I have hardly ever played that, and not for many years.

WillLem

Quote from: Tygerboi on May 16, 2024, 03:26:48 AM
would having a level set in SuperLemmix, divided into groups named for each of the L2 tribes, that visually resembled the L2 levels, had the same music/sfx, etc but just using the closest equivalent skills that are already available in SLX - thus avoiding extensive new skill coding/interaction coding/testing - be a feasible option?

Yes, absolutely.

This has previously been suggested by Strato as a project for NeoLemmix, but that was back in 2020 and not much has happened towards it since then, as far as I'm aware.

Given the scope of SuperLemmix to introduce more L2-like skills, features and mechanics, such a project may be better suited to SuperLemmix anyway.

Quote from: Tygerboi on May 16, 2024, 03:26:48 AM
The bulk of the work then would be recreating the levels themselves and SLX-tweaking them as required.

This is indeed the rub. It would require a lot of manual conversion work, since there doesn't yet exist a way to rip the level maps directly from any version of L2 (that we know of).

Ideally, we'd have a team of as many people as there are tribes, and each person would recreate all levels from just that tribe. Even then, it's a lot of manual effort, quality control, testing, etc. It would be an enormous project, and so far there simply hasn't been enough sustained interest to get it off the ground.

With that said, I'll keep nudging the idea forward now and again, and might begin work on the Beach levels at some point if I have enough time. That should help to get things moving if it ever happens, and it isn't a promise by any means.

Quote from: Tygerboi on May 16, 2024, 03:26:48 AM
I don't know if a similar plan would work for L3 as I have hardly ever played that, and not for many years.

I imagine it would involve essentially the same process: manually recreate the levels, assign suitable skillsets to make them playable.




Just going to throw this out there one last time: does anyone know of a way to rip the maps directly from one of the many L2 source disks?

DOS, in particular, seems promising, and we can rip .lvl files from L1's Amiga .adf so I wonder if the same thing can be done for L2 and L3?

geoo

The L2 level/style format has been long known (see here - note that you'll have to decompress the levels/styles first using lem2zip, which you can also find there). The challenge will be that the levels are defined as a grid of 16x8 tiles, while (from what I understand) the existing NL L2 tilesets use pieces that are usually composed of multiple of such tiles. The L2 style definitions do define such pieces in terms of the smaller 16x8 tiles, however, I don't know if the NL L2 tilesets were created in a systematic way reflecting these definitions, or just ad-hoc.

All the L2 graphics (both 16x8 tiles and the composed pieces) have been ripped long time ago: https://www.lemmingsforums.net/index.php?topic=6588.msg102252#new

A slightly ugly way would be to write a script to create 12 new tilesets where all the tiles are of size 16x8 (you could use the ripped graphics as input), and then write another script that converts L2 levels into NL levels using these 12 tilesets, automatically creating the terrain and object placements (assuming the existing NL tilesets are consistent with the L2 ordering of objects, otherwise you either have to manually create a mapping between the two, or extend the first script to also generate the NL objects -- I don't know how NL would deal with fling objects and the chain and cannon though). The skillset you'll have to tweak manually either way as I guess you don't support the full palette of L2 skills.

WillLem

@geoo

Thanks for the info, I'll take a look at the assets later.

Conversion via script is a good idea. It would only have to be done once, assuming it works and all goes according to plan, so doesn't need to be too pretty. Thereafter, the levels would exist in NL format and can be edited as necessary.

I wonder whether the levels could be saved as bitmaps somehow. These could then be used as backgrounds in the Editor, so at least if something went wrong in the script conversion it would be somewhat easier to make corrections as necessary.

WillLem

@geoo

What would writing such a script entail? Would it be a lot of manual matching 16x8 squares to images or could it be automated somehow?

geoo

The 16x8 tiles in the image dump are in the correct order. So a 1 in the level file would mean the first 16x8 tile, a 2 is the second 16x8 tile, etc, so it should be straightforward. You just need to create the NL tilesets based on those 16x8 tiles (which I assume can also be automated). Then you're sorted for the terrain at least.

Regarding your other question, of course you could also create images of the levels from the level files and the 16x8 tiles, it's a very similar process to the above.

WillLem

Quote from: geoo on May 17, 2024, 06:58:03 PM
a 1 in the level file would mean the first 16x8 tile

What level file are you referring to here? Do you mean the ones that need to be decompressed using LEMZIP? And, if so, where are they?

geoo

If you look at Lemmings 2 DOS version, you'll see there's a levels folder with one file for each of the 120 levels plus the 4 practice levels. After decompressing these files, you can read the level layout of each (as documented in the file format description).

WillLem

OK, I downloaded the Lemmings 2 files from My Abandonware.

I get this error when I try to run any of it, including drag-dropping the .DAT files onto lemzip.exe:



@jkapp76 - Any ideas? You're usually good with this sort of thing

WillLem

Began work on the first beach level today. Screenshotted from Amiga Forever, set is as a background image with reduced brightness for ease of use as a template, and began placing the tiles manually. Here's how it's coming along so far. This is about 15 minutes' work:


(With background template image)


(Without background template image)

I anticipate that it would take me several hours to figure out how to work with the original tiles / .dat level files, particularly since they aren't already in some accessible format and I'm getting sass from Windows when I try to even get started, so I'll continue with the manual work for now. It will be slower overall, but at least it will definitely get done.

Simon

Quote from: WillLem on May 18, 2024, 12:37:12 AM
I get this error when I try to run any of it, including drag-dropping the .DAT files onto lemzip.exe:

It's a DOS executable. The Linux file command tells me:
lemzip.exe: MS-DOS executable, MZ for MS-DOS

Thus, I've tried running Lemzip in Dosbox. When I run it in Dosbox without arguments, it says: [De]Compress Utility for Lemmings II The Tribes Resource Files. V0.90
Parameter Error. USAGE: LEMZIP c|d|h source_file dest_file

Running it with h, i.e., lemzip h, prints some help, and I conjecture that c stands for compression and d stands for decompression. Thus, to uncompress things, try running Lemzip with three arguments in Dosbox:

lemzip d nameOfCompressedFile desiredOutputFilename

-- Simon

jkapp76

Here are all of the Lemmings 2 level files. I used Lemzip to decompress them and zipped them.

I hope this helps.
...Jeremy Kapp

WillLem

Thanks for the effort Jeremy, not sure if the levels are in readable format yet though. When viewing the .DAT files in a text editor, we still have lots of "NUL" and no information that matches up with the format linked to by geoo.

Wrestling with messy data files isn't really my cup of tea anyway. It's actually been quite nice just sitting with the Editor and placing the tiles in manually with some music on, makes a nice change from all the programming tbh. Managed to finish the first level after only another 5 mins of work:



So, it looks like it's going to take about 20-30 minutes per level.