Author Topic: [EDITOR][SUGGESTION]Merge exit pieces in original/ohno tilesets into one object  (Read 8689 times)

0 Members and 1 Guest are viewing this topic.

Offline Dullstar

  • Posts: 2094
    • View Profile
    • Leafwing Studios Website (EXTREMELY OUTDATED)
In most tilesets from the original games, the exit is actually two objects - one is the actual exit, while the other is just decoration.  However, I'd be hard pressed to think of an example where they are used alone, not counting a level I released a few years back where I just forgot to put the top on the exit.

I suggest doing away with these two-piece exits and combining them into one, complete object.

Regarding compatibility, I think most levels would probably be unaffected practically if the top piece of the exit was just removed completely, and the functional portion replaced with the new complete exit object.

Offline namida

  • Administrator
  • Posts: 12416
    • View Profile
    • NeoLemmix Website
There are a few levels out there that have used exit tops for decorational purposes. I remember playing such a level fairly recently, although I forget what pack it was in (perhaps MobiLems II, as that's the most recent pack I've played apart from NepsterLems, and using those as decoration isn't the kind of thing I'd expect Nepster to do).

I have considered this idea myself several times, but ultimately never ended up implementing it. With the changes to new formats in the next update, that will require some degree of smart conversion anyway, this may be a very good time to do so.

I'd like to get more input, particularly from those who have used them for decorative purposes (or perhaps found actual reasons to use the functional part alone). However, the seperation of them in the original games is most likely for memory / processing efficiency reasons, which are no longer critical on modern systems for a game like Lemmings.
My Lemmings 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)

Offline IchoTolot

  • Global Moderator
  • Posts: 3618
    • View Profile
I am 100% against that, sry.

Placing the 2 objects for the exit is no real hassle + quite a lot of levels use the upper part for decorational purposes. Just count all the different variations of the bubble exit you saw alone! + most of them look pretty awesome.
The flag of snow tileset or the torches of the other tilesets, I have seen them used so often in other creative ways and it would be a shame to get rid of them for no real advantage.

Also sometimes just the lower part of the exit is placed as well! When it is placed in a rather narrow area or under a thin piece of terrain.

This would limit the creative and practical possibilities for nearly no gain at all! So it' a clear no vote for me here. :8():

Offline Simon

  • Administrator
  • Posts: 3907
    • View Profile
    • Lix
Quote
I have seen them used so often in other creative ways and it would be a shame to get rid of them

Yeah, they're too ingrained in culture.

Deco without exits makes sense, but exits without deco doesn't. Thus: Merge the deco top into the exit, but keep the separate top piece for decoration. The exit looks dumb without the top in exactly the right place.

Don't merge in the Snow set, where the flag looks good in different positions.

Quote
no real hassle
no real advantage

No true scotsman?

The two pieces are real hassle, not fake hassle. Should exits be split into 3 pieces instead, for a total of 1 exit and 2 deco gadgets, for even better deco, allegedly without hassle?

Subtle misplacements like this are a real disadvantage:



-- Simon
« Last Edit: May 24, 2016, 08:09:08 AM by Simon »

Offline IchoTolot

  • Global Moderator
  • Posts: 3618
    • View Profile
Expected this comment from you :P


The two pieces are real hassle, not fake hassle. Should exits be split into 3 pieces instead, for a total of 1 exit and 2 deco gadgets, for even better deco, allegedly without hassle?

Subtle misplacements like this are a real disadvantage:


Really putting two pieces together is a hassle? :XD:       It's not like we have 3 or more as you described. 2 is alright, but it shouldn't be more either. A user should be able to put two simple tiles together! :8():     + he don#t even has to if he wants

This is no real hassle! This is nearly no advantage! If you put together your exit like in the picture you are blind anyway! :8():

Deco without exits makes sense, but exits without deco doesn't. Thus: Merge the deco top into the exit, but keep the separate top piece for decoration. The exit looks dumb without the top in

