Add L2 skills to NeoLemmix? [DISCUSSION]

Started by mobius, May 06, 2017, 02:19:25 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

mobius

So I've argued in the past that I don't want new skills or would rather focus on other matters of the game. But now after seeing/playing L2 a little bit I think I changed my mind.

I welcome any new skill ideas that come and have my own suggestions to offer; (with the stipulation that I hope we keep the max-8-skills-per level. I really like this set-up and think having more than 8 is too much).

jumper and runner If any new skills are added any time soon I'd like these best of all as priority. Lix has both these and I think they have already been demonstrated to be used to great effect. Geoo commented that they decided not to adopt L2's runner jumping forward a little bit off of edges because it was annoying. I'd like more explanation on that. At first glance I like L2's behavior.

I suggest the idea that runners do EVERYTHING faster; including bash, build etc. Essentially a runner becomes a lemming with the speed toggle on all the time. [except falling/floating for "physical or realistic" reasons]. In Lix running jumpers go farther; I like this.

shimmier (ceiling climber) - I kind of like how this is a non-permanant skill in L2; but arguments could be made both ways; being more like the climber skill, so that the lemming always shimmies when encountering a ceiling, or just single use as in L2. If it is single use; I think the whole "jumping" animation [which happens regardless of if there is a ceiling there or not] should not be adopted as in L2 which allows for problems*

sand pourer/glue pourer/ filler - after learning more about these in L2 I really like the idea of them. I'd like to think how we could tweak these to be even more interesting. At first I thought having more than one "pourer" skill was redundant but they all have different uses which can be interesting in different ways.

lazar blaster
Haven't experimented with this skill much yet in L2 but it sounds interesting.

magno-boots
I like the idea of this being a permanent skill which allows the lemming to walk on any surface and never fall.

*allowing you to use this skill for other things which it arguably shouldn't intended for, which most of which becomes redundant.


everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


Ryemanni

Jumper was almost essential in L2 and made some great puzzles possible. I also grew to like the pourers alot. Fencer was another good one, so I'm glad it's in NeoLemmix.

If more skills were to be added, I support the maximum of 8 skills per level.

Nepster

Jumper:
We discussed this already in the thread leading to the fencer skill. The result was (IIRC): Would be nice to have, but would need lots of additional code and will very likely result in tons of glitches.

Runner:
I always got the impression that the runner wasn't really useful in single-player in Lix, but was mainly added for multi-player maps. In L2 the runner is useful, because many of the other skills behave differently when assigned to a runner, but I don't think the current NeoLemmix skills allow for such modifications. So I kind of suspect that the runner will turn out like the disarmer: Useful in principal, but rarely used in practice.

Shimmier:
Yes, I agree that the jumping mechanics make this skill far too strong. But we need some way to get the lemming to the ceiling, especially as we cannot assign the shimmier while a climber is dangling from the ceiling. So perhaps the shimmier should start by jumping vertically? But what if there is another very thin platform say 6 pixels above the ground? Shimmy along this platform, or hit the "head" (or rather the stomach), or jump onto this platform if no ceiling is found?

Pourer skills:
If we add such a skill, I would limit it to one pourer skill and not multiple of them. Unfortunately all of them have some problems game-mechnics wise. The main one is that they pour a few pixels in front of the lemming's position leading to the big question: What do if there is already terrain there? In L2 they don't pour anything in that situation, which is incredibly annoying. But I don't see a better solution. Furthermore there are some skill-specific issues:
Sand-pourer: This skill almost automatically covers the lemming's position with terrain. As lemmings placed within terrain create lots of weird effects, creating such a situation should be avoided or at least made expensive.
Glue-pourer: While very powerful, the exact mechanics are not easy to understand, especially when it comes to slopes: On a 30° slope the glue runs down without sticking anywhere. On a 45° slope it runs down for about 8 pixels and then sticks. I still don't know why exactly it does that? If it runs down big steps (like with vertical walls of 8 pixels or so) it never glues, as far as I can tell. At ledges the behavior of a single pixel of glue depends on whether the pixel below it is air, usual terrain or another glue-pixel that just got solid. Not to mention that when running along the glue is twice as fast as a lemming, but somehow slows down when sticking. So determining the exact result in advance will probably be very, very hard.
Filler: Apart from easily covering the lemming's position, this skill has the problem that it cannot be used in a lot of different situations. The other pourers offer a lot more flexibility.
Finally all of these pourer-skills need a huge amount of new code, because we currently don't have anything resembling a single non-solid pixels that moves around and turns solid at some point.

