Walker skill cancels, then always turns?

Started by Simon, June 25, 2017, 05:21:17 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Simon

Hi,

I propose another physics change before 0.7 becomes stable. Edit 2017-07-17: I've rejected the proposal and will keep 0.6 walker physics.

0.6 walker: If target lix is working*, revert to walker. Otherwise, turn.
0.7 proposal: If target lix is working, revert to walker. Turn in every case.

*) Working activities are builder, platformer, basher, miner, digger, blocker, batter. Non-working activities are everything else that you can nonetheless assign walker: walker, runner, lander, ascender, shrugger, ...

Reasons:
  • Skill becomes state-free! No matter what lix you assign, as long as the assignment is legal, she will always turn and be a walker. Straightforward for the mind. This feels good.
  • Skill becomes simpler to explain and discover. I want to improve the skill icon: The walker shall face left and get a U-turn arrow pointing leftwards.
  • In singleplayer puzzles, turn-by-walker happens twice as often as cancel-by-walker. Source: I ran the replay database in a custom Lix build that counted the usages. Let's make the skill do what we often want.
  • In multiplayer, turn-by-walker is the main use by far. Let's make the skill always do what it often does.
  • The always-turning walker keeps all obvious multiplayer use cases of the 0.6 walker. For example, even with the 0.6 walker, you couldn't spam walker to cancel a bunch of builders -- you risked clicking on an already-cancelled lix, turning her. Instead, you would cancel a dense bunch of builders spamming basher or miner.
Drawbacks:
  • Can introduce backroutes in puzzles with precisely-trimmed skills. Under walker-always-turns, you get for 1 walker what cost 1 or 2 walkers before. You can't find these backroutes with the replay checker! Even though I deem such backroutes rare, you never know.
  • Breaks tradition with Lemmings 3. That's OK.
  • Introduces a difference to NeoLemmix. Acceptable but not so OK.
Replay breakage: We would have to re-prove about 15 lemforum levels, 6 NepsterLix levels, and 15 Rubix levels. These figures are measured against Lix 0.6 where we have perfect coverage, not against 0.7.6 that isn't fully covered yet.

List of levels that might break. Proxima has already looked over the lemforum levels. His opinion: Most of the unproven levels give plenty of walkers anyway.

I love the state-free walker. It simplifies an awkward if-else. I'd like every skill to do the same thing all the time! We need the walker for multiplayer, it feels good to have the walker there. But (only cancelling, never turning) feels weak, Clones had such a walker and it was boring. (Always turning, never cancelling) seems too strong in singleplayer: You could make a miner zig-zag by walker assignments. Even though (always cancel, always turn) is two things, it seems the least-hurting way out of this design thicket.

-- Simon

Nepster

I am not so sure how I feel about this change. It makes the walker quite a bit stronger, especially when assigned to blockers. If you place them at the edge of the level/in front of a trap/next to a deadly fall, you can free them and save them both just with one walker. This seems to be quite powerful to me.

Regarding the NepsterLems levels: All of them will still be possbile after this change, even though there are changes:
- No matter what I try...: This got at least one minor backroute. As it is one of those levels with tons of backroutes and the blocker-walker combination could be used at a few places here, I suspect that there might be new backroutes that are a lot worse that the one I saw.
- House of the Mad Trickster: This went through a lot of backroute fixes already and the blocker-walker combination looks incredibly useful at the edge of the level. I don't have any actual backroute yet, but am almost certain that one exists.
- Stepping Stones - Challenge: Here the solution became a bit harder, because one can no longer work on the stones in a linear fashion.
- Lots of small tasks - Challenge: This became quite a bit easier due to the blocker-walker combination.
- The Flight: While only a very small change is required, the solution now feels quite a bit more unnatural. But that level is a bad one anyway, so we probably shouldn't be concerned about it.

Given that I don't have a lot of levels with walkers outside the any-way-you-want levels in the first rank, the additional backroutes may not be quite so rare as Simon deems.

Simon

Thanks!

I too felt that blocker->walker is the most severe impact in singleplayer, more than (any other skill)->walker, but couldn't verify this hunch from looking through levels and replay verifier output. I found MerdeMerde, but that became less hassle, which was good. You fetched several nontrivial examples. I haven't solved any of those, but believe your assessments.

For a short while, I considered to lump (walker always turns) together with another striking proposal, (can't assign walker to blocker). (Can't assign walker to blocker) is natural because we'd breaking the L3 behavior anyway. Some newbs were surprised how the game allowed walker assignments to blockers.