This could be a solution, but ------
The exit without the top can be important. I used it quite a few times where there wasn't enough space for the top.
Also the merging would lead into changing the exit postion again for every level. You cannot simply declare the old exit top as the new postion of the object, as there may be more  --- therefore a no go.  Replacing the majority of the exits for this NO WAY! :devil:


Offline namida

  • Administrator
  • Posts: 12416
    • View Profile
    • NeoLemmix Website
Quote
Also the merging would lead into changing the exit postion again for every level. You cannot simply declare the old exit top as the new postion of the object, as there may be more

This is not a significant concern, as it can be very easily automated as part of the converting to new format process.
My Lemmings 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)

Offline Simon

  • Administrator
  • Posts: 3907
    • View Profile
    • Lix
Really putting two pieces together is a hassle? :XD:

Yes, because you need it every time for an acceptable result.

Repetition in logic calls for abstraction.

-- Simon

Offline Dullstar

  • Posts: 2094
    • View Profile
    • Leafwing Studios Website (EXTREMELY OUTDATED)
Another thought on how to get the functional effect of a merged exit that wouldn't have any affect on existing levels (actually, this was what I was originally going to suggest, but I was having trouble thinking how to explain it, so I tried to think of a different way):  The ability for users to create "new" objects out of combinations of existing ones and save them for later use.  Exits would be a common usage for this, but there are also some terrain pieces I've made that I could see this being useful for.

---

But back to the original idea of simply merging the exits, I assume it would be best to base the new positioning off of the functional part, rather than the decorative part.  Excluding the snow tileset, in which there are apparently multiple positions the top piece can look good in (now that I think about it, I think this is the only oh no set I haven't used since I resumed making levels - maybe I should make one...), in what situation would you not use a top piece to the exit?  I don't feel like lack of space would be a concern considering objects are set to no-overwrite by default now.

Offline namida

  • Administrator
  • Posts: 12416
    • View Profile
    • NeoLemmix Website
Quote
The ability for users to create "new" objects out of combinations of existing ones and save them for later use.  Exits would be a common usage for this, but there are also some terrain pieces I've made that I could see this being useful for.

This is actually on the future plans list for terrain; I hadn't considered doing so for objects. I don't know if it would work as well.
My Lemmings 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)

Offline IchoTolot

  • Global Moderator
  • Posts: 3618
    • View Profile
Why not simply (similar to Dullstars proposal):

Add a new object to each relevant tileset which is:  Exit + top half!



This way you have the single pieces for special tasks + the full package for a simple use!  There everyone should be happy with this + old stuff isn't affected at all :8():

Offline Dullstar

  • Posts: 2094
    • View Profile
    • Leafwing Studios Website (EXTREMELY OUTDATED)
Quote
The ability for users to create "new" objects out of combinations of existing ones and save them for later use.  Exits would be a common usage for this, but there are also some terrain pieces I've made that I could see this being useful for.

This is actually on the future plans list for terrain; I hadn't considered doing so for objects. I don't know if it would work as well.

