[Discussion] L2 Classic vs. Orig Pillar

Started by Dullstar, August 11, 2020, 10:40:15 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Dullstar

Aesthetically, the original game's Pillar style is very similar to L2 Classic. However, they are not the same. In the original game, terrain pieces could be placed on any pixel coordinate, but L2 has a much stricter terrain grid. For this reason, many of pillar's block pieces could not be inserted in L2 unmodified, because they were sized in such a way that they do not line up with the original grid. In fact, many of the terrain blocks can't be lined up with any grid due to the larger blocks being sizes that are not evenly divisible by the smaller blocks.

This design quirk of the Pillar style has made it difficult for me to work with when designing levels, and it's actually caused me to scrap level layouts and redo them in other sets (usually L2 Egypt) on multiple occasions (an example of a level I've released that underwent this change is my Contest 20 level "Tunnel Project"). This is kind of a shame, because aesthetically the style is quite nice. Therefore, I'm thinking I'd be able to get more use out of it if I go ahead and port L2 classic to NeoLemmix and use that instead of Pillar.

When I do this, would it be preferred for me to make it an expansion to Pillar, or an entirely new style?

Minim

Back in 2016 when I did the PS3 graphic sets I added some fire pieces to the original fire set and put them together to make the dark levels. However, the sets were not joined together and split up instead.

I don't know who's responsible for adding the L2 classic pieces into the Orig pillar set but if we want to keep the faith I see the graphic sets as two separate ones personally. It's very rare, but I think we shouldn't risk an editor that uses both Lemmix and NeoLemmix get confused as to why the L2 classic pieces are missing in Lemmix's pillar set.

To sum it up I think a new style for the L2 classic terrain pieces is the way to go about this.
Level Solving Contest creator. Anybody bored and looking for a different challenge? Try these levels!

Neolemmix: #1 #4 #5 #6
Lix: #2  #7
Both Engines: #3

IchoTolot

There was the discussion in the past to make a L2 classic set, but the majority thought it was not worth the split and instead insert the few unique pieces of L2 classic into pillar.

I also thought it was not nessesary when I converted the L2 sets.

I can see the point that the grid is pretty handy though, but on the other hand only a small fraction of sets are following the grid anyway (L2 mostly and a few single ones).

I am not against an extra L2 pillar set though as it would leave orig_pillar untouched anyway - I just won't be the person doing the work here. ;)

Dullstar

#3
List of differences between orig_pillar and L2 Classic
orig_pillar names are used where possible

"Grid compliant" is defined a bit vaguely here: it doesn't need to comply with the default grid, but it SHOULD comply with a grid that is the size of the smallest variation of itself, e.g. if a block appears to be half the size of another block, it should *actually* be half the size, not slightly under half the size (which occurs several times in orig_pillar)

Size differences are noted if and only if they can't be bypassed trivially in NL using components available from orig_pillar. For example, we don't care if the L2 classic horizontal pillar is the same length as the one provided by orig_pillar, since extending or shortening a pillar is very easy to do. We would, however, care if it weren't the same height, because fixing that would be considerably more difficult.

MAJOR DIFFERENCES

(these affect how the piece can be used with other pieces)

Size modifications that make the block grid compliant:
block_01
block_02
block_03
block_04
block_10
block_11
block_13
block_14
sandblock_01
sandblock_03
steel_01
steel_02
steel_04

Completely missing from L2 Classic:
block_05 (could probably recreate reasonably well using block_09)
block_06 (could probably recreate reasonably well using block_09)
pillar_03
pillar_04
steel_03
block_12
sandblock_02
circle_01
circle_02
wood_25 (I'm not sure where this piece comes from, but it's not in DOS orig_pillar, either)

Completely missing from orig_pillar:
Gray block thing 16x16 (unused)
Steel 8x16
large block_07
large block_13
large sandblock_01

MINOR PHYSICS DIFFERENCES

(the size is a little different, but it functions identically)

bump_01 - orig_pillar is larger horizontally by 1 pixel
bump_02 (see bump 01)
bump_03 - orig_pillar is larger vertically by 1 pixel
bump_04 (see bump 02)
pillar_end_06 - top row of pixels from orig_pillar is excluded from L2 classic; possibly an undetected mistake, as the horizontal pillars are unused in and pillar_end_05 doesn't do this.
stairs_01 to stairs_04 - each individual step is one pixel longer in L2 classic, while each step is offset 4 pixels from the previous step instead of 3

I suspect all objects likely belong in this category. All objects are closely related to some object that was in the original game, though some come from other sets.

VISUAL DIFFERENCES ONLY

(the piece is identical to one in orig_pillar in CPM, but not visually)