Laser Blaster:
It sounds fun in principal, but neither the original L2 nor kieranmiller's levels use them in really interesting ways. I never had any problems determining the position of the laser blaster and such levels almost always follow the rule: Get worker lemming below crowd to release them with the laser blaster. Moreover the smaller maximal fall distance in NeoLemmix (compared to L2) make this skill much less useful.

Magno Boots:
They violate one main principle: As long as a lemming is standing on the ground, one can assign skills to it. In fact I think in L2 one cannot assign any skills to a non-horizontal magno booter. So we probably should allow assigning builder, platformers, bashers, miners, ... to magno booters of any orientation. This could be a lot of fun, but unfortunately means a lot of work to code, too. And if I say a lot, I mean it, because basically all terrain checks have to be completely rewritten to be orientation-independant.

IchoTolot

From all those skills I think the vertical jumping Shimmier after Nerpster's proposal would add the most.

Magno Boots are very versitile, but can mostly replace shimmiers even. In fact I would call them a more powerful climber/rockclimber/shimmier combination that you have to cancel though. So they make the 2 skills more redundant.

Pourer
physics can be nuts and would make the game way more complicated to understand, especially as we tend to abuse every last bit out of the possible physics for solutions.

Laster Blaster: I side with Nepster here. Cool to use, but I think that the skill will be quite limited.

As for Jmper/Runner, I would simply repeat Nepsters sentences here as well.
J: "Would be nice to have, but would need lots of additional code and will very likely result in tons of glitches."
R: Too few uses in singleplayer and not as many skill changing combination as in L2.


mobius

what I was thinking with the shimmier was that if you click on a lemming to shimmy but no ceiling is there; nothing happens at all; he only jumps when a appropriate ceiling is present. This could also solve the issue of terrain in the middle of the lemming. Jumping up onto said terrain is interesting as well however.

I didn't even realize the can of worms with the magno boots. If we did that; it'd be essentially the same as adding the alternate gravity feature.

I know Lix has had some issues with the jumper but I don't recall it being particularly more problematic than any other skill.
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


Nepster

Quote from: möbius on May 07, 2017, 01:19:36 PM
what I was thinking with the shimmier was that if you click on a lemming to shimmy but no ceiling is there; nothing happens at all; he only jumps when a appropriate ceiling is present.
This contradicts the expectations of players: For all non-permanent skills (with the exception of miners/diggers on steel) the lemming tries at least one cycle of the respective skill: Airbashing, laying one brick, ... This at least shows that the skill assignment was successful. So the player would except the lemming to at least try to reach a ceiling. And even the player themself profits from such tries, because they see how close they are to reaching the ceiling. Otherwise they don't know if the ceiling is 8 pixels too high up, or just one single pixel.

Quote from: möbius on May 07, 2017, 01:19:36 PM
I know Lix has had some issues with the jumper but I don't recall it being particularly more problematic than any other skill.
It is true that we can see how Lix solved the issues and adapt the solutions. But with jumpers we automatically need (at least to some degree) tumbler mechanics. And I remember there to be quite a few glitches regarding tumblers getting stuck in terrain, and similar issues.

namida

QuoteBut with jumpers we automatically need (at least to some degree) tumbler mechanics.

While perhaps a bit weird until one gets used to the behaviour, could they not simply become a faller (/ floater / glider, if appropriate) after the jump arc is complete?
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)

mobius

Out of all of the proposed skills I think I like shimmier the best, not sure that it will be most useful though. Jumper is the most useful I think but I understand why it's difficult to introduce.

Shimmier:
Quote from: Nepster on May 07, 2017, 05:33:25 PM
Quote from: möbius on May 07, 2017, 01:19:36 PM
what I was thinking with the shimmier was that if you click on a lemming to shimmy but no ceiling is there; nothing happens at all; he only jumps when a appropriate ceiling is present.
This contradicts the expectations of players: For all non-permanent skills (with the exception of miners/diggers on steel) the lemming tries at least one cycle of the respective skill: Airbashing, laying one brick, ... This at least shows that the skill assignment was successful. So the player would except the lemming to at least try to reach a ceiling. And even the player themself profits from such tries, because they see how close they are to reaching the ceiling. Otherwise they don't know if the ceiling is 8 pixels too high up, or just one single pixel.

First of all; your first argument isn't true at all; plenty of skills have situations where you click on the lemming and nothing happens; assigning platformer on a flat ground not near ledge (Which I still don't care for btw) or mining/digging on steel. :P