I don't think it would be as useful for objects (not sure when you'd use it outside of exits), but I assume the implementation would be quite similar.  You could also use it for combinations of objects and terrain (e.g. maybe you like putting traps on top of steel, so you make a piece that's a trap with steel underneath).

---

As for the suggesting of adding a new object to each tileset:
I'd be cool with that as long as the new object ends up higher on the new object list than the separate pieces.

Offline namida

  • Administrator
  • Posts: 12416
    • View Profile
    • NeoLemmix Website
Quote
You could also use it for combinations of objects and terrain (e.g. maybe you like putting traps on top of steel, so you make a piece that's a trap with steel underneath).

It's a nice idea, but it's also of limited use compared to doing this with terrain, and would probably be much less tidy to code.

Quote
I'd be cool with that as long as the new object ends up higher on the new object list than the separate pieces.

In the future, pieces will no longer be referenced as "object #0", "object #1" etc but rather will have names. So, listing would most likely be a matter of alphabetical order based on these names. Mind you, if we have names like "exit", "exit_top" and "exit_bottom", that'd still put the new one at the top.
My Lemmings 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)

Offline Simon

  • Administrator
  • Posts: 3907
    • View Profile
    • Lix
We shouldn't have two pieces that do nearly the same, when one of them suffices. Also you introduce special casing, because all old levels will violate principles in the editor.

I am good with multiple exits only if:
  • There is autoreplacement. Whenever there is a topless exit, and a top in the exact position above the exit, editor and game automatically remove both pieces, and replace them with the combined exit. I don't want to drag pieces in the editor, and be surprised that sometimes, the top comes along, and sometimes, it doesn't.
  • There is deprecation. The topless exit should not be used in the future.
I remain skeptical of multiple exits:

Quote
The exit without the top can be important. I used it quite a few times where there wasn't enough space for the top.

It's used because it's easier to have it topless. Which is the design problem in the first place.

When there is no space for the top, then it doesn't matter whether you have a top there or not. Replace this with the topped exit.

Yeah, you can find counterexamples where the thus-new-placed decoration would lurk under the terrain. Those are arcane corner cases, and easy to redesign anyway. These cases clearly don't weigh up against the extra piece clutter.

Quote
If you put together your exit like in the picture you are blind anyway! :8():

The designer has not dropped pieces at random, looked at the scramble, and finding the result good enough.

These mismatches come from designing the level with a perfectly-topped exit, and later moving the exit slightly. It's easy to forget the top. It's a mental blind spot anyway: The exit is in place, and the top is always on the exit, so we should not have to think about it.

Software design is all about preventing user errors, and nudging softly into the correct direction. If you absolutely want to override the common thing, you have to be explicit.

-- Simon

Offline IchoTolot

  • Global Moderator
  • Posts: 3618
    • View Profile
Simon, just look up 3 posts :-\


Why not simply (similar to Dullstars proposal):

Add a new object to each relevant tileset which is:  Exit + top half!



This way you have the single pieces for special tasks + the full package for a simple use!  There everyone should be happy with this + old stuff isn't affected at all :8():


Here, then you and I got both our wills. I got my seperated tiles for advanced flexibility and you got your easy to go one.


Software design is all about preventing user errors, and nudging softly into the correct direction. If you absolutely want to override the common thing, you have to be explicit.


My concern isn't the software design. It's purely the level design and the preservation of the content and possibilities.

Offline Simon

  • Administrator
  • Posts: 3907
    • View Profile
    • Lix
My entire post was a reply to your proposal of 2 exits. Now read it again.

-- Simon

Offline IchoTolot

  • Global Moderator
  • Posts: 3618
    • View Profile
Then I don't understand your point and problem really.

- The user can choose which one he needs.   The new combined one or a separeted piece in the old format.
- It is easy to see what each tile is.
- To have 2 tiles more in a tileset is not a big thing.
- If it's enough and easier to use the topless one in a scenario then simply use it.


These mismatches come from designing the level with a perfectly-topped exit, and later moving the exit slightly. It's easy to forget the top. It's a mental blind spot anyway: The exit is in place, and the top is always on the exit, so we should not have to think about it.

This is disarmed by the fact that you will have the combined one at your disposal. If you use the seperated top it's often in another place for decoration.

And I also have memories of you yelling about how beautiful some exits were designed in some bubble levels ;)



Offline Nepster

  • Posts: 1829
    • View Profile
If you put together your exit like in the picture you are blind anyway! :8():
Thanks for calling me blind ;P.
Btw. it is far more common mistake that the top is one or two pixels too low, because that is far less visible. I corrected this quite a few times while updating the old Lemmix levels.

