When the LtL notation (with either "M0" or "M1" specified) is combined with weighted neighbourhood ("NW..."), there are some inconsistencies between Golly and LifeViewer:
- in Golly 4.3, it seems like the "M..." part is ignored, and the meaning of each numeric survival condition is determined solely by the "NW..." part.
In other words, the weight of the middle cell specified in the "NW..." part overrides the choice of either "M0" or "M1".
- In LifeViewer build 1201, the "M0,NW" cases seem to be interpreted differently (see examples below).
Examples / test cases:
"M0": all three examples define Conway's Life in Golly 4.3; however, the "M0,NW" examples work differently in LifeViewer.
Code:
Select all
x = 3, y = 3, rule = R1,C0,M0,S2..3,B3..3,NM
b2o$2o$bo!
Code:
Select all
x = 3, y = 3, rule = R1,C0,M0,S2..3,B3..3,NW111101111
b2o$2o$bo!
Code:
Select all
x = 3, y = 3, rule = R1,C0,M0,S3..4,B3..3,NW111111111
b2o$2o$bo!
"M1": all three examples define Conway's Life in Golly 4.3
Code:
Select all
x = 3, y = 3, rule = R1,C0,M1,S3..4,B3..3,NM
b2o$2o$bo!
Code:
Select all
x = 3, y = 3, rule = R1,C0,M1,S2..3,B3..3,NW111101111
b2o$2o$bo!
Code:
Select all
x = 3, y = 3, rule = R1,C0,M1,S3..4,B3..3,NW111111111
b2o$2o$bo!
Hexagonal cells: all examples define B2/S34H in Golly 4.3; however, the "M0,NW" examples work differently in LifeViewer.
Code:
Select all
x = 3, y = 4, rule = R1,C0,M0,S3..4,B2..2,NH
obo$obo$2bo$bo!
Code:
Select all
x = 3, y = 4, rule = R1,C0,M0,S3..4,B2..2,NW110101011H
obo$obo$2bo$bo!
Code:
Select all
x = 3, y = 4, rule = R1,C0,M0,S4..5,B2..2,NW110111011H
obo$obo$2bo$bo!
Code:
Select all
x = 3, y = 4, rule = R1,C0,M1,S4..5,B2..2,NH
obo$obo$2bo$bo!
Code:
Select all
x = 3, y = 4, rule = R1,C0,M1,S3..4,B2..2,NW110101011H
obo$obo$2bo$bo!
Code:
Select all
x = 3, y = 4, rule = R1,C0,M1,S4..5,B2..2,NW110111011H
obo$obo$2bo$bo!
I think a reasonable possibility here would be to completely disallow rulestrings where both "M..." and "NW..." appear simultaneously.
(When the user specifies a weighted neighbourhood via "NW...", they are explicitly specifying the weight for the middle cell, too; and that weight should determine whether or not the middle cell is "counted as a neighbour".
When the user specifies either "M0" or "M1", that part should determine whether or not the middle cell is "counted as a neighbour".
When both "M..." and "NW..." are given, it is unclear which of two should be followed, so it would make sense to consider such rulestrings invalid.)