Replicable in NL orig_pillar with erasers:
pillar_end_01 - graphic for orig_pillar contains 1 extra row of pixels before it becomes identical to a pillar; can be replicated in NL by erasing the bottom part of the graphic
pillar_end_03 - grahpic for orig_pillar contains 1 extra column of pixels before it becomes identical to a pillar; can be replicated in NL by erasing the left part of the graphic
pillar_thin_03 - orig_pillar is 1 pixel larger, but can be made identical to the L2 classic piece by removing the bottom row of pixels with an eraser.
pillar_thin_01/pillar_thin_02 (02 is the same as 01 except 01 is taller) - orig_pillar is 1 pixel larger, but can be made identical to the L2 classic piece by removing the rightmost column of pixels with an eraser

Not replicable in NL orig_pillar:
pillar_end_04 - 1 pixel is shaded differently
pillar_end_07 - shadow is different

COMPLETELY IDENTICAL

(the block is completely identical in both versions)

pillar_01/pillar_05 (05 is the same as 01 except 01 is longer)
pillar_02/pillar_06 (02 is the same as 06 except 06 is taller)
pillar_end_02
pillar_end_05
pillar_end_08
block_09 - This piece may have been derived from L2 classic, as it is absent from the original DOS version of orig_pillar
wood_16 to wood_24 - Derived from unused wood pieces in L2 classic

IDENTICAL PHYSICS, VISUALLY UNCATEGORIZED

(I haven't checked if it's completely identical pixel-for-pixel, but it's definitely identical in CPM)
wood_01 to wood_15 - they're all 8 pixels wide and varying lengths, but varying length with erasers is easy.

OTHER NOTES:

While block_07 and block_08 look like they're different texture variants of the same block, block_08 is two pixels shorter, which actually makes it grid compliant with block_05 and block_06. There's 3 "sets" of blocks/bricks, and the set that includes these pieces is the only one that features them. This is NOT true of the vertically oriented versions of these blocks (block_10 and block_11), which, like all other blocks from the original set, are two pixels longer than two of their shorter variants placed next to each other. This is also true in DOS.

The horizontal full-size pillars exist in L2 classic, but aren't used in any levels. However, there's actually two different heights, perhaps compensating for the grid and different end types; but a consequence of this is that you can't have a horizontal pillar have a full endcap on one end and a damaged endcap on the other.

The L2 sets currently have up to 5 steel size variations; all the sets that don't have these appear to have a subset. The steel pieces present in L2 classic are also a subset of these 5 sizes, although in L2 Classic levels, only 2 of the available 4 sizes were used. I haven't screened the other tribes to see which steel block sizes they use. Furthermore, L2 classic has 3 variants of the smallest piece, though based on the level screenshots from Lemmings Encyclopedia, it looks like only one of them was ever used.

PROPOSED ACTIONS

- All changes should be made as additions to orig_pillar and not as a separate set
- Add all blocks from MAJOR DIFFERENCES::Size modifications that make the block grid compliant and MAJOR DIFFERENCES::Completely missing from orig_pillar
- Add an L2-sized version of the steel block that is missing from L2 classic.
- Add missing steel size variations to L2 sets that don't have them if it is relatively straightforward to do so (so probably everything but Space and Cave) (see OTHER NOTES)
- Recolor the L2 classic steel blocks for use in all orig/oh no sets; having grid-compliant steel blocks is very convenient!

OTHER DISCUSSION TOPICS:
- If we decide to make a new style instead of modifying orig_pillar, if anyone has information about how the other L2 sets were created, it would be helpful. I have a method that works for terrain, but it's tedious and doesn't work on objects due to the animations. However, for the number of blocks I've proposed be added to orig_pillar, my current method will be sufficient.

Suggested additions to orig_pillar:

Quick correction to that image: one of the blocks has already been added (as block_09).

Marked up version of above image with notes and motivations:

Also correction to this image: The largest two steel blocks (three if you count the one I made by rotating+flipping one of them) are also unused.

IchoTolot

I am totally against visual and more importantly physics changes to existing blocks in orig_pillar, as the benefits here are greatly overshadowed by the impact these would have on existing content.
Orig_pillar is one of the original and therefore most used sets and suddendly changing pieces in it would heavily affect most packs out there. These level breaking changes make any advantage that the suggested changes may have unsignificant.

I would be open for an extra L2_classic set or adding additional blocks to orig_pillar though. With an extra style we can go as wild as we can with changes and make a full set conformant to the 8 pixel L2 grid.

Quote- If we decide to make a new style instead of modifying orig_pillar, if anyone has information about how the other L2 sets were created, it would be helpful. I have a method that works for terrain, but it's tedious and doesn't work on objects due to the animations. However, for the number of blocks I've proposed be added to orig_pillar, my current method will be sufficient

I had big png files in which all tiles were included. I took that big png and manually cut out every tile one by one to put them into seperate pngs. It was a ton of work doing that for all L2 sets back in the day.

I've attached the L2_classic pngs. The steel was put under objects.

With these 2 files you have everything you need for a 8-grid conform L2-classic style. Just add OWWs, updrafts, pick-ups and stuff and you're golden.

Dullstar

#5
I'll update the wording in the previous post to make it a bit more clear (proposed changes was probably not good word choice when I'm not actually advocating any breaking changes), but to clarify, the pieces would be in addition to, not in place of, the existing ones. Replacing the existing ones would be probably be the largest breaking change in the history of custom level development by a considerable margin, and that's including changes like the transition from vanilla Lemmix to NeoLemmix permanently breaking things like glitch levels. Besides, whether their sizing is an issue or not depends entirely on what you're trying to do with them - it just so happens that when I try to use the set, I almost always want to use the blocks in a way such that it becomes a problem.