Quote
Also sometimes just the lower part of the exit is placed as well! When it is placed in a rather narrow area or under a thin piece of terrain.
Please link to examples where one wants to place only the lower part. I see it far more often (e.g. in Colorful Arty's Cheese level) that a top is not placed because it would be completely hidden by terrain, but then the player goes and removes some terrain over the exit and now the topless exit looks extremely ugly.
The only level that I know of, where topless exits were useful, is Pieuw's "Utopia". And I am far from convinced that we should keep topless exits, just because of this one single level. (So it is even more useless than invisibility, though far less prone to abusement).

Add a new object to each relevant tileset which is:  Exit + top half!
No, no, no, don't clutter the object list any more by adding resp. keeping useless tiles. We want a fast way to select the desired piece, so we want to keep every list of terrain/object pieces as small as possible! Otherwise we only get annoyed by having to scroll though very rarely used tiles.


So my vote goes straight for: Remove the "topless exit", add "exit + top" and (to keep other people happy) keep the decoration piece as an extra piece, where this makes sense (e.g. not for the brick style).
In cases where the exit is already complete without the animated top (e.g. the snow style), I would just leave the objects as they are currently.

EDIT: Added special case for snow style.
« Last Edit: May 24, 2016, 05:18:59 PM by Nepster »

Offline IchoTolot

  • Global Moderator
  • Posts: 3618
    • View Profile
Apocalypse maintenant for example uses a topless exit as the top would hinder the sight of the area above. + I wouldn't even dare disturb the beauty of Pieuw's Utopia for this.

And please don't overreact that much over adding ONE object. The list is very short right now and that doesn't hurt it.






Offline Dullstar

  • Posts: 2094
    • View Profile
    • Leafwing Studios Website (EXTREMELY OUTDATED)
Since we're on the subject of exits used without the top, could you provide an example (screenshot preferred) of a level which doesn't use one? I do have one such level that I've made, but I'm almost certain it was an oversight on my part - I can say for certain that if I were to re-release the level, the top would be added to the exit.

Offline namida

  • Administrator
  • Posts: 12416
    • View Profile
    • NeoLemmix Website
Since we're on the subject of exits used without the top, could you provide an example (screenshot preferred) of a level which doesn't use one? I do have one such level that I've made, but I'm almost certain it was an oversight on my part - I can say for certain that if I were to re-release the level, the top would be added to the exit.

Pieuw's "Utopia", mentioned a few posts earlier. Which for the record, is both visually and gameplay-wise one of the best levels I've ever encountered.
My Lemmings 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)

Offline Simon

  • Administrator
  • Posts: 3907
    • View Profile
    • Lix
Editor hand-waves: Have only separate pieces, and make the editor align them for you. When you put an exit, the editor maintains flames above it, but without putting the top tile. Even though the flames aren't part of the topless exit, the editor displays flames above the exit, both in the picker window and in the level rendering. Likewise, the game shows the flames.

For the 1 in 500 times where existing culture calls for a topless exit, we uncheck a flag per exit tile. The editor presents us with awesome professional flags like fake and invisible. Spawn-deco fits perfectly in line.

Burden: The code needs an extra class, exit-with-spawnable-deco, that is different from closed-exit and regular-exit.

Burden 2: We keep support for topless exits, and offer it in the UI.

Pieuw has relied on a performance hack to make art. Hacks incur cost, regardless of beautiful results. Nothing is holy.

-- Simon
« Last Edit: May 25, 2016, 07:37:15 AM by Simon »

Offline Dullstar

  • Posts: 2094
    • View Profile
    • Leafwing Studios Website (EXTREMELY OUTDATED)
I had another random thought on how to do this, but it might be too complicated.

Add the ability to treat a group of objects as one object.  Exits would be by default treated as one object, and placed accordingly, but if one really wanted to, you could split them back up and delete the top.  This could also be used to easily move or duplicate large terrain pieces made of several smaller ones, without having to grab all of their component pieces every time.

Offline namida

  • Administrator
  • Posts: 12416
    • View Profile
    • NeoLemmix Website
My Lemmings 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)

Offline Simon

  • Administrator
  • Posts: 3907
    • View Profile
    • Lix
Aside from this deco-exit thing, no grouping of gadgets, please. What functionality would it enable that you don't get from ungrouped aligning? The deco-exit merge is different because these tiles should go together over 99 % of the time. This split in L1 was a misdesign.

