Author Topic: Walker skill cancels, then always turns?  (Read 815 times)

0 Members and 1 Guest are viewing this topic.

Online Simon

  • Administrator
  • Posts: 1864
    • View Profile
    • Lix
Walker skill cancels, then always turns?
« on: June 25, 2017, 05:21:17 am »
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
« Last Edit: July 17, 2017, 08:11:03 am by Simon »

Offline Nepster

  • Posts: 1291
    • View Profile
Re: Walker skill cancels, then always turns?
« Reply #1 on: June 25, 2017, 07:55:11 am »
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.

Online Simon

  • Administrator
  • Posts: 1864
    • View Profile
    • Lix
Re: Walker skill cancels, then always turns?
« Reply #2 on: June 25, 2017, 08:20:08 am »
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

Offline Nepster

  • Posts: 1291
    • View Profile
Re: Walker skill cancels, then always turns?
« Reply #3 on: June 25, 2017, 08:27:25 am »
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.

Offline Nepster

  • Posts: 1291
    • View Profile
Re: Walker skill cancels, then always turns?
« Reply #4 on: June 25, 2017, 09:49:03 am »
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.

Offline Nepster

  • Posts: 1291
    • View Profile
Re: Walker skill cancels, then always turns?
« Reply #5 on: June 27, 2017, 09:48:40 pm »
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.

Offline Proxima

  • Posts: 2940
    • View Profile
Re: Walker skill cancels, then always turns?
« Reply #6 on: June 28, 2017, 12:10:29 am »


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.

Offline RubiX

  • Posts: 388
  • Amiga <3 The memories
    • View Profile
Re: Walker skill cancels, then always turns?
« Reply #7 on: June 30, 2017, 03:09:16 pm »
 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!

Online Simon

  • Administrator
  • Posts: 1864
    • View Profile
    • Lix
Re: Walker skill cancels, then always turns?
« Reply #8 on: July 12, 2017, 01:38:34 am »
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

Offline ccexplore

  • Administrator
  • Posts: 4673
    • View Profile
Re: Walker skill cancels, then always turns?
« Reply #9 on: July 13, 2017, 07:30:07 am »
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.

Online Simon

  • Administrator
  • Posts: 1864
    • View Profile
    • Lix
Re: Walker skill cancels, then always turns?
« Reply #10 on: July 13, 2017, 11:59:17 am »
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
« Last Edit: July 13, 2017, 12:45:14 pm by Simon »

Offline IchoTolot

  • Posts: 1049
    • View Profile
Re: Walker skill cancels, then always turns?
« Reply #11 on: July 13, 2017, 03:08:05 pm »
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 ;)

Online Simon

  • Administrator
  • Posts: 1864
    • View Profile
    • Lix
Re: Walker skill cancels, then always turns?
« Reply #12 on: July 13, 2017, 03:25:25 pm »
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

Offline mobius

  • Posts: 1904
  • I am like the blue rose
    • View Profile
Re: Walker skill cancels, then always turns?
« Reply #13 on: July 13, 2017, 11:01:17 pm »
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.

Offline Nepster

  • Posts: 1291
    • View Profile
Re: Walker skill cancels, then always turns?
« Reply #14 on: July 14, 2017, 04:17:59 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.

Offline ccexplore

  • Administrator
  • Posts: 4673
    • View Profile
Re: Walker skill cancels, then always turns?
« Reply #15 on: July 15, 2017, 06:50:49 am »
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.

Well, I suppose you can explicitly change the single walker skill into separate "walk left now" and "walk right now" skills.  It would provide idempotence without completely removing the ability to turn (or mere cancel in other cases).  But somehow I suspect no one will find that proposal appealing. ;)  And cancel-only is boring, so perhaps in this case, better gameplay trumps principles?

Offline geoo

  • Administrator
  • Posts: 1246
    • View Profile
Re: Walker skill cancels, then always turns?
« Reply #16 on: July 16, 2017, 04:21:31 pm »
I think Simon asked for my opinion, so I'm writing a few comments below.

Initially I thought the proposed walker change would have huge backroute potential, but it doesn't seems like that after some consideration and the discussion above. Still, it's not something that can be automatically checked.

I only see a minor increase in conceptual simplicity with the change, I think the amount of time it takes to learn the skill is not going to differ much.

As for functionality, it's hard for me to judge which is more desirable. I can see a slight advantage of the new behaviour with builders and platformers (behaviour is consistent even during and after shrugging), before it was possible to turn a builder/platformer after shrugging, but it was very precise. My hunch is that if you cancel a builder/platformer, often you don't want it to walk off the (possibly deadly) ledge in puzzle mode. In multiplayer mode I believe I do use the current behaviour however to speed up the Lix once the bridge is long enough, though jumpers work there just as well. Applied to blockers I see the above argument that especially near a ledge, you'll want the blocker to turn when releasing. For all other skills it doesn't seem to make much of a difference, except for the consistency when they are about to transform back into walker: E.g. when a basher or miner is about to finish, currently you have to wait for it to transform into walker to turn it around, while with the proposed behaviour you could just assign the walker whenever.

So overall, I'm almost indifferent to the change. It seems like it has a slight functionality advantage, but comes at the cost of checking levels.

Online Simon

  • Administrator
  • Posts: 1864
    • View Profile
    • Lix
Re: Walker skill cancels, then always turns?
« Reply #17 on: July 17, 2017, 08:08:32 am »
I will keep the 0.6 walker.

Reason: The proposal doesn't simplify enough to warrant level breakage, untested backroutes, and difference to NL.

The proposal may be slightly better design -- had the proposal been in Lix since the beginning, I would prefer it over 0.6 physics and argue with game design -- but I'm not 100 % happy with either design. A good simplification would make the walker skill do only one thing all the time, it wouldn't do two things sometimes. I thought about this for a month, but haven't seen better solutions.

To cover levels for Lix 0.7, please use 0.7.7. Don't use 0.7.8, this has the proposed walker physics that I've rejected. Lix 0.7.9 will again have the 0.6 walker physics and will be good to cover.

-- Simon