But I have a better solution anyway;
An animation of the lemming simply reaching his arms up briefly (without jumping or moving up at all). This happens if there is no terrain (8 pixels or whatever) for him to shimmy to.

I don't have a good answer for terrain in between the lemming (below 8 pixels). All possibilities seem to have pros and cons. I'll think about it more.


Jumper
I know you discussed this with Simon a lot. I don't know what was said but I have a few points/arguments: (which are all purely theoretical)

I don't see a strict need for introducing "tumbler" mechanics.
-The jumper has an animation; when it ends the lemming simply falls as normal. Yes; it may not look as realistic as in Lix; but it's easier to implement and easier for the player to make determinations/projections on the lemming's path too (I'm assuming). (It can get very tricky in Lix (in certain situations) imo).
-If the lemming jumps into a wall; it can either do one of two things I'm thinking:
(assuming the lemming is NOT a climber—if it is; it will climb the wall)
1) ricochet back; the animation, mirrored.
2) the lemming stops and falls immediately.

All of these suggestions limit the power/usefulness of the skill somewhat. But maybe that's a good thing? I felt like it's a little overpowered in Lix. At least; several times when I designed levels I found them backrouted with jumpers (among other things). Of course this could merely be because I'm too unfamiliar with the skill.


pourer skills:
(this is quite harder than it seems at first. I have no final thoughts here at all, just musings)

Since we are encouraging each skill to be diverse (you guys made the platformer not gain any height to be more different from builders). I'm thinking of ways of doing the same here.
At first I thought I leaned toward the filler. The gluer as you said has very weird rules and is perhaps overpowered; it can essentially do what the platformer does in hyper mode. The sand pourer seems best for gaining height; what the builder can already do well. Kieran's level really putting these to use was interesting but also looked very tedious. But to settle on the filler seems also boring and not very helpful. I'm having a difficult time determining a 'favorite' pourer skill. They all have different positive and negative attributes. I think some kind of hybrid is the best answer.

proposal
-material is poured in front of lemming firstly in such a way that the lemming will not get stuck in terrain. Even if we went with a sand pourer like mound that is formed its apex should be away from the lemming [not directly under the pouring]; even if this looks a little unrealistic.
-once the lemming beings pouring; the material falls, when it first touches ground it runs away from the lemming; it continues running until it hits a wall; touches a pixel; at that moment it becomes solid (terrain) thus future running material hits it becomes solid.

In this example if a pourer (facing right) is used on a flat surface with a wall to the right; the lemming pours and simply a thin 1 pixel tall layer of material will be poured and set on the ground to the lemming's right. If there is no wall; the material will run off and be lost. This example also means pouring can be used to gain height but only very little at a time, kind of like Lix's platform. The glue mechanic is totally lost.

Finally all of these pourer-skills need a huge amount of new code, because we currently don't have anything resembling a single non-solid pixels that moves around and turns solid at some point.

I have a possible solutions:
1) during the animation the pixels are ignored/regarded as decoration; they aren't interacted with at all. They only become solid, instantaneously, when the animation is finished. This would lead to problems. As each "portion" becomes solid? This will depend on how the above is decided. Say if the filler is filling up a small hole; it could harden in layers. Any part that is moving/animating is ignored until it stops.




another skill that I sort of liked from L2;
attractor
Its function is very similar to the blocker, but with some important differences.
-you can assign other skills to an attracting lemming to cancel it.
-similar to a blocker you can use it to merely stall a lemming but have the added side effect of affecting other lemmings in the area.
-if this was introduced; a shadow for the effected area should be made.

I only really mention it because from a coding standpoint I think it'd be easy (compared to these other suggestions) to create. You don't even really need "dancing" animations for the other lemmings; they could just walk in place or something.

I'm not really crazy about adding this or any of these to the game right now; just want to discuss them :)
everything by me: https://www.lemmingsforums.net/index.php?topic=5982.msg96035#msg96035

"Not knowing how near the truth is, we seek it far away."
-Hakuin Ekaku

"I have seen a heap of trouble in my life, and most of it has never come to pass" - Mark Twain


Colorful Arty

This thread intrigues me; I'll definitely be keeping an eye on this one... :-\

I will say; if lemmings can walk on walls and ceilings, laser blasters will be much more versatile. Also, would laser blasters destroy x amount of terrain before stopping, or would it last x amount of time? In Lemmings 2, it lasted a set amount of time, but I think it might be better if they destroyed one layer of terrain (however thick it might be) before the lemmings stops using it.
My Youtube channel where I let's play games with family-friendly commentary:
https://www.youtube.com/channel/UCiRPZ5j87ft_clSRLFCESQA

