SEGA style and levels for DOS / Lemmix

Started by namida, June 21, 2014, 01:52:16 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

namida

So, I decided to make the SEGA style (from the Master System version) as a DOS graphic set, and have also remade the levels.

For those who aren't aware (which I'm sure is none of you), the Master System version has 10 unique levels. Well, in a way 11, but one of them is irrelevant to this topic. But the other 10 use a custom "Sega" graphics set, which is exclusive to that version as far as official games go. This set is now available for DOS and Lemmix! (EDIT: 12 levels actually, forgot about Sixes Not! when I was writing this.)

Now, the Sega style does use more variety of colors than the DOS format allows for. It is, however, completely within what NeoLemmix is capable of handling. However, besides color variety, there's nothing about it that DOS and traditional Lemmix can't handle; so I've made it as a dual-compatible style. This basically means that it will work just fine in older software (official DOS games, traditional Lemmix, LemEdit, etc), except with a reduced range of color variety - the palette is carefully constructed so that they still look roughly accurate. It kind of just feels like it's in EGA mode. (Writing this made me go and try it in *actual* EGA mode. The results were... not so great looking. Try for yourself if you want to see.) However, if you use it in NeoLemmix or NeoLemEdit (or CustLemmix, since that also supports extended palette graphic sets), it'll display with the full set of colors. There isn't a "traditional Lemmings version" and a "NeoLemmix version"; I'm meaning as in the set was constructed in such a way that the same files will do this depending which engine you're using it with. And of course, this means that apart from the extended palette, this set doesn't use any NeoLemmix-exclusive features.

For comparison, I attached two screenshots - one running in CustLemm, and one running in NeoLemmix. I resized the NeoLemmix one to 640x400 so it's easier to compare. Just to be clear - they are both using the same GROUNDxO.DAT and VGAGRx.DAT files. It's also the same level, but I'm sure you could tell that from the screenshots. http://www.lemmingsforums.com/Smileys/lemmings/tongue.gif" alt=":P" title="Tongue" class="smiley" /> Speaking of that, the level is included in the ZIP file to save you having to make a level just to test the style in action. EDIT: Nope, it appears it isn't, and that is of course everyone's fault except mine. http://www.lemmingsforums.com/Smileys/lemmings/tongue.gif" alt=":P" title="Tongue" class="smiley" /> I attached it to the next post, since this post already reached the attachment limit.

The style will be included (as #19) in CustLemmix; I'll update traditional now to include it, while for NeoCustLemmix I'll add it in the V1.09n release.

It's not possible to perfectly replicate the exact timing of the trap in DOS/Lemmix, but I got it pretty close. If you have enough lemmings walk by at RR99, you might end up with one or two less lemmings left alive eventually compared to if you did the same on Sega, but that can't be helped - I did try to get it exact, but it just isn't possible.

I also attached the "source code" of the style (ie: the raw images in BMP format and the INI file, to be used with LemSet). Use it for whatever purposes you like.

I've remade the levels too, see the next post to download them. As well as the 10 (or 5 with two versions of each; however you want to see it) SEGA levels, it also includes Sixes Not! and Stepping Stones.
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

Goddamn typical of me; I say I'm including the level only to go and forget to actually add it in. Okay, here's the sample level.

EDIT: And also, remakes of the *actual* SEGA levels from the Master System version! http://www.lemmingsforums.com/Smileys/lemmings/laugh.gif" alt=":D" title="Laugh" class="smiley" /> And as a bonus, I also included "Sixes Not!" and "Stepping Stones". http://www.lemmingsforums.com/Smileys/lemmings/smiley.gif" alt=":)" title="Smiley" class="smiley" /> The zip here contains everything needed to play the levels (apart from a version of Lemmings to use - but it has the GROUND/VGAGR for the SEGA levels, and the VGASPEC for Sixes Not).
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)

Prob Lem

Looks great!

