Lemmings Forums

Lix => Lix Main => Topic started by: Proxima on June 27, 2016, 04:32:37 PM

Title: Miner stops on steel behind her
Post by: Proxima on June 27, 2016, 04:32:37 PM
Non-solving replay for Simple 39 showing a possible problem. The last miner assigned immediately stops because of steel above and behind her, which feels weird to me. Any thoughts?
Title: Re: Miner stops on steel behind her
Post by: Simon on June 27, 2016, 04:43:05 PM
I agree, this cancellation looks weird.

Early C++ Lix was more lenient here: The top half of the miner's very first stroke was immune against steel. I.e., steel pixels didn't cancel the miner, even though these pixels weren't destroyed either.

Last year, geoo merged the two half-strokes. I forgot what happened to the steel immunity of the first stroke's top half. Most likely, geoo has preserved the immunity in the top half. I should check the C++ source.

I know that the D miner has no steel immunity whatsoever. The basher has immunity in the top 2 hi-res pixel rows, so this concept is already in place. I'm open to re-introduce immunity.

-- Simon
Title: Re: Miner stops on steel behind her
Post by: Simon on June 27, 2016, 05:11:28 PM
Miner mask proposal (click to show/hide)

The miner mask in 0.6.x has no immunity pixels.

I'm considering the mask in the spoiler tag for 0.7.x. The immunity pixels have only an effect on the very first swing, even though they're part of every swing. Reason: Steel doesn't move. On subsequent swings, the immunity pixels were fully covered by non-immunity pixels in the previous swing.

C++ Lix didn't have full immunity in the top half of the first swing. The first swing was always carried out entirely, even if we hit steel. If we hit steel, we would cancel after the entire first swing instead of mid-stroke. According to my calculations, Proxima's replay should generate the same strange sight in C++ Lix.

-- Simon
Title: Re: Miner stops on steel behind her
Post by: namida on June 27, 2016, 05:17:56 PM
Quote
The immunity pixels have only an effect on the very first swing, even though they're part of every swing. Reason: Steel doesn't move. On subsequent swings, the immunity pixels were fully covered by non-immunity pixels in the previous swing.

But if the mask changes, or the exact movement changes, etc, this may no longer be true. Wouldn't it be safer to simply do the check on every swing?
Title: Re: Miner stops on steel behind her
Post by: Simon on June 27, 2016, 05:42:55 PM
Yeah, I worded it ambiguously. The immunity is in effect on every swing, i.e., the game ignores steel in the immunity-pixels during every swing. With "Have no effect in subsequent swings", I meant that barring special cases, there won't be steel within the immunity pixels on subsequent swings, yet we still grant immunity to steel there.

I'm not 100 % sure whether I want my own proposed behavior. It looks meaningful and covers Proxima's weird case.

-- Simon
Title: Re: Miner stops on steel behind her
Post by: Nepster on June 27, 2016, 08:01:44 PM
I am in favor of introducing even a bit more of steel immunity for miners. Something like the two outermost hi-res pixel layers of the upper half.

Contrary to the situation of bashers and diggers, miner tunnels are far harder to estimate and thus one might easily misplace miners a little bit. So being not too strict with steel checks means less frustration for players. A good test level for this is NepsterLix (http://www.lemmingsforums.net/index.php?topic=2792.0), rank 1, level 11 "Underground Labyrinth".

New Miner mask proposal (click to show/hide)
Title: Re: Miner stops on steel behind her
Post by: Simon on June 28, 2016, 12:29:03 PM
Nepster's proposal sounds good.

-- Simon