Next idea: Hack mode. The editor allows only full exits, no invis, no fake, etc., when the editor is in regular non-hack mode. Hack mode is an editor-global option, you activate it for the odd level that rely on weird crap.

Reason: Icho gets to preserve history with 100 % accuracy. I get to keep the user interface simple, and can enjoy the occasional artful hack. Nepster gets to cull fake and invis from cluttering the non-hack-mode's tile flag window.

-- Simon

Offline Dullstar

  • Posts: 2094
    • View Profile
    • Leafwing Studios Website (EXTREMELY OUTDATED)
You already suggested that.

I promise it was a slightly different idea, but I don't think I explained it well enough to make that clear.  They were very closely related, however.

Offline IchoTolot

  • Global Moderator
  • Posts: 3618
    • View Profile
Aside from this deco-exit thing, no grouping of gadgets, please. What functionality would it enable that you don't get from ungrouped aligning? The deco-exit merge is different because these tiles should go together over 99 % of the time. This split in L1 was a misdesign.

Next idea: Hack mode. The editor allows only full exits, no invis, no fake, etc., when the editor is in regular non-hack mode. Hack mode is an editor-global option, you activate it for the odd level that rely on weird crap.

Reason: Icho gets to preserve history with 100 % accuracy. I get to keep the user interface simple, and can enjoy the occasional artful hack. Nepster gets to cull fake and invis from cluttering the non-hack-mode's tile flag window.

-- Simon

I don't wanna preserve everything 100%, but I like having the options to create what I want how I want in the editor and sacrifice some simplicity for it, even if it is not used in a regular base.
I would put timers, VSI and even OWW in the same category.
Like, I personally don't need invis, but I highly respect other levels that are useing it in a honorful way (like LP IV's Minesweeper). I can see a bit of use in fake for using trap parts as decoration and making them harmless (Padgoda St). And I think having the option to only use 1 of 2 parts of the exit leads to interesting designs (Utopia).
Hell, you can make an "easy mode" where these options are not displayed for newbies if that's the case and with a check in "advanced option" or sth you get access to them. I won't call it a hack as this implies negativity from the getgo.

I like to have my options and I thought by having just 1 extra object (the full exit) would have been a great compromise for both sides here, but apparently I just like "weird crap".


Offline Simon

  • Administrator
  • Posts: 3907
    • View Profile
    • Lix
Quote
Hell, you can make an "easy mode"
check in "advanced option" or sth you get access to them.
I won't call it a hack as this implies negativity from the getgo.

Good, then we're on to something.

This ties in well with your extra piece, because we can hide the clutter. Or auto-align two separate pieces. There are new details to think about now. Many of them hinge on ease of implementation.

"Easy" carries negative connotations as much as "hack" does. "Standard" and "advanced" sounds neutral. Good with me.

-- Simon

Offline Dullstar

  • Posts: 2094
    • View Profile
    • Leafwing Studios Website (EXTREMELY OUTDATED)
Random thought:
What if there was an eraser for objects like there is for terrain?  That way if you wanted to use just the top or the bottom of the exit, you'd just erase the part you don't want (set exit to fake if using only the top).

One issue this would raise is the ability to create invisible objects, which is in the majority of cases bad design (although I think there's already a tag for that in the editor, so...)

Any current levels like Utopia would probably have to be manually fixed, but there don't seem to be enough of them for this to be a problem.

Offline namida

  • Administrator
  • Posts: 12416
    • View Profile
    • NeoLemmix Website
Quote
One issue this would raise is the ability to create invisible objects, which is in the majority of cases bad design (although I think there's already a tag for that in the editor, so...)

Yes, invisible objects are already possible. Even if the option didn't exist, and no kind of "object eraser" existed either; there is still a very simple way to create invisible objects: Create a new object that has the desired trigger area, but a blank graphic. The reverse (graphic, with no trigger area) can be used for fake objects, too. This, combined with the existance of levels that do make good use of such features, are the reasons behind the ultimate decision to not cull those options.
My Lemmings 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)