I discarded (can't assign walker to blocker) because it would break several levels' ideas. Blockers and walkers are the most common target for walker assignments. But I'd happily re-consider (can't assign walker to blocker), along with re-considering 0.6 walkers.

I'll leave all this in the open for at least a week.

-- Simon

Nepster

I would rather have (walker cancels blocker and turns her around) than (can't assign walker to blocker). With the proposed change I would have to fix a few minor backroutes (and probably one or two levels with major ones), but with (can't assign walker to blocker) I would have to do some major redesigning for several levels.

Nepster

I looked a bit through the lemforum pack for possible backroutes. Note that I couldn't actually try any of these alteranative solutions, so no guarantees that they actually do exist.
List of levels, with comments that may spoil the solution

Exit stage right: Just reduce the number of floaters to 1 and we are fine.
Need a Boost? Now more complicated, because one can no longer simply cancel diggers. So instead of applying them in a linear order on the middle block, one has to go "first-fourth-second-third" now.
Segmentation Fault: Some of the solutions now get more difficult, because cancelled diggers may hop into the pit to the right instead of walking forwards.
To Destroy is to Construct: Now with an additional backroute. Something similar already works in the current version. With this change, there are simply two different ways to do this. See attachment for the currently possible version of this solution.
Trapeze of Weird Blue Blocks: Somewhat simpler due to blocker-walker combination.
Survival of the Craftiest: A lot easier, due to an additional platformer that the blocker-walker combination makes unnecessary.
3.1.1.1: My solution no longer works, because cancelled diggers would turn around.
Finale: Quite a bit easier, due to blocker-walker combination.
Path of Wickedness: Somewhat easier due to blocker-walker combination.

Nepster

I looked over the levels again, this time actually trying the backroutes by giving me additional walkers to simulate the new physics. Doing this I found no completely new backroute using the new mechanics, only some small simplifications or alternative (but equally hard) solutions. Instead I found three backroutes to my levels that work with both mechanics (sometimes somewhat simpler with the new one).
The upshot is, that the newly proposed walker mechanics are not as prone to introduce new backroutes as I thought at first.

Proxima

Comments on the levels from Nepster's list
Exit stage right: As Nepster says, solution still works but second floater is not needed.
Need a Boost?: My solution is completely different, and still works. I group the crowd in a pit on the bottom level, using one walker to stop the digger and another to stop a second digger to release them. With the change, the second released digger separates from the crowd, but this is easily fixed by using one of the spare walkers.
Segmentation Fault: My solution is unaffected. One walker is used to cancel a platformer (this lix dies anyway), one to cancel a digger (this lix would still exit).
To Destroy is to Construct: Backroute exists regardless of walker behaviour, and can be fixed with a terrain change.
Trapeze of Weird Blue Blocks: Becomes simpler because the freed blocker can exit without needing other skills. A pity, as this is an interesting part of the puzzle.
Survival of the Craftiest: My solution is unaffected. As this is an anything-goes level, I'm not concerned about alternative solutions.
3.1.1.1: My solution is unaffected. (I use jumpers to cancel diggers on the thin vertical strips.)
Finale: My solution is unaffected. Nepster said later his supposed backroute doesn't work.
Path of Wickedness: Same as above.

Comments on some lemforum levels from Simon's list
Seven Pillars of Lixdom: Solution is unaffected. The replay breaks because the freed blocker was assigned a skill later, but this could have been assigned to any other lix.
The Circular Ruins: My solution uses a walker to cancel a digger. However, there is a spare walker to turn her round again.

With that out of the way, time for general thoughts. I don't feel very strongly either way about this change. The point about making the skill state-free, and therefore easier to explain to new players, is a good one.

I've always liked the walker skill, because it has the different uses of turning a lix, or cancelling a skill (including blocker), and since you don't know in advance which will be required by a level, this makes for interesting resource-management decisions. This would still be the case after this change. There are some situations where the walker becomes more useful because cancelling a skill and making it turn is exactly what you want; there are some where it's less useful because you want the opposite. Either way, you can fix the problem by applying a second walker. After the change, where cancelling and continuing in the same direction is the more expensive of the two, you can alternatively cancel (anything other than a blocker) with a jumper or batter instead.

The old walker feels more natural to me, because I can see how it might have arisen in the design of Lemmings 3: supposing it was first created as a skill that cancels other skills and makes the lemming walk again, the designers asked "What if it's applied to a lemming who is already walking?" and came up with the current behaviour. Also, with the old behaviour, cancelling with a walker, jumper or batter are all consistent with each other. However, if you changed the icon as suggested and renamed it "turner", the behaviour of always cancelling and turning would feel natural too.