My Twitch channel: https://www.twitch.tv/colorfularty

My levelpack: SubLems
For New formats NeoLemmix: https://www.lemmingsforums.net/index.php?topic=4942.0
For Old formats NeoLemmix: http://www.lemmingsforums.net/index.php?topic=2787.0
For SuperLemmini: http://www.lemmingsforums.net/index.php?topic=2704.0

My levelpack: ArtLems
For New formats NeoLemmix: https://www.lemmingsforums.net/index.php?topic=4583.0

ccexplore

Attractors, if naively implemented, will totally clump all affected lemmings into one precise single spot, which is probably too strong an effect.  Lemmings 2 seems to get around this somewhat by introducing a sort of pseudo-randomness (maybe it's not actually that random but I can't see the pattern) so that lemmings may walk some variable number of pixels before finally succumbing.  I'm definitely not a fan of having to deal with such unpredictability in game mechanics.

ccexplore

Didn't realize until just now that this thread had been around for a while.  Anyway, pretty much echoing what everyone else has come around to, it does sound like shimmier might have the best balance of usefulness and ease of implementation.  The jumper without tumbling mechanics feels a little strange for sure but if people can get use to it, I guess it's also something to consider.

kieranmillar

Quote from: Colorful Arty on September 07, 2017, 03:07:18 AM
In Lemmings 2, it lasted a set amount of time
Nope, it's actually 100 pixels, which is the fall height in L2, except it starts a few pixels above the ground so if a lemming drops from right at the very top of the hole it will splat.

Nepster

Shimmier:
At the moment I lean towards always jumping, even if no ceiling is present. Perhaps we could use the same terrain checks as for climbers to detect problematic terrain in stomach-height?
And although I said in my first post, that we can't transition from climber to shimmier, there are actually ways to implement this now: All assignments are remembered for about half a second, if they cannot be assigned immediately to the lemming. This would be true for a shimmier-assignment to a climber as well. So whenever a climber hits the ceiling, they could check whether a shimmier assignment is remembered and if so, transition to a shimmier along the ceiling.

Another issue that we have to discuss is: What slopes can a shimmer handle? It would be nice if a shimmier could move along the ceiling of a miner tunnel. But the ceiling there is far less regular than the bottom, so a simple rule like "may not move two pixels up or down within moving two pixels forward" would prevent that.

Jumper:
To turn around at a wall and ricochet back is very easy to implement, so I would prefer that. This is actually pretty useful in my opinion.

Pourer skills:
Yes, your suggestion would fix several of the issues I mentioned. But I worry, that this pourer skill would be pretty similar to the filler and therefore be rather useless compared to the L2 glue-pourer or sand-pourer.

Attractor:
If "easy to implement" would be the goal, then no new skills would ever get added. Or perhaps only stuff like namida's farter. ;P
And I agree with ccexplore: On the one hand the clumping effect is very powerful, but on the other hand we already have a lot of ways to contain the crowd, so giving another option might not be the best way to encourage creating completely new puzzles.

ccexplore

I feel like the L2 shimmier may actually be able to handle up to 45-degree slopes (I know for a fact it can handle some amount of sloping, but not sure if as much as 45-degree), I'll have to go check sometime over the weekend.  That may sound a bit extreme (though perhaps it's fair game as long as we set expectations upfront eg. via an appropriate tutorial level) but might be enough to handle the miner tunnel?

kieranmillar

It's not 45 degree slopes, it's 22.5 degrees, or 2 horizontal pixels for every one vertical. But how it works seems to be based around the animation where it checks exactly where his hands touch (which I think touch a spot every 4 pixels)  and I think succeeds if the hand collides with land on particular frames. This has a couple of consequences:

  • Less animation frames play when shimmying down slope, and more play shimmying up slope, so traversing these parts is much faster/slower respectively.
  • The ceiling can be not perfectly smooth as long as it is a regular 4 pixel pattern at a 22.5 degrees slope (e.g the miner tunnel ceiling)
  • If the ceiling isn't a perfectly smooth slope the shimmy can fail almost seemingly at random if the set of pixels the shimmied is touching happens to touch the wrong ones. This happened in an early version of my Uphill Obstacle Course level for the Sports tribe where the triangle terrain and parallelogram terrain left a 2-pixel wide 45 degree slope where they joined. The Medieval wooden ceiling slopes have the same issue but fortunately one of the 4 grid squares that makes up that slope is just 1 pixel in the right place, so copying that grid square and putting it where two of the slopes intersect makes it smooth again.