Author Topic: [SUG] New skill - Batter/Flinger  (Read 7032 times)

0 Members and 1 Guest are viewing this topic.

Offline WillLem

  • Moderator
  • Posts: 3462
  • Unity isn't sameness, it's togetherness
    • View Profile
[SUG] New skill - Batter/Flinger
« on: July 10, 2023, 10:44:17 AM »
From this topic:

Quote from: Proxima
Lix's batter ... is a unique and really interesting movement skill because of the way it requires one lemming/lix to interact with others, and a whole crowd can be batted if they are tightly packed; it also allows blockers to move without removing terrain.

And, from this topic:

Quote from: jkapp76
Flame Thrower: I agree this is replaced by the grenader pretty well, but I would make this one very different.
I would recommend making the flame perform like the old ghost gimmick; the flame will turn around any lemming (or zombie) it hits.

Offline WillLem

  • Moderator
  • Posts: 3462
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #1 on: July 10, 2023, 10:49:52 AM »
The Grenader more or less eliminates the need for the Flamethrower's destructive properties, so maybe the Batter is a good choice here, achieving the effect of repelling Zombies and turning Lems (flung Zombies/Lems should face the other way, for sure).

Support for this idea? Thoughts? Suggestions?
« Last Edit: July 10, 2023, 11:43:35 AM by WillLem »

Offline Proxima

  • Posts: 4572
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #2 on: July 10, 2023, 12:18:31 PM »
The Batter is one possibility for skill inclusion that I really like, because it can be used for a variety of situations while the skill itself always does the same thing:

* Release a blocker
* Bat one lemming across a gap or up a stair (makes the one-use swimmer idea even more redundant)
* Bat multiple lemmings across a gap, providing another reason to need to compress the lemmings, rather than the traditional trap
* Bat the entire crowd across a gap -- this can often be a hidden linchpin that's hard to spot
* Eliminate a zombie
* Bat a disarmer ahead of the crowd so he reaches a trap first
* Bat a normal lemming ahead of a crowd of neutrals

Offline jkapp76

  • Posts: 387
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #3 on: July 10, 2023, 03:27:01 PM »
This skill sounds great!
...Jeremy Kapp

Offline Strato Incendus

  • The King of Shimmiers (crowned by Flopsy ;D )
  • Posts: 1755
  • #RIP Spearer/Grenader (2020 - 2021)
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #4 on: July 10, 2023, 05:56:07 PM »
I do agree I’ve always enjoyed the Batter in Lix, though its practical usage often seemed to be a hit-or-miss thing.
In a NeoLemmix-based environment, like SuperLemmix, though, skill shadows would probably make this skill a lot less fiddly.
My packs so far:
Lemmings World Tour (New & Old Formats), my music-themed flagship pack, 320 levels - Let's Played by Colorful Arty
Lemmings Open Air, my newest release and follow-up to World Tour, 120 levels
Paralems (Old Formats), a more flavour-driven one, 150 levels
Pit Lems (Old Formats), a more puzzly one, 100 levels - Let's Played by nin10doadict
Lemmicks, a pack for (very old) NeoLemmix 1.43 full of gimmicks, 170 levels

Offline Floyd Brannon

  • Posts: 41
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #5 on: July 10, 2023, 07:07:51 PM »
This skill is in my top 3. It seems versatile.

Offline WillLem

  • Moderator
  • Posts: 3462
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #6 on: July 10, 2023, 10:01:27 PM »
In a NeoLemmix-based environment, like SuperLemmix, though, skill shadows would probably make this skill a lot less fiddly.

I'm not sure if skill shadows will be possible for the Batter. It affects multiple lems, whilst skill shadows in every current case are either based on a single simulated lem or else literally "drawn" to the screen.

Drawing is no good, because lems can respond differently depending on proximity to the Batter, surrounding terrain that they might bounce off whilst in a "batted" state, etc.

Simulating, meanwhile, would be both prohibitively difficult and a guzzler of valuable rendering resources as more lems need to be simulated. Also, the simulation process is currently dependent entirely on knowing which lem to simulate, and is in every current case the lem that's currently under the cursor. How would we know which lem to simulate if a group of them are meanding around near a lem that's about to become a Batter?

This might be a skill which doesn't get a shadow, then. Would we still want it in that case? Personally, I'd say that all the reasons listed by Proxima are great reasons to have this skill, and the absence of a shadow for it shouldn't necessarily put us off the idea.

Thoughts?
« Last Edit: July 11, 2023, 04:53:17 PM by WillLem »

Offline jkapp76

  • Posts: 387
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #7 on: July 11, 2023, 02:04:26 AM »
That's alot more skill shadow info than I would have expected to include.
I think a skill shadow just to show the range of the bat would be plenty.

I still like it. And I like how we've filtered out the l2 skill weak links here too.
...Jeremy Kapp

Offline WillLem

  • Moderator
  • Posts: 3462
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #8 on: July 11, 2023, 04:41:48 PM »
I think a skill shadow just to show the range of the bat would be plenty.

That would work fine for an open, flat area. But as soon as there are other terrain obstacles to consider, a "drawn" skill shadow fails. This is where simulation is needed - and, we're then back to the problem of which lem to simulate.

EDIT: In fairness, if the game is intuitive enough at that point to know that "this lem is about to be batted" (which, to some extent, it would have to know in order to make the non-active lems respond and enter the "batted" state), then it may be possible to say "simulate this lemming's path for the duration of them being a "batted" lem".
« Last Edit: July 14, 2023, 06:46:55 PM by WillLem »

Offline Strato Incendus

  • The King of Shimmiers (crowned by Flopsy ;D )
  • Posts: 1755
  • #RIP Spearer/Grenader (2020 - 2021)
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #9 on: August 02, 2023, 12:17:13 PM »
Just reflecting on the potential usefulness of this skill - it would probably depend on what types of interactions would be possible with the flung lemming.
This will also include interactions that aren't possible in Lix, since it doesn't have many of the NeoLemmix / SuperLemmix skills.