Having been introduced to the Lemmings series via the Game Gear version (which is derived from the Master System one), seeing the Sega tileset getting a bit of recognition has brought a big grin to my face this afternoon. Good one. http://www.lemmingsforums.com/Smileys/lemmings/thumbsup.gif" alt=":thumbsup:" title="Thumbs Up" class="smiley" />

namida

Looks great!

Having been introduced to the Lemmings series via the Game Gear version (which is derived from the Master System one), seeing the Sega tileset getting a bit of recognition has brought a big grin to my face this afternoon. Good one. http://www.lemmingsforums.com/Smileys/lemmings/thumbsup.gif" alt=":thumbsup:" title="Thumbs Up" class="smiley" />

We're more or less in the same boat then. Although I had the DOS version first, my DOS computer at the time didn't have a mouse or joystick and the keyboard controls weren't intuitive enough for me to work out at 3-4 years of age (yeah, I started REALLY young xD). So Master System was the first version I actually was able to *play*. http://www.lemmingsforums.com/Smileys/lemmings/smiley.gif" alt=":)" title="Smiley" class="smiley" />

Okay, I did say I wasn't going to do any remaking tonight but... I lied. xD (Or rather, changed my mind, but same diff. Point is, there's a remake.) I'll wait until I've done *all* of them before I upload levels. But I can give you a level *map* now. You'll probably notice the terrain is slightly raised more than normal under the exit; I prefer that over putting a sneaky small block behind the exit. Either way; that's only nessecary for the traditional version (yes, I'm not snobbing traditional just because NeoLemmix exists!), the NeoLemmix version won't need it there thanks to the pixel-perfect trigger areas - although at the same time, I don't really know that I'd bother to change something that insignificant anyway; it's not like it's on an engine with identical mechanics to the original level anyway http://www.lemmingsforums.com/Smileys/lemmings/tongue.gif" alt=":P" title="Tongue" class="smiley" /> . In terms of what is and isn't solid, apart from filling in the extra 8 pixels at the top, that raise under the entrance, and a slight difference on the tap (first two are nessecary for obvious and/or explained reasons, the last one is because it leaves too much solid black terrain otherwise (or gaps)), I believe this is pretty much pixel perfect to the original; in terms of purely graphical elements it's pretty close though there are some minor differences - some are limited by me not porting *every* possible piece to the set (like the blocks with slightly varied shadows on them).

This one wasn't too bad and SEGA Two and Four shouldn't be either, but I'm not looking forward to doing Three and Five... xD

EDIT: I also attached the original map of the level for comparison purposes.

EDIT: Couple of minor changes since I posted these. Firstly, I realised I hadn't put the trap at an X coordinate divisible by 8, so it's been moved a bit to the left. (If I moved it to the right it'd only have to move 2 pixels, whereas to the left was 6; BUT the key thing was that in the original level, the pipe is in line with the steel meaning you can't drop from the steel to it, so I thought I'd rather preserve that. In general, at least for traditional versions (and I see little point in bothering to change this detail for NeoLemmix versions), all traps in these levels are going to have to be moved a couple of pixels to the side - it was either that or have an overly large trigger area for them.)
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

By the way, if anyone tries this style with any less-common software, can you let me know how well it works, since this is the first dual-compatible style to be released?

I've found that (with the color depth limitations) it works 100% fine in the official games and traditional Lemmix, but in LemEdit the objects do have (fairly minor) graphical glitches (only in the object selection screen though, not the editing screen). Obviously, it works with no problems and the full color depth in NeoLemEdit, CustLemmix and NeoLemmix. I haven't tested it in anything else.

In general - it should work fine in anything that strictly implements the original format, but it would appear for example, LemEdit ignores the specified spacing between frames and instead tries to calculate it on its own and this causes some graphical issues. Might not be exactly that, but at any rate it's doing *something* that causes psychedelicy colors when it tries to animate the objects in the selection screen.


EDIT: Done the left half of Sega Two (everything left of the bottomless gap in the middle of the level). http://www.lemmingsforums.com/Smileys/lemmings/laugh.gif" alt=":D" title="Laugh" class="smiley" /> I think the steel blocks took longer than the entire rest of that part combined... xD
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

Sega Two done! http://www.lemmingsforums.com/Smileys/lemmings/laugh.gif" alt=":D" title="Laugh" class="smiley" />
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

if anyone tries this style with any less-common software, can you let me know how well it works

Link: http://asdfasdf.ethz.ch/~simon/etc/namida-sega-graphic-set-lix.png" class="bbc_link" target="_blank">SEGA 1 tested in Lix

The light grey isn't interpreted as in your sceenshots. I assume you use the white from the set-independent 8 colors. This should be perfectly fine for a set, it's a bug in Lix then. Then it's the intended downgrade to 8 colors, alright.

Special objects animate and behave as intended, in the editor and the game.

What's the trick to make the file dual-compatible? Traditional graphic sets have 4 bits per pixel, saved as 4 one-bit images next to each other. Do you have extra one-bit images after the 4 that are ignored by the traditional programs? How does Neolemmix check for the amount of bits to load?

-- Simon

namida

Firstly, the graphic set must be marked as using an extended palette. This is done in the Animation Flags word of the first object; specifically the high byte (byte 0x01 of the GROUNDxO.DAT file). If the least significant bit of this byte is set, the graphic set is a 32-color (5-bit color depth) set.

There's no need to make any major modifications to loading the graphic data - use the exact same algorithm but load 5 planes instead of 4. As for the palette, the normal "custom" section is colors 8 through 15, the "default" one (the one that just has a clone of the fixed colors) is colors 16 through 23, and the "preview" one is colors 24 through 31. Obviously, this relies on the engine actually knowing the fixed palette rather than trying to load it from the graphic set. (EDIT: Though as mentioned below, I duplicated 0 through 7 into 16 through 23 in this set; only 8-15 and 24-31 are custom colors.)

There's no special marking for a "dual-compatible" style; these are simply 32-color styles with their palette constructed in such a way that it'll still look relatively the same in engines that don't know to use the extra plane. This works because of the way the format is; making the extra plane become the *most* significant bit in the color index, as well as that the bit that's used to mark a 32-color set is never used by older software that doesn't support them. Therefore, all you have to do is make sure the high 16 colors are just slight variant shades of the low 16 when making the graphic set, instead of completely different colors. (Generally, I leave 17 through 24 as exact clones of the fixed palette). If you want to see what I mean, have a look at the source files for the set (attached to the first post).

By the way, at this point the only options are 4-bit or 5-bit images. I might make larger depths supported later on; though firstly there's the issue of where to store the palette data, and second (especially for terrain pieces) the limitation of 16-bit values for the locations (although I can think of a couple of workarounds for this one). Of course, this can be easily worked around by making modifications that will render the files non-usable under traditional engines, but that's something I've been trying to avoid where possible. (Although some Neolemmix level features do cause traditional Lemmix to not load the levels properly - but interestingly they still work fine under DOS!)


If you'd like the full details on NeoLemmix styles and levels, I think I explained them in the NeoLemmix topic (note: I need to add a bit to activate autosteel marking; at the moment NeoLemmix assumes it to *always* be active which could cause compatibility issues with styles that aren't adjusted for it); feel free to PM me about anything that you don't quite get. There's nothing overly complex in there, just simple extensions to the existing formats.
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)