In practice, adding the pieces would most reflect how I would use the set in practice - I'd generally be using orig_pillar, but taking the grid-compliant pieces as needed from L2 classic (though I might end up using the L2 classic terrain for convenience reasons if it were a separate style - but the objects would still be sourced from orig_pillar). The major disadvantage is that it would clutter up orig_pillar with additional size variants of pieces that are already there, which is why I'd only be in favor of adding pieces that are sized differently such that they are easier to work with. I documented all the changes I could find mostly for informational purposes, as I knew there were some differences, but I was curious how extensive they were.


This image contains only the pieces I want to add, plus one additional that I forgot to remove from the image when I realized it had already been added. Of these pieces, I'd be comfortable skipping out on the largest variants of each one if that's too many (there's also a good chance I'd outsource the steel to a separate style, since I think having variants for all the orig/ohno styles would be nice, since orig and ohno don't have grid-compliant steel, either, but also do I really want to clutter those sets with slightly-differently-sized versions of the steel pieces? so maybe I should make a single style that contains different L1/ohno recolors of the L2 classic steel).

If you still think it's better to make it a separate style, would there be any objections to fixing a specific discrepancy between orig_pillar and L2 classic that I believe to have been a mistake? Namely, it's this one from my previous post:
Quotepillar_end_06 - top row of pixels from orig_pillar is excluded from L2 classic; possibly an undetected mistake, as the horizontal pillars are unused in and pillar_end_05 doesn't do this.
In most of the other instances where something was shrunk, it was applied evenly to all directional variants of the title, and in many cases other changes were made to the graphic to make the size change less obvious, but this is the one exception where it just looks like a mistake.

IchoTolot

I think with all these new peices a new L2-classic set would still be the better option. This avoids too much clutter in a main set and also avoids accidental switch ups of new and old pieces.

QuoteIf you still think it's better to make it a separate style, would there be any objections to fixing a specific discrepancy between orig_pillar and L2 classic that I believe to have been a mistake? Namely, it's this one from my previous post:

pillar_end_06 - top row of pixels from orig_pillar is excluded from L2 classic; possibly an undetected mistake, as the horizontal pillars are unused in and pillar_end_05 doesn't do this.

Of course, I agree with that fix. As it would be a new style you can also be a bit more liberate with fixes.

I would receommend creating the set from your piece selection and the tiles+objects I posted then.

Dullstar

Alright. Since there doesn't seem to be super high interest in it, it might be a while before I get around to it, but it'll get done eventually - in perhaps an inefficient but educational way (I'm thinking I can probably get my computer to understand how the image is formatted and convert it into the proper format for a style - it'll definitely take longer than doing it by hand factoring in the time to write the code, but I should be able to learn something that might be of use on a later project).

namida

Quote- Add missing steel size variations to L2 sets that don't have them if it is relatively straightforward to do so (so probably everything but Space and Cave) (see OTHER NOTES)

I intend to implement resizable terrain, including with nine-slicing support, in a future update (probably 12.11). Would this proposal still be necessary after that, rather than just making an existing piece resizable?
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)

WillLem

Quote from: namida on August 17, 2020, 02:17:56 AM
I intend to implement resizable terrain, including with nine-slicing support, in a future update (probably 12.11)

Nice! :thumbsup:

Dullstar

The large wood pieces, which are unused in Lemmings 2, are surrounded by black pixels in the corners, so it's a bit unclear if those were intended to be solid or transparent. While I could dig out an L2 editor to test how these are handled, we can make our own choice here - should these pixels be included as part of the graphic or made transparent? I'm leaning towards transparency, since that's what the person who added pieces based off these to orig_pillar did (I just noticed, however, that they do have a slightly different graphic in NL; the nails were modified to fit orig_pillar's style better).

Quote from: namida on August 17, 2020, 02:17:56 AM
Quote- Add missing steel size variations to L2 sets that don't have them if it is relatively straightforward to do so (so probably everything but Space and Cave) (see OTHER NOTES)

I intend to implement resizable terrain, including with nine-slicing support, in a future update (probably 12.11). Would this proposal still be necessary after that, rather than just making an existing piece resizable?

I think this would depend on the exact implementation, but it should be possible to make one steel block that can be nine-sliced. However, I can easily have these pieces done by 12.10 if desired. Out of curiosity, given that some sets have all the sizes already, how will the different block sizes be handled? Will they be replaced with a single nine-sliceable tile?

Dullstar

#11


I've successfully gotten my computer to find all the tiles; now I just need to make it export them (the green lines don't quite make it to the boundary, but that's just a quirk of how they're drawn that wasn't worth accounting for since the lines are just visualizing which top corner goes with which bottom corner).