- cloning a Batter would fling two lemmings in opposite directions, which might be an interesting way of separating two worker lemmings from a crowd, if they then have to fulfil different tasks

- I think a flung lemming should behave like a Jumper (except the arc would be much larger, probably closer to that of a Spearer and Grenader). Therefore, the flung lemming should be able to hold on to vertical walls (if he is a Climber and/or Slider, with Climber taking precedent over Slider, as usual); and he should be able to transition into a Shimmier if close enough to a ceiling.

- It might also be possible to use a Batter to fling a lemming into a Laserer tunnel in a ceiling, or higher up in a wall. This depends on the trajectory of the flinging arc, of course, as well as on where the Laserer is placed. By the same token, Batters could fling lemmings on top of Spearer spears sticking in a wall, or into wall niches created by Grenaders / Bombers.

- Should Swimmers be able to use the Batter while in water?
Might be another way to get a fellow Swimmer out of a water pond, if the walls are too high.
Or, perhaps most interestingly: What if a Swimmer could use a Batter to save a non-Swimmer from drowning, by flinging the Drowner out of the water before the animation is completed? (Much like Swimmers can still be assigned to Drowners.)

- Disarmers might make for great candidates to-be-flung. When there's a bunch of traps in the level, areas where you don't want the crowd to go before these traps have been disarmed.
Therefore, have the crowd fling the Disarmer to the different places he needs to go. :D

- Batters would also be a new and unique way of cancelling any given skill.
Want a Builder or Platformer to stop? Fling the building lemming away from his staircase! Same for a destructive skill? A Basher, Miner, Fencer, or Digger would get flung against the wall of his own shaft.

- Crucially, I think Batters should be able to free Blockers, since they remove the ground under the Blocker's feet,
without being a destructive skill. This can be a useful tool for a level designer, when you want a Blocker to be freed, without simply providing an overpowered Walker, or another destructive skill which could be used to create backroutes elsewhere. The Batter, much like freeing a Blocker with e.g. a Miner, would still require another lemming to get (back) to the Blocker and free him, rather than the Walker simply allowing the Blocker to free himself.

- Regarding Zombies, I would assume Batters merely toss them away (to prevent them from touching and infecting the Batter / the crowd), rather than outright killing them, as the Spearer and Grenader do?

- Regarding Neutrals, Batters could be used to get Neutrals out of areas that they can't get out of on their own. Sure, you'd still have to get a worker lemming into the same area as the Neutrals - and that worker lemming could also build them out, use destructive skills to carve a tunnel for them, etc. But due to the power and versatility of the Builder, level designers often don't want to provide too many of those. And then, if the Neutrals are stuck in a steel pit or similar, a Batter might be the only way to get them moving.



The more I think about this, the more I like the idea of the Batter! :thumbsup: In my view, the above examples (a non-exhaustive list) show that the Batter would be far more versatile and useful in SuperLemmix than it already is in Lix!
My packs so far:
Lemmings World Tour (New & Old Formats), my music-themed flagship pack, 320 levels - Let's Played by Colorful Arty
Lemmings Open Air, my newest release and follow-up to World Tour, 120 levels
Paralems (Old Formats), a more flavour-driven one, 150 levels
Pit Lems (Old Formats), a more puzzly one, 100 levels - Let's Played by nin10doadict
Lemmicks, a pack for (very old) NeoLemmix 1.43 full of gimmicks, 170 levels

Offline WillLem

  • Moderator
  • Posts: 3462
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #10 on: August 02, 2023, 02:27:06 PM »
- I think a flung lemming should behave like a Jumper (except the arc would be much larger, probably closer to that of a Spearer and Grenader). Therefore, the flung lemming should be able to hold on to vertical walls (if he is a Climber and/or Slider, with Climber taking precedent over Slider, as usual); and he should be able to transition into a Shimmier if close enough to a ceiling.

Yes, exactly. As I imagine in, the "flung" lemming will be called a "Baller" (as in, Bat and Ball!), and will roll up into a ball, like this:



We then want them to remain like this, bouncing around until they meet something they can interact with, like a Climbable/Shimmyable wall or a platform they can walk on. I don't think there's any need for a "dazed lem" or "gradually standing up" animation - they can immediately begin performing the relevant action.

The difficulty will be in creating a truly "reactive" arc - for example, if a Baller hits a ceiling, they should bounce off the ceiling, but transitioning straight to faller (like a Jumper) doesn't feel quite right. Instead, the resulting "away from ceiling" arc should be equal and opposite to the "towards ceiling" arc. Walls can currently do this by simply turning the Jumper/Baller, but we don't have a an equivalent action for ceilings (yet).

The easiest thing might be to have the Baller continue infinitely along a straight line until they contact something - this way, it's always angles rather than a parabolic arc. It'd look pretty wild, though, and probably not be as predictable as an arc. Just an idea.

- Should Swimmers be able to use the Batter while in water? Might be another way to get a fellow Swimmer out of a water pond, if the walls are too high.

Yes, good idea. And another reason to try again with the Water Blocker.

- Crucially, I think Batters should be able to free Blockers, since they remove the ground under the Blocker's feet

Yes, definitely.

- Regarding Zombies, I would assume Batters merely toss them away (to prevent them from touching and infecting the Batter / the crowd), rather than outright killing them, as the Spearer and Grenader do?

This is a tough one. We could potentially make it another way to kill zombies - in a "90's Peter Jackson movie" kind of way, it's reasonable to think that a zombie lemming might explode if hit with a bat, since they're meant to be partially decomposed. Then again, keeping the zombies in the level but moving them elsewhere could make for better gameplay.

Open to suggestions on this one.
« Last Edit: March 09, 2024, 05:05:40 PM by WillLem »

Offline Strato Incendus

  • The King of Shimmiers (crowned by Flopsy ;D )
  • Posts: 1755
  • #RIP Spearer/Grenader (2020 - 2021)
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #11 on: August 02, 2023, 08:15:55 PM »
Ah, good idea! :D The "Baller" (looks pretty much like the L2 Roller skill) is actually also what the Jumper does in Lix when combined with the Runner.