LJLPM

Screenshots are gorgeous! http://www.lemmingsforums.com/Smileys/lemmings/laugh.gif" alt=":D" title="Laugh" class="smiley" />

namida

Thanks!

By the way, I just uploaded a slightly updated version of the style.
If you're only using it with traditional engines (or even in NeoLemmix, as long as you're not using autosteel), there's no need to redownload. The update is simply to add a flag that will be required in NeoLemmix V1.09n in order for autosteel to work.

(The old version does have the autosteel data. It's just that, like most extensions, this makes use of unused-in-official-games (or at least in the VGA and EGA versions) parts of the data, which might be set to values that result in pieces being marked as steel when they shouldn't, if the style isn't created with LemSet or another autosteel-aware tool. Thus, V1.09n will require a set to be specifically marked as using autosteel.)
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

Sega Three! http://www.lemmingsforums.com/Smileys/lemmings/laugh.gif" alt=":D" title="Laugh" class="smiley" />

In the traditional version, the steel in the top-left is not actually steel. Nothing I can do about this; ran out of steel areas (this level has way too much of it xD). Heck, it took me quite a lot of trial-and-error and modifying the improvisional bits on the side of the level (since the level actually reaches the level boundaries in the original version) to even get everything else covered with steel areas without also covering normal terrain. Well, there is one VERY hacky way I could fix it, it would require modifying the style though (basically, creating an invisible object which has the effect of being a steel area)... if anyone thinks it really matters that much (after all, you're not going to go up there during any normal solution), I can look into doing it.
Sega Four also has a lot of steel, but most of it is large chunks, so as long as I can cover the edges of it, it won't matter so much there. And on top of that, for the same reason, it's not likely to be a problem - Sega Four just has a lot of steel; whereas Sega Three has very jagged steel as you can see in the pic.
NeoLemmix will of course have no problems with it, thanks to autosteel.


Those not familiar with the Master System version might also notice a difference between the images near the middle - an extra wall. This is actually not a mistake, but rather, the image I've attached of the original level is the Tricky version, whereas the map of the Lemmix remake is of the Mayhem version (I created both versions of course). Unlike all other cases of repeats, this one actually has a terrain difference - the difference you're seeing there.
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

Sega Four!

And all the steel is actually steel this time. Just. Used all 32 steel areas for this one - but at least 32 was enough this time. xD

Sega Five will probably have to wait until tomorrow, I'm getting kind of tired. There again, I thought that after doing Sega Three, so who knows. xD
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)

Prob Lem

There again, I thought that after doing Sega Three, so who knows. xD
We'll be seeing Sega Five later, then. http://www.lemmingsforums.com/Smileys/lemmings/laugh.gif" alt=":D" title="Laugh" class="smiley" />

namida

There again, I thought that after doing Sega Three, so who knows. xD
We'll be seeing Sega Five later, then. http://www.lemmingsforums.com/Smileys/lemmings/laugh.gif" alt=":D" title="Laugh" class="smiley" />

Quite possibly. And once it's done (and once I've tested them all in DOS CustLemm - so far I've just been testing in traditional Lemmix, but that's a bit less fussy about object positioning - it'll display non-divisible-by-8 coordinates, it just won't align the trigger areas as such), I can release the traditional version. NeoLemmix version won't be too far behind; due to it's pixel-perfect capability I can improve on some of the things I wasn't able to replicate exactly in the traditional versions.


Actually, now that I think about it, there's one more level I should probably remake, even if it's a recreation of the same concept, since it's different enough in my opinion to qualify as a different level - of course I'm referring to Sixes Not. (An interesting fact about this level that I only just noticed - in the level data, the sixes are fully formed! But when playing, the top part of them is hidden (and non-solid). I'm guessing that the level was designed before the controversy around this level hit, which is quite possibly also what the name refers to - and they just decided to add code to overwrite it. It was mentioned in the Master System editor topic that this level does this (blanks the top 1/3rd or so of the level), but I never actually checked the data until now to see if it was actually overwriting anything. xD) EDIT: Attached an image of the level map (or at least, the part where the terrain is) as it is in the data.
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)

Prob Lem

I'm still amazed that there was ever any controversy about that level - I never even heard of the faintest hint of it until I found The Complete History of Lemmings... Then again, as those writings themselves attest to, the UK is a secular country, so it's unsurprising that I never knew of it myself until reading about it all these years later.