So if it came to a vote, I'd vote for keeping the old behaviour, but I don't feel strongly about it and think you should go ahead with the change if it's definitely what you prefer.

RubiX

 The pros and cons become interesting when you have a good think about different situations.   But I for one actually like the idea to change it!

Simon

Thanks for all the opinions!

I'm still 50:50 on this, no decision yet.

I don't even know whether I'm indecisive because of cultural moss or because of drawbacks in both designs. :lix-dead: If it's cultural moss, I should figure out what I want in 1-2 years, then implement that straight away or keep 0.6 walker for years. If both designs aren't optimal, but culling the skill is not viable, then what could ever be a 4th option...

-- Simon

ccexplore

I don't feel strongly either way, but out of curiosity, did anyone who played Lemmings 3 ever felt troubled or confused around learning that the walker only cancels workers but then also turns walkers?  I don't quite remember if/how exactly they teach you all that.  I can definitely see the appeal of the simpler behavior of always turning, just that I guess I don't know whether learning the current behavior is a particularly big problem to start with.  Maybe this could be another reason why it feels more difficult to make a decision on this.

Simon

#10
Walker assignments are annoying in L3 for several reasons.
  • Cancelled blockers usually walk ahead, except if they were balancing on one foot near the edge, then they'll turn in addition to getting cancelled. The blocker's casing is nowhere explained. The manual says that cancelled non-walkers walk ahead. To cancel and turn a blocker, the natural approach is to assign walker twice -- resulting in disaster.
  • L3 consists of blocks. Assignments wait until lem is centered on the next block. This creates a massive delay, maybe 0.4 seconds at worst, until you see what your assignment did.
  • Rarely, skill assignments get eaten entirely without feedback. I don't remember the exact conditions, I merely remember losing levels to it. The workaround is to mash LMB for every assignment. Works usually -- unless the skills violate idempotence, like the walker skill violates!
Mixing these issues creates a deadly knowledge gap: You assign walker, then you must wait for the result, then immediately fix wrong results.

Proxima has a plausible explanation on the L3 design. It's sad how the designers stopped here, and didn't ask the natural question: If it turns walkers, why shouldn't it turn everybody? Why do we need a special case for workers?

Assume L3 always turned. Would anybody then propose to special-case walker-assigned Lix workers and not turn them? This is the same argument as against variable spawn interval (VSI). Had it not been in L1, many more would consider VSI weird design in sequels and fangames.

I'm not happy with either design (keep-0.6-walker or the proposed walker-always-turns) for the idempotence violation. Clicking 1 time should have almost the same effect as clicking several times. I find that far more important than the proposed simplification. The Clones walker cancelled only, never turned, but it was boring. The natural urge is to remove the skill entirely from play, can't do that because multiplayer needs it and puzzle designers like it.

-- Simon

IchoTolot

I would not like such a change to be honest. I don't see a huge gain from the state-free argument and the simplicity. I would even rate it as negligible. Right now it's also simple: It turns a walker, or disrupts a currently executed skill.

"In singleplayer puzzles, turn-by-walker happens twice as often as cancel-by-walker." Yes, but then a simple cancel is much more difficult to achieve, as you don't always want the turning to happen --> blockers especially.

I also just have to say that this just feels wrong to me. It also adds more complexity between the engines again and I don't want to think different again when switching from NL to Lix.

"The natural urge is to remove the skill entirely from play, can't do that because multiplayer needs it and puzzle designers like it." --- Simon in a nutshell :XD:   
Even if Lix had only 1 skill, a culling discussion would follow ;)

Simon

Yeah, always-turns is merely a little simpler than the 0.6 walker, maybe not enough to warrant the replay breakage and difference to NL.

I like this sentiment that a function should not do X and Y when, occasionally, X alone is desirable. Abstraction inversion is bad.

-- Simon

mobius

While at first your suggested change seems more natural; the original way seems just as natural. It's a system that seems to work quite fine too and always felt logical to me, despite it seeming like it should feel wrong.

Seems like this argument/suggestion comes more from the coding aspect than game play aspect.
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: IchoTolot on July 13, 2017, 03:08:05 PM
"In singleplayer puzzles, turn-by-walker happens twice as often as cancel-by-walker." Yes, but then a simple cancel is much more difficult to achieve, as you don't always want the turning to happen --> blockers especially.
Good thinking, but I wonder whether anyone has counted the various occurances of
- walker skill cancels other skill and the player wants the lix to continue in the old direction.
- walker skill cancels other skill and it would have been more convenient if the worker lix had turned.
- walker skill cancels other skill and it doesn't matter at all whether the worker lix turns or not.