So even though the Runner is currently no longer being considered for SuperLemmix, if it ever comes up again, perhaps the Baller state could be useful there, too.
Especially when you would already need to create a reactive arc for the Batter skill anyway, then that might reduce the extra effort that the Runner would otherwise require.

Don't worry, I'm not trying to get too far ahead of ourselves here. :evil: For the same reasons described above, it might well turn out that the Batter will be similarly difficult to implement as the Runner / Hoverboarder, and that therefore, it might not make it into SuperLemmix in the end. Just because Lix has both Batter and Runner, that doesn't mean it will be easy to code them into SuperLemmix, too.

That said, the interactions listed in my previous post seem to suggest that the Batter would be a much more interactive and versatile skill than the Runner, which mainly just "makes lemmings faster" and "increases jumps". So hopefully, that will make the Batter more worthy of inclusion, even if it does come with some similar challenges as the Runner.
My packs so far:
Lemmings World Tour (New & Old Formats), my music-themed flagship pack, 320 levels - Let's Played by Colorful Arty
Lemmings Open Air, my newest release and follow-up to World Tour, 120 levels
Paralems (Old Formats), a more flavour-driven one, 150 levels
Pit Lems (Old Formats), a more puzzly one, 100 levels - Let's Played by nin10doadict
Lemmicks, a pack for (very old) NeoLemmix 1.43 full of gimmicks, 170 levels

Offline WillLem

  • Moderator
  • Posts: 3462
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #12 on: August 02, 2023, 10:27:07 PM »
Speaking of the Lix Batter - Simon, can you offer any insight into how this works?

The way I'm thinking of approach it is to create a Batter map (similar to Blocker/Zombie map). Then, the trigger area appears during the frames where the bat is being swung; any lems encountering this trigger react by becoming Ballers.

Perhaps there's a better way, though? As I understand it, physics map can be a bit more taxing on resources...?

That said, the interactions listed in my previous post seem to suggest that the Batter would be a much more interactive and versatile skill than the Runner ... So hopefully, that will make the Batter more worthy of inclusion, even if it does come with some similar challenges as the Runner.

Yes, I imagine so. The Batter is very unique and versatile, it will definitely be worth the effort.

Offline Simon

  • Administrator
  • Posts: 3900
    • View Profile
    • Lix
Re: [SUG] New skill - Batter/Flinger
« Reply #13 on: August 02, 2023, 11:02:15 PM »
Lix Batter
how this works?

batter.d of the current 0.10.12.

Once during the batter animation, the batter will loop through all other lix during his own physics update (perform) and makes all decisions.

Quote
physics map can be a bit more taxing on resources...?

Batting will happen rarely: only during a single physics update per batter assignment. Unlike steel or blocker fields, it's not a persistent effect. It makes sense to centralize the effort with the batter, then nobody else has to bother continuously about batting.

Even if you'd be able to magically query a physics map for free: Should every other lemming pay some runtime to decide something (based on the result of the free query) during every physics update? Well, even in Lix, I spend this runtime. Batters only write new fling speeds into the other lix, and every lix still checks herself every physics update for new fling speeds. It's a roundabout complication mainly to make multiplayer fair.

Lix doesn't write blocker fields into the physics map either, and instead has each blocker loop over all other lix during the blocker's physics update. Here I'm not sure what's better. I haven't measured performance with hundreds of blockers yet. At least blockers are usually few, thus it has never been a practical problem.

Physics maps have inherent performance problems, it's right that you're concerned. They're large chunks of RAM that you have to prod all across the board. Modern CPUs are fast at computation, but RAM is comparatively slow to access and CPU caches are limited. CPUs like computations with readily available numbers, not waiting on a piece of uncached RAM.

-- Simon
« Last Edit: August 02, 2023, 11:47:54 PM by Simon »

Offline WillLem

  • Moderator
  • Posts: 3462
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #14 on: August 04, 2023, 04:03:08 AM »
batter.d of the current 0.10.12.

Haha "flingEverybody" :crylaugh:

Once during the batter animation, the batter will loop through all other lix during his own physics update (perform) and makes all decisions.

OK, so it seems that it's as I thought with regards to drawing a map for the Batter - not worth it when it's only a momentary action. I need, then, some way of detecting nearby lems in relation to the batter. The other way around seems like it would be easier, but then all lems would always be checking for Batters, which we agree is not the most economical way to do it.



Meanwhile, we have a suggestion from Floyd Brannon for a ranged Batter. This would be some form of projectile which has the same effect that a Batter has, but from a distance:

Lemmings 2 has the bazooka which can actually hit other lemmings and send them flying. And killing zombies would be a small leap for that. This would just perform the batter operation from a distance and kill zombies.

Would people prefer this to a regular Batter? Or, is there enough reason to have both?

Offline Strato Incendus

  • The King of Shimmiers (crowned by Flopsy ;D )
  • Posts: 1755
  • #RIP Spearer/Grenader (2020 - 2021)
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #15 on: August 04, 2023, 08:09:23 AM »
EDIT: Moved from Projectiles should kill Zombies & Pop Balloons



I once jokingly suggested a Gunner skill in the joke-skill-ideas thread. That skill could only kill Zombies and nothing else. The point of that being a joke suggestion was to illustrate that skills this narrow usually aren’t worthwhile. Just consider the fact that we’ve already dropped the Runner again, which still would have had more puzzle utility than a dedicated Zombie-killer skill.

This is also why I’ve joked about SuperLemmix turning into Worms. Because if the focus of levels or even entire packs becomes just to kill the Zombies to get a talisman, with the challenge of getting the crowd to an exit merely being an afterthought, we’ll fundamentally change what the game is about at its heart. And a skill like the Gunner would pretty much require such a massive shift in order to be worthy of inclusion.

Regarding the Bazooker, I’m a little more open — though it’s ironically perhaps THE most Worms-like skill, alongside the Grenader (even more so than the Batter, actually). I can see some utility in having the knockback effect at a distance. Hence, in contrast to the Gunner, the skill could also be useful on non-Zombie levels. However, I don’t think we can assess that before we’ve tried out the Batter.

The crucial point is how easy it is to control the knockback effect — which becomes even harder in Classic Mode. A Bazooker would require projection shadows after impact, so that the player can anticipate where the explosion would knock the lemmings getting hit by it. Therefore, the skill shadow for the Bazooker would have to consist of both the arc for the projectile itself AND of what happens after impact.

Meanwhile, for the Batter, that skill shadow would just be the arc of the skill itself, since it directly flings the lemmings around, as if the lemming itself were the projectile (thinking in Spearer / Grenader logic here).

Finally, the fact that it’s hard to control a knockback effect is probably also a reason why, even though we have two kinds of Bombers in SuperLemmix (timed and untimed), WillLem hasn’t introduced the L2 difference between Bomber and Exploder / the Lix difference between Knockback Bomber and Exploder yet. ;) A Knockback Bomber would require the same projection shadows as the Bazooker on impact, but at least it wouldn’t additionally require a skill shadow for the projectile arc — because there is no projectile with the Knockback Bomber.
« Last Edit: August 04, 2023, 01:52:25 PM by WillLem »
My packs so far:
Lemmings World Tour (New & Old Formats), my music-themed flagship pack, 320 levels - Let's Played by Colorful Arty
Lemmings Open Air, my newest release and follow-up to World Tour, 120 levels
Paralems (Old Formats), a more flavour-driven one, 150 levels
Pit Lems (Old Formats), a more puzzly one, 100 levels - Let's Played by nin10doadict
Lemmicks, a pack for (very old) NeoLemmix 1.43 full of gimmicks, 170 levels

Offline Strato Incendus

  • The King of Shimmiers (crowned by Flopsy ;D )
  • Posts: 1755
  • #RIP Spearer/Grenader (2020 - 2021)
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #16 on: August 04, 2023, 11:03:44 AM »
Quote
Would people prefer this to a regular Batter? Or, is there enough reason to have both?

I would prefer the Batter, since the Bazooker is essentially no different from a Grenader - especially given that the Grenader can also kill Zombies now.
The only difference between Bazooker and Grenader is that between Exploder and Knockback Bomber in Lix.
With the primary difference between Grenader and Bomber, in turn, being the Grenader's range and the fact that it's not lethal (then again, the Bomber in Lemmings 2 isn't lethal either).

Also, I think the Batter should be able to hit Fallers.
:D Would be a cool way of saving them, by flinging them out of harms way. Because being flung would reset a lemming's fall height, wouldn't it?
My packs so far:
Lemmings World Tour (New & Old Formats), my music-themed flagship pack, 320 levels - Let's Played by Colorful Arty
Lemmings Open Air, my newest release and follow-up to World Tour, 120 levels
Paralems (Old Formats), a more flavour-driven one, 150 levels
Pit Lems (Old Formats), a more puzzly one, 100 levels - Let's Played by nin10doadict
Lemmicks, a pack for (very old) NeoLemmix 1.43 full of gimmicks, 170 levels

Offline Floyd Brannon

  • Posts: 41
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #17 on: August 04, 2023, 01:49:21 PM »
I agree the bazooker and grenader are too similar. But what I have in mind is a skill that fires in a straight line. The l2 bazooker actually fires in an arc like the grenader. I figured if bazooker was used it would be changed to a straight shot. Similar to how the laserer was direction changed.

I would not recommend losing the spearer for this straight shooter. I suppose a straight shooter would also have similarities with the basher, but at a distance to open paths and such. The knockback would make it more interesting and unique. I wouldn't replace the spearer, but possibly this could replace the batter. I imagine you could fire at close range to have the same batter effect. But by firing at a distance you would gain the bat ability at a distance. And have destructive damage to terrain which batter wouldn't do. And kill a zombie too. And save a fallers by shooting them, which does seem very fun.

The gun suggestion would never do. But fulfilling batter, gun, and zombie killer as a bazooker is more possible.

Offline WillLem

  • Moderator
  • Posts: 3462
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #18 on: August 04, 2023, 02:36:11 PM »
I can see some utility in having the knockback effect at a distance. Hence, in contrast to the Gunner, the skill could also be useful on non-Zombie levels. However, I don’t think we can assess that before we’ve tried out the Batter.

The crux of both ideas is how to fling lemmings - this isn't something the codebase currently supports, so it will have to be written in completely from scratch.

We currently don't have a way for lemmings to detect each other (which is most likely what we'd need for a Batter to work) - they can only detect solid pixels, trigger areas (which are drawn to a specific physics map per-trigger-type - this includes Blockers), and as of 2.5, airborne projectiles.

This last one currently offers the most possibility in terms of a skill that lemmings can react to rather than perform themselves - a ranged batter (in whatever form it might take) would actually be an easier starting point, currently.

EDIT: With that said, the "Bat" itself could simply be another projectile type, albeit one which doesn't travel along an arc; the more I think about it, that's probably how I'll approach it (i.e. add the Bat to the projectile list). So the question still remains of which we'd prefer - ranged or non-ranged.

A Bazooker would require projection shadows after impact, so that the player can anticipate where the explosion would knock the lemmings getting hit by it. Therefore, the skill shadow for the Bazooker would have to consist of both the arc for the projectile itself AND of what happens after impact.

It's almost certain that "flung" lemmings will not be getting skill shadows, we need to let go of that idea.

From a programming perspective, it would require the ability to simulate multiple lemmings simultaneously, drastically eating into rendering and processing resources. Not only that, but we would need to know which lemmings to simulate; for all other skills with shadows, this is determined by hovering the mouse over the lemming - the renderer then simulates what would happen if that lemming were to go ahead and perform the currently-selected skill at the point of assignment. For flung lems to have a skill shadow, we'd need to know which lemmings would react to the (ranged) Batter at the point of contact (which in both cases would be some time after the assignment itself) and then simulate their path, in order to generate a shadow.

Even if my programming skills could stretch to this, I'd be against the idea of projecting the path of flung lemmings anyway; making it this predictable would encourage the scenario of (ranged) Batters being performed in a very specific spot whilst the other lemmings are also in very specific spots - not much fun for either level designers or players, particularly if we make it so that lems can be flung in different directions.

Far better, then, to just know that the flung lemmings will land in a general area rather than a specific spot; this is the only way to keep the skill playable, IMHO.

The gun suggestion would never do. But fulfilling batter, gun, and zombie killer as a bazooker is more possible.

I agree this does seem like the better way to go with it, i.e. still works at close range, but also works at a distance; best of both worlds. Or, more to have to manage/be aware of from programming, designer, and player perspective.

Thoughts on this? Suggestions? I need a bit more input on this before making a decision, probably about 50/50 on it currently.
« Last Edit: February 09, 2024, 02:28:41 PM by WillLem »

Offline Strato Incendus

  • The King of Shimmiers (crowned by Flopsy ;D )
  • Posts: 1755
  • #RIP Spearer/Grenader (2020 - 2021)
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #19 on: August 04, 2023, 03:58:02 PM »
The thing about the Bazooker is that, if it’s an exploding projectile that also has a knockback effect, it will also affect the lemming using the Bazooka himself — which is precisely what happens in L2, and that’s what I always found makes this skill particularly annoying to use. Because rather than merely flinging other lemmings around, the Bazooker always literally backfires in the player’s face.

If we could make it so that the Bazooker does not fling himself around when firing at close range, he could indeed be used just like a more versatile Batter. (Much like Grenaders at close range act as non-lethal Bombers). In fact, given how hard it might be to time the Batter without a skill shadow, having the Bazooker, with a skill shadow for the projectile (just like for Spearers and Grenaders) might actually make it easier to e.g. apply them to Fallers.

In order to act like a Batter, the Bazooker would have to explode when merely coming in contact with lemmings, irrespective of whether it comes into contact with terrain or not. Of course, the same is necessary in order for the Bazooker to act as a Zombie killer skill. For example, if you want to shoot Zombie Floaters with it (is this also what the Grenader does as of version 2.5? Meaning, does the grenade explode when hitting a Zombie in mid-air?).

There is also the question how much damage the Bazooker would do to the ground underneath, if shot at a perfectly horizontal angle, but low enough above ground. In such instances, it might make a dent or crater into the ground, too.

With these things in mind, I could see myself supporting the Bazooker over the Batter as well. Especially if it’s also easier to code into current SuperLemmix than the Batter. :D
My packs so far:
Lemmings World Tour (New & Old Formats), my music-themed flagship pack, 320 levels - Let's Played by Colorful Arty
Lemmings Open Air, my newest release and follow-up to World Tour, 120 levels
Paralems (Old Formats), a more flavour-driven one, 150 levels
Pit Lems (Old Formats), a more puzzly one, 100 levels - Let's Played by nin10doadict
Lemmicks, a pack for (very old) NeoLemmix 1.43 full of gimmicks, 170 levels

Offline jkapp76

  • Posts: 387
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #20 on: August 04, 2023, 04:50:41 PM »
My thoughts...

I like how several people can bring shape to an idea like this. The gun was a funny idea that I couldn't imagine being accepted, however I'm ready to coin the term "Gunslinger" if this comes back around.

The batter seems useful in some scenarios. But, this straight firing bazooka idea seems pretty tight. I like everything I'm reading about this. He can bash through a wall at a distance. Save a falling lemming. Kill a zombie. Bat lemmings over walls, stop blockers, maybe even pop balloons. He should be wearing sungasses too.

I don't think the L2 bazooker flings himself if he aim at something far away. I don't think he should ever bat himself no matter how close he is to the detonation.

The bazooker is starting to sound more useful than the batter.
« Last Edit: August 04, 2023, 05:36:37 PM by jkapp76 »
...Jeremy Kapp

Offline WillLem

  • Moderator
  • Posts: 3462
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #21 on: August 04, 2023, 05:49:56 PM »
is this also what the Grenader does as of version 2.5? Meaning, does the grenade explode when hitting a Zombie in mid-air?

Yes, that's correct. It still needs further testing to ensure 100% reliability; I had to release a hotfix which relaxes the projectile check slightly, increasing the chances of the checks returning true and making something happen.

If we could make it so that the Bazooker does not fling himself around when firing at close range, he could indeed be used just like a more versatile Batter
---
There is also the question how much damage the Bazooker would do to the ground underneath
The gun was a funny idea that I couldn't imagine being accepted, however I'm ready to coin the term "Gunslinger" if this comes back around.
---
this straight firing bazooka idea seems pretty tight. I like everything I'm reading about this. He can bash through a wall at a distance. Save a falling lemming. Kill a zombie. Bat lemmings over walls, stop blockers, maybe even pop balloons. He should be wearing sungasses too.
---
I don't think he should ever bat himself no matter how close he is to the detonation.

My thoughts here are that the Grenader already fulfils most of this; if we add to it the ability to fling lemmings upon detonation, we've basically got an as-proposed ranged Batter minus the horizontal trajectory.

I stated elsewhere that having a straight horizontal trajectory for a ranged skill isn't necessarily a good thing - it means it will only really be useful on a flat plane. Besides, level layout can and should always take skill movement into account. So, do we need the horizontal movement? If the answer is "not enough to change the Spearer and Grenader's arc to horizontal", then the answer is... "not enough".

The Batter still has a reason to exist, though, since it doesn't destroy surrounding terrain and doesn't backfire at close range (yes, we can make it so that the thrower lem isn't affected, but... would this really make sense, visually and conceptually?). It keeps its usefulness as a "move other lems without doing anything else" skill. But, do we still want it if the Grenader can already be made to do everything that we're proposing a ranged Batter should do?

Maybe we don't want the Grenader to fling lems, and keep that action to the Batter. If so, then maybe we could make it a lem that fires some sort of "soft" projectile (like a nerf dart or yo-yo or big boxing glove, something like that), enough to move lems around like a Batter but not so much that it results in destruction of surrounding terrain - again, we can leave that to the Grenader.

Thoughts?
« Last Edit: February 09, 2024, 02:32:35 PM by WillLem »

Offline Proxima

  • Posts: 4572
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #22 on: August 04, 2023, 06:20:06 PM »
I think you're overthinking things a bit. Not all ideas are good, and even good ones may just end up not fitting in.

The Batter as-is and the Grenader as-is are good skills. The question should be "are they improved or worsened by these changes?", not "is this a good place to include the idea of a ranged flinger?" If that leaves us without a ranged flinger then that's okay; if you have a hard limit of 30 skills and already have 25 then you can't fit in everything that gets proposed.

Offline jkapp76

  • Posts: 387
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #23 on: August 04, 2023, 07:15:48 PM »
If we repurpose the grenader a bit, we could modify the grenade arc so that it begins horizontal, then continues into the same original arc. This should allow the grenade to easily work as a batter without tossing over their heads, but still work about the same as a grenade?

Who knows, maybe a flying cookie could achieve such a lift.

(forgive the terrible artwork here)
« Last Edit: August 04, 2023, 07:27:56 PM by jkapp76 »
...Jeremy Kapp

Offline Strato Incendus

  • The King of Shimmiers (crowned by Flopsy ;D )
  • Posts: 1755
  • #RIP Spearer/Grenader (2020 - 2021)
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #24 on: August 04, 2023, 08:44:28 PM »
I strongly advocate against any changes to the Grenader. :evil:

As WillLem said, strictly horizontal arcs aren't that great. If another skill is added, while the Grenader stays the same, then it's a different story. But if the Grenader's arc is flattened, it becomes much weaker, in my opinion.

Similarly, adding knockback to the Grenader would also make it worse, in my view,
simply because you could no longer throw a grenade into a crowd (say, for example, to free the Blocker holding them back at the end): Now you'd always have to worry about the grenade flinging random lemmings from the crowd elsewhere, possibly to their deaths.

In fact, this is precisely what often happens in L2: The Tribes,
with skills like the Knockback Bomber, Bazooker, Mortar etc., and is part of what, in my view, makes L2: The Tribes such a frustrating experience.

So, once again, I stand by my principle: I'd rather see no flinger skill added to SuperLemmix at all than to see changes to the existing skill of the Grenader, merely in an attempt to somehow fit the Batter's function into an already existing skill.

As you can see, this time my argument isn't even "existing content", but much more generally, "overall annoyance caused by knockbacks".

Knockbacks should never be a byproduct of a skill that you would often rather use for something else. If we do decide we want any kind of flinger skill, that should be the skill's main purpose.

This is a completely new mechanic, as far as NeoLemmix / SuperLemmix is concerned. Which is another reason why it shouldn't be tagged on to something that already exists in the engine.

The beauty of the Batter - or a dedicated Knockback Bomber, or the Bazooker we're currently contemplating - is that they would only or at least mainly be used to fling lemmings around. Rather than wanting the skill for something else, with the knockback often backfiring in the player's face.
My packs so far:
Lemmings World Tour (New & Old Formats), my music-themed flagship pack, 320 levels - Let's Played by Colorful Arty
Lemmings Open Air, my newest release and follow-up to World Tour, 120 levels
Paralems (Old Formats), a more flavour-driven one, 150 levels
Pit Lems (Old Formats), a more puzzly one, 100 levels - Let's Played by nin10doadict
Lemmicks, a pack for (very old) NeoLemmix 1.43 full of gimmicks, 170 levels

Offline WillLem

  • Moderator
  • Posts: 3462
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #25 on: August 04, 2023, 09:43:49 PM »
I think you're overthinking things a bit

I'm glad you've replied to this because we do need a bit of balance, but this has to be one of the least helpful comments it's possible to make in the middle of a focused discussion. The concept of "overthinking" is absurd: you're either thinking about it, or you aren't. If you are, then that process can go on for a short time or a long time before a decision is made.

I would say "overthinking" only really applies if the thought process is still continuing after a decision has been reached. At that point, yes, it's not desirable to do any more thinking. Since we haven't yet reached a decision, then thinking needs to happen, in whatever quantity individual people within the discussion feel is appropriate.

As you can probably tell, I don't like being told I'm overthinking things ;P I do mostly agree with your viewpoint, though - i.e. does the idea really need to be pushed further, or is it perfectly fine as it is? This is what we're trying to answer.
 
Not all ideas are good, and even good ones may just end up not fitting in.

Agreed, hence the discussion ;P

The Batter as-is and the Grenader as-is are good skills.

Again, agreed. I'd personally be happy to implement the Batter in its originally proposed form, but people seem to think a ranged Batter might be a better idea. Rather than create a separate topic or introduce another possible skill to the list, it seems better to introduce the idea into this discussion.

If we repurpose the grenader a bit, we could modify the grenade arc so that it begins horizontal, then continues into the same original arc

Strongly disagree here. The idea isn't bad, and it would definitely allow the skill a bit more versatility, but it would also make no real sense and is counter to what we expect from a classic lemmings skill: one action, one direction.

I strongly advocate against any changes to the Grenader ... if the Grenader's arc is flattened, it becomes much weaker, in my opinion.

Agreed, I don't really think we should change the Spearer or Grenader.

Similarly, adding knockback to the Grenader would also make it worse
---
Knockbacks should never be a byproduct of a skill that you would often rather use for something else

Again, agreed, the idea of adding "knockback/flinging" to any of the detonation-based destruction skills isn't an idea I like at all, tbh. Moreover, this is also the reason why I wouldn't want to give the Batter (or a ranged variant thereof) any terrain-destruction ability; it just feels too messy of an idea.

If we do decide we want any kind of flinger skill, that should be the skill's main purpose.
---
The beauty of the Batter - or a dedicated Knockback Bomber, or the Bazooker we're currently contemplating - is that they would only or at least mainly be used to fling lemmings around

The "mainly" here is what's de-railing the current proposal a bit: we need to be 100% clear on what we want the skill to do. If fling lemmings*, then that should be all it does - no destruction crater**.

The question, then, remains: do we want this skill (i.e. lemming flinger) to be ranged or not? I'd honestly be happy with either. Let's agree to focus the discussion back onto this particular question, and rule out any proposals of any skill that both flings lemmings and destroys terrain.

*It could still kill Zombies - this can be seen as an equivalent action to flinging a regular lemming.

**Spears and Grenades being able to kill zombies and pop balloons is an exception to this, and has been made because it doesn't add too much complexity or unexpected behaviour. It's a clear action with a clear result, which can be judged just by looking. For the reasons that Strato mentioned regarding Bazookas & Flingbombers in L2, combining terrain destruction and lem flinging is one of those "steps too far" that L2 took; let's not go down that route.

Offline Simon

  • Administrator
  • Posts: 3900
    • View Profile
    • Lix
Re: [SUG] New skill - Batter/Flinger
« Reply #26 on: August 04, 2023, 11:21:02 PM »
Ranged batting reminds me of the L3 hadouken. The hadouken flies faster than walkers walk, kills enemies on contact, ignores lemmings (you'd change this), vanishes on terrain contact, and never changes terrain.

-- Simon

Offline jkapp76

  • Posts: 387
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #27 on: August 05, 2023, 12:35:50 AM »
I'd like to hear more discussion about a ranged batter.
It seems more interesting to me. So many sound good.
« Last Edit: August 05, 2023, 03:13:33 AM by jkapp76 »
...Jeremy Kapp

Offline Strato Incendus

  • The King of Shimmiers (crowned by Flopsy ;D )
  • Posts: 1755
  • #RIP Spearer/Grenader (2020 - 2021)
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #28 on: August 05, 2023, 08:46:28 AM »
What do you mean by “ranged Batter”? What we’re currently discussing the Bazooker could look like? Or something entirely different? ;)

If the range works in a perfectly horizontal trajectory, the only upside to a non-ranged Batter (who also hits his target from a horizontal angle) would be that it works over a longer distance on flat terrain. Meaning, if the current platform is particularly long, you could launch a Bazooka from one end of the platform to bat a lemming from the other end of the platform across a gap.

Conversely, if the terrain the Batter is standing on is an upwards slope, there basically wouldn’t be a difference to the non-ranged Batter, because the projectile couldn’t fly far to begin with. And if you’re launching the Bazooka on a downward slope, it might fly right over the to-be-batted lemming’s head.

These are the limitations of a horizontal projectile arc.

If, in turn, the Bazooka follows the same trajectory as the Spearer and Grenader, then there would be no difference between the Bazooka and Grenader, aside from the Bazooka flinging lemmings around. In other words, as said before, the Bazooka is to the Grenader what the Knockback Bomber is to the Bomber / Exploder.

If we instead decide that the flinger skill should not destroy terrain (for the reasons WillLem has explained), then the Bazooka would not destroy terrain, which would feel pretty weird to me. :lem-mindblown:

With the Batter, meanwhile, it’s more obvious why it wouldn’t destroy terrain (well, unless somebody confuses the Batter for the L2 Club Basher. :D Which, coincidentally, could be used as the sprite for the Batter on the skill panel?).
My packs so far:
Lemmings World Tour (New & Old Formats), my music-themed flagship pack, 320 levels - Let's Played by Colorful Arty
Lemmings Open Air, my newest release and follow-up to World Tour, 120 levels
Paralems (Old Formats), a more flavour-driven one, 150 levels
Pit Lems (Old Formats), a more puzzly one, 100 levels - Let's Played by nin10doadict
Lemmicks, a pack for (very old) NeoLemmix 1.43 full of gimmicks, 170 levels

Offline jkapp76

  • Posts: 387
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #29 on: August 05, 2023, 06:21:05 PM »
Yeah, by ranged batter I mean the bazooker, or anything similar that is brought up here.

I do like the horizontal long-range batter skill of the bazooker... but I wanted to bring just one more up here. I started thinking about this last night when I saw Floyd's first post in the (projectiles pop balloons) thread. He threw out the name Boomeranger. I doubt he had all this in mind, but as said in the above post there are a few disadvantages of the bazooker being strictly horizontal. So, what if we considered a boomeranger that completely ignores all terrain. It just flies in a horizontal line over everything, then curves around to cover a bit more ground and flies off the screen?

This would hit lemmings only and fling them. It would cause no damage to terrain. It would work just like a batter up close. It would hit any lemming in a straight line. Then turn around and fly away. It could also use the current thrower animation too.

If we insist we want terrain damage the bazooker might be better.

Maybe this is a terrible idea, I'm not sure. But I wanted to dwell on the boomerang skill for a minute here.

« Last Edit: August 05, 2023, 06:26:16 PM by jkapp76 »
...Jeremy Kapp

Offline Strato Incendus

  • The King of Shimmiers (crowned by Flopsy ;D )
  • Posts: 1755
  • #RIP Spearer/Grenader (2020 - 2021)
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #30 on: August 06, 2023, 01:16:12 PM »
Ah, I recognise my Lemmings World Tour level “In the army now” :D (which is in itself a NeoLemmix remake of the L3D level “This is the army”).

So the Boomerang, in this case, would fling the lemming back over that wall?
My packs so far:
Lemmings World Tour (New & Old Formats), my music-themed flagship pack, 320 levels - Let's Played by Colorful Arty
Lemmings Open Air, my newest release and follow-up to World Tour, 120 levels
Paralems (Old Formats), a more flavour-driven one, 150 levels
Pit Lems (Old Formats), a more puzzly one, 100 levels - Let's Played by nin10doadict
Lemmicks, a pack for (very old) NeoLemmix 1.43 full of gimmicks, 170 levels

Offline jkapp76

  • Posts: 387
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #31 on: August 06, 2023, 04:04:54 PM »

So the Boomerang, in this case, would fling the lemming back over that wall?

I drew the pink line to indicate the travel arc of the boomerang. To show how the boomerang could move over, or through terrain by basically ignoring terrain. If there was a lemming near that green brick wall he wouldn't be thrown far enough the clear the wall.
A boomerang would be bigger than the average ammo round or grenade, so it could hit a target easier. And after it travels horizontally through its course it turns upward to capture a bit more ground and sails up and off the screen.

This is just my quick idea of how a long-range non-destructive flinger could work. The most debateable part of this idea is how I describe it as passing through terrain by ignoring terrain. It would be passing over or in front of it visually. No destruction at all. only hits lems\zombies.

I like the bazooker idea too. And I think the bazooker should leave a crater. And like Lemmings 2 I think the location of the crater should determine the nearby lemmings that are flung. I like the original batter idea too.
« Last Edit: August 06, 2023, 04:35:47 PM by jkapp76 »
...Jeremy Kapp

Offline jkapp76

  • Posts: 387
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #32 on: August 06, 2023, 07:18:46 PM »
Here are all the frames for the Bazooka sprite.

If we fire the bazooka strictly horizontally we may not need frames 11-18 as they aim upward.

Any lemmings close to the detonation crator are affected and flung. I couldn't get the lemming firing the bazooka to be flung except once when i fired into the ceiling direcly above him.

The bazooka misses lemmings and hits terrain. Which would make it good for hitting zombies and balloons.
« Last Edit: August 06, 2023, 09:00:01 PM by jkapp76 »
...Jeremy Kapp

Offline Simon

  • Administrator
  • Posts: 3900
    • View Profile
    • Lix
Re: [SUG] New skill - Batter/Flinger
« Reply #33 on: August 06, 2023, 07:49:03 PM »
What do you mean by “ranged Batter”? What we’re currently discussing the Bazooker could look like? If the range works in a perfectly horizontal trajectory

Right, the inspiring L3 hadouken is a non-instant projectile that travels straight horizontally. It crosses gaps, but vanishes when it touches an uphill slope.

Flung lemmings are already chaotic. Such a purely horizontally-flying projectile is easy to predict, limiting the overall chaos.

The origin of the Lix batter was that I wanted another way to remove enemy blockers. Before the batter, you could remove ground (impossibe on steel) or invest in a timed fling-exploder (costs a lix, costs 5 seconds, can backfire). The Lix batter is good at batting blockers, and that was the primary job. The ballistic arc of the batted lix was secondary in the original design.

You're not constrained by any such need to remove blockers only. Ranged batting is a loose idea, you have a lot of leeway and can be creative. E.g., maybe Pinball (with its near-straight ball trajectories) is a better inspiration than Lix batting (with the medium-length ballistic arc).

-- Simon

Offline Floyd Brannon

  • Posts: 41
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #34 on: August 14, 2023, 11:01:44 PM »
I think the Ballers look good but only if they don't roll too far. It would seem odd to me that a bazooka caused several lemmings to all roll around.

I'd probably prefer more of a jolted toss. but a roll could be good if its not too rolly. My opinion.

Offline WillLem

  • Moderator
  • Posts: 3462
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #35 on: August 14, 2023, 11:54:22 PM »
I think the Ballers look good but only if they don't roll too far. It would seem odd to me that a bazooka caused several lemmings to all roll around.

The example shown is just the sprite. The arc they take upon being hit is dealt with separately.

What's most likely is that Ballers will take an exaggerated Jumper arc, bouncing whenever they hit something. But, this hasn't been fully decided yet.

Offline WillLem

  • Moderator
  • Posts: 3462
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #36 on: April 04, 2024, 09:16:45 PM »
Some decisions on the Batter:

:lemming: The Batter will not be a ranged skill, and instead will function like the Lix Batter, only affecting lems in the immediate vicinity.

:lemming: The "bat" will be another projectile type, like spear or grenade; we already have a way for lemmings to detect the presence of airborne projectiles, and this works nicely; makes sense to re-use this same logic for the Batter. The obvious difference is that the bat will not be thrown, but instead will take effect during a particular frame of the Batter's animation.

:lemming: During the Batter's "hit" frame (when the bat is at full extension in the animation), any lems that are in contact with the Bat's collision area will become Ballers - the exact physics of these lems has yet to be decided upon, but current instincts are that it should be a much less complex response than the Lix Batter*.

*Having thought about this again recently, and having re-read Proxima's list of reasons for supporting this skill, I think the Baller's movement should closely resemble (if not exactly be) that of a Jumper; a sprite-swap might be all that's needed, and then we can simply re-use Jumper physics - this would keep the skill action relatively predictable and would cover all of the benefits mentioned by Proxima, as well as drastically reducing the potential workload.

Offline Proxima

  • Posts: 4572
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #37 on: April 04, 2024, 09:34:39 PM »
I would recommend giving the batted lemming a higher and wider arc than the Jumper. Then ledges that are out of reach for a Jumper but in reach of a Batter can present an interesting problem, because you have to have (at least) two lemmings close together for one to bat the other.

Offline WillLem

  • Moderator
  • Posts: 3462
  • Unity isn't sameness, it's togetherness
    • View Profile
Re: [SUG] New skill - Batter/Flinger
« Reply #38 on: April 05, 2024, 11:25:44 AM »
I would recommend giving the batted lemming a higher and wider arc than the Jumper.

When working on the Hoverboarder skill, I tried modifying the jumper arc for Hoverboarders and (while partly successful) discovered that it’s a lot of extra work for very little gain.

Jumper code is extensive throughout the project and it has a lot of edge cases that would all need to be duplicated for any other "move through the air" actions that aren’t in a straight line and which require complex position checks (note: there is still a Jumper bug in both NL and SLX that neither I nor namida have yet found a fix for!)

I’m not completely ruling out a larger arc, but let’s see how it goes with the much, much, much easier method of re-using what’s already there first; in practice, it might be plenty good enough. The challenge you describe would still be possible to create, even in a level providing both Jumpers and Batters.
« Last Edit: April 05, 2024, 10:23:18 PM by WillLem »