Golly 4.2
Posted: August 15th, 2022, 7:05 am
Just done (I only update that page after a new version has been uploaded to sourceforge).
Well, first you have to find where that particular .rule file is stored. You could copy and File > Run Clipboard the following script:bibunsekibun wrote: November 19th, 2022, 12:07 am How do I resolve the error "The specified rule does not match the rule name in the .rule file."?
Code: Select all
local g = golly()
g.note(g.getdir("rules"))
g.setclipstr(g.getdir("rules"))That's pretty much what commonly happens when you try to paste text into Golly that can be interpreted as multistate RLE. I believe Golly finds a default rule with more states, when it sees what it thinks are more states than the current rule can support. JvN is the default, but for example if your rule is already LifeSuper then it won't change the rule.hotdogPi wrote: February 7th, 2023, 10:01 am I tried to paste Python code into Golly, thinking it would run it, but it pasted as cells and somehow changed the rule to JvN29 as if that was the rule the cells were in. How did this happen?
I'm aware of that and did immediately afterward (not that it worked, as "run from clipboard" doesn't support opening external files; the program I was trying to run was my stamp collection generator code modified for an INT rule at someone else's request). It's just that I thought pasting was a shortcut.dvgrn wrote: February 7th, 2023, 10:23 am There's a separate command, File > Run from Clipboard, that you're supposed to use when you have code in the clipboard rather than a pattern.
I would say that it does support opening external files -- it's just that any paths in your code would then have to be hard-coded full paths, not defined relative to the location where the script is saved, likehotdogPi wrote: February 7th, 2023, 10:26 am I'm aware of that and did immediately afterward (not that it worked, as "run from clipboard" doesn't support opening external files; the program I was trying to run was my stamp collection generator code modified for an INT rule at someone else's request).
Code: Select all
open_file2('oscillators.txt')I've committed a fix for this. Thanks for reporting!_zM wrote: February 22nd, 2023, 10:58 am LifeSuper wrongly canonicalizes any rule with transitions B3/S23 by replacing that substring with Life regardless of the rule's neighborhood, resulting in an invalid rulestring.
Code: Select all
x = 13, y = 12, rule = B3/S238History:T20,20
F2$10.A$10.A.A$10.2A7$9.F!Code: Select all
x = 20, y = 20, rule = B123478/S01234678History:T20,20
20A$20A$5AF14A$20A$15A.4A$15A.A.2A$15A2.3A$20A$20A$20A$20A$20A$20A$
14AF5A$20A$20A$20A$20A$20A$20A!Code: Select all
x = 13, y = 12, rule = B3/S23History
F2$10.A$10.A.A$10.2A7$9.F!Code: Select all
x = 13, y = 12, rule = B0123478/S01234678History
F2$10.A$10.A.A$10.2A7$9.F!For the two patterns to be truly complementary (i.e. evolve the same way with 0 and 1 exchanged), you would need to replace the state-6 cells with another cellstate, that would behave in the complementary way (i.e. turn all adjacent "off" cells into "on" cells). There's no such cellstate in LifeHistory.muzik wrote: March 4th, 2023, 8:41 am B3/S238's inverse rule is B123478/S01234678, so normal patterns in one rule work the same in the other rule if states 0 and 1 switch places. For [R]History and [R]Super, this property is broken, since the "killer" cell will always kill live cells around it regardless of what they represent. For example, these two patterns evolve very differently due to the presence of state 6, but removing all state 6 cells will result in them evolving the exact same.Code: Select all
x = 13, y = 12, rule = B3/S238History:T20,20 F2$10.A$10.A.A$10.2A7$9.F!Code: Select all
x = 20, y = 20, rule = B123478/S01234678History:T20,20 20A$20A$5AF14A$20A$15A.4A$15A.A.2A$15A2.3A$20A$20A$20A$20A$20A$20A$ 14AF5A$20A$20A$20A$20A$20A$20A!
Code: Select all
x = 20, y = 20, rule = B3S238Investigator:T20,20
4$4.C2$14.A$14.A.A$14.2A7$13.C!
@RULE B3S238Investigator
@TABLE
n_states:21
neighborhood:Moore
symmetries:rotate4reflect
var A1 = {1,2,4,6,8,10,12,15,16,17,19}
var A2 = {1,2,4,6,8,10,12,15,16,17,19}
var A3 = {1,2,4,6,8,10,12,15,16,17,19}
var A4 = {1,2,4,6,8,10,12,15,16,17,19}
var A5 = {1,2,4,6,8,10,12,15,16,17,19}
var A6 = {1,2,4,6,8,10,12,15,16,17,19}
var A7 = {1,2,4,6,8,10,12,15,16,17,19}
var A8 = {1,2,4,6,8,10,12,15,16,17,19}
var b1 = {0,3,5,7,9,11,13,18,20}
var b2 = {0,3,5,7,9,11,13,18,20}
var b3 = {0,3,5,7,9,11,13,18,20}
var b4 = {0,3,5,7,9,11,13,18,20}
var b5 = {0,3,5,7,9,11,13,18,20}
var b6 = {0,3,5,7,9,11,13,18,20}
var b7 = {0,3,5,7,9,11,13,18,20}
var b8 = {0,3,5,7,9,11,13,18,20}
var c1 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
var c2 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
var c3 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
var c4 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
var c5 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
var c6 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
var c7 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
var c8 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
var d1 = {2,3,6,7,14,16}
var d2 = {8,9,12,13,14}
var E1 = {1,2,4,6,8,10,12,17,19}
var E2 = {1,2,4,6,8,10,12,17,19}
var E3 = {1,2,4,6,8,10,12,17,19}
var E4 = {1,2,4,6,8,10,12,17,19}
var E5 = {1,2,4,6,8,10,12,17,19}
var E6 = {1,2,4,6,8,10,12,17,19}
var E7 = {1,2,4,6,8,10,12,17,19}
var E8 = {1,2,4,6,8,10,12,17,19}
var F1 = {1,2,4,6,8,10,12,15,16,18,20}
var F2 = {1,2,4,6,8,10,12,15,16,18,20}
var F3 = {1,2,4,6,8,10,12,15,16,18,20}
var F4 = {1,2,4,6,8,10,12,15,16,18,20}
var F5 = {1,2,4,6,8,10,12,15,16,18,20}
var F6 = {1,2,4,6,8,10,12,15,16,18,20}
var F7 = {1,2,4,6,8,10,12,15,16,18,20}
var F8 = {1,2,4,6,8,10,12,15,16,18,20}
var g1 = {0,3,5,7,9,11,13,17,19}
var g2 = {0,3,5,7,9,11,13,17,19}
var g3 = {0,3,5,7,9,11,13,17,19}
var g4 = {0,3,5,7,9,11,13,17,19}
var g5 = {0,3,5,7,9,11,13,17,19}
var g6 = {0,3,5,7,9,11,13,17,19}
var g7 = {0,3,5,7,9,11,13,17,19}
var g8 = {0,3,5,7,9,11,13,17,19}
0, b1,E2,b3,E4,b5,E6,b7,b8, 1
0, b1,1,b3,A4,b5,A6,b7,b8, 1
0, b1,A2,b3,1,b5,A6,b7,b8, 1
0, b1,A2,b3,A4,b5,1,b7,b8, 1
0, E1,b2,E3,b4,E5,b6,b7,b8, 1
0, 1,b2,A3,b4,A5,b6,b7,b8, 1
0, A1,b2,1,b4,A5,b6,b7,b8, 1
0, A1,b2,A3,b4,1,b6,b7,b8, 1
0, E1,b2,E3,b4,b5,E6,b7,b8, 1
0, 1,b2,A3,b4,b5,A6,b7,b8, 1
0, A1,b2,1,b4,b5,A6,b7,b8, 1
0, A1,b2,A3,b4,b5,1,b7,b8, 1
0, E1,E2,E3,b4,b5,b6,b7,b8, 1
0, 1,A2,A3,b4,b5,b6,b7,b8, 1
0, A1,1,A3,b4,b5,b6,b7,b8, 1
0, A1,A2,1,b4,b5,b6,b7,b8, 1
0, E1,E2,b3,b4,b5,b6,b7,E8, 1
0, 1,A2,b3,b4,b5,b6,b7,A8, 1
0, A1,1,b3,b4,b5,b6,b7,A8, 1
0, A1,A2,b3,b4,b5,b6,b7,1, 1
0, E1,E2,b3,E4,b5,b6,b7,b8, 1
0, 1,A2,b3,A4,b5,b6,b7,b8, 1
0, A1,1,b3,A4,b5,b6,b7,b8, 1
0, A1,A2,b3,1,b5,b6,b7,b8, 1
0, E1,b2,b3,E4,b5,E6,b7,b8, 1
0, 1,b2,b3,A4,b5,A6,b7,b8, 1
0, A1,b2,b3,1,b5,A6,b7,b8, 1
0, A1,b2,b3,A4,b5,1,b7,b8, 1
0, E1,E2,b3,b4,b5,E6,b7,b8, 1
0, 1,A2,b3,b4,b5,A6,b7,b8, 1
0, A1,1,b3,b4,b5,A6,b7,b8, 1
0, A1,A2,b3,b4,b5,1,b7,b8, 1
0, E1,b2,E3,E4,b5,b6,b7,b8, 1
0, 1,b2,A3,A4,b5,b6,b7,b8, 1
0, A1,b2,1,A4,b5,b6,b7,b8, 1
0, A1,b2,A3,1,b5,b6,b7,b8, 1
0, E1,E2,b3,b4,E5,b6,b7,b8, 1
0, 1,A2,b3,b4,A5,b6,b7,b8, 1
0, A1,1,b3,b4,A5,b6,b7,b8, 1
0, A1,A2,b3,b4,1,b6,b7,b8, 1
1, g1,g2,g3,g4,g5,g6,g7,g8, 0
1, g1,F2,g3,g4,g5,g6,g7,g8, 0
1, F1,g2,g3,g4,g5,g6,g7,g8, 0
1, g1,F2,g3,F4,g5,F6,g7,F8, 0
1, F1,g2,F3,g4,F5,g6,F7,g8, 0
1, F1,g2,F3,F4,g5,F6,g7,g8, 0
1, F1,F2,F3,F4,g5,g6,g7,g8, 0
1, F1,F2,g3,F4,F5,g6,g7,g8, 0
1, F1,F2,g3,F4,g5,g6,g7,F8, 0
1, F1,F2,g3,F4,g5,F6,g7,g8, 0
1, F1,F2,F3,g4,g5,F6,g7,g8, 0
1, F1,g2,F3,g4,F5,F6,g7,g8, 0
1, F1,g2,F3,F4,F5,g6,g7,g8, 0
1, F1,F2,g3,g4,F5,g6,g7,F8, 0
1, F1,g2,F3,F4,g5,g6,g7,F8, 0
1, F1,F2,g3,g4,F5,F6,g7,g8, 0
1, F1,g2,F3,g4,F5,g6,F7,F8, 0
1, g1,F2,g3,F4,g5,F6,F7,F8, 0
1, g1,F2,g3,F4,F5,g6,F7,F8, 0
1, g1,g2,g3,F4,F5,F6,F7,F8, 0
1, g1,g2,F3,F4,F5,F6,F7,g8, 0
1, g1,g2,F3,g4,F5,F6,F7,F8, 0
1, g1,F2,F3,g4,F5,g6,F7,F8, 0
1, g1,g2,F3,F4,F5,g6,F7,F8, 0
1, g1,F2,g3,g4,F5,F6,F7,F8, 0
1, g1,g2,F3,F4,g5,F6,F7,F8, 0
1, F1,g2,F3,g4,F5,F6,F7,F8, 0
1, g1,F2,g3,F4,F5,F6,F7,F8, 0
1, g1,F2,F3,g4,F5,F6,F7,F8, 0
1, g1,g2,F3,F4,F5,F6,F7,F8, 0
1, g1,F2,F3,F4,g5,F6,F7,F8, 0
1, F1,g2,F3,F4,F5,g6,F7,F8, 0
1, F1,g2,F3,F4,F5,F6,F7,F8, 0
1, g1,F2,F3,F4,F5,F6,F7,F8, 0
1, d1,c1,c2,c3,c4,c5,c6,c7, 0
1, c1,d1,c2,c3,c4,c5,c6,c7, 0
0, d2,c1,c2,c3,c4,c5,c6,c7, 1
0, c1,d2,c2,c3,c4,c5,c6,c7, 1
6, c1,c2,c3,c4,c5,c6,c7,c8, 7
7, c1,c2,c3,c4,c5,c6,c7,c8, 6
10, c1,c2,c3,c4,c5,c6,c7,c8, 11
11, c1,c2,c3,c4,c5,c6,c7,c8, 10
12, c1,c2,c3,c4,c5,c6,c7,c8, 13
13, c1,c2,c3,c4,c5,c6,c7,c8, 12
19, c1,c2,c3,c4,c5,c6,c7,c8, 20
20, c1,c2,c3,c4,c5,c6,c7,c8, 19
@COLORS
1 0 236 91
2 0 192 254
3 254 0 0
4 254 254 254
5 75 75 75
6 233 41 254
7 64 0 128
8 254 230 0
9 150 128 0
10 130 200 0
11 0 120 40
12 254 140 0
13 140 70 0
14 0 0 254
15 192 192 192
16 128 128 128
17 254 112 140
18 174 0 168
19 0 152 127
20 0 73 59
Code: Select all
x = 20, y = 20, rule = B123478S01234678Investigator:T20,20
20A$20A$5AH14A$20A$15A.4A$15A.A.2A$15A2.3A$20A$20A$20A$20A$20A$20A$
14AH5A$20A$20A$20A$20A$20A$20A!
@RULE B123478S01234678Investigator
@TABLE
n_states:21
neighborhood:Moore
symmetries:rotate4reflect
var A1 = {1,2,4,6,8,10,12,15,16,17,19}
var A2 = {1,2,4,6,8,10,12,15,16,17,19}
var A3 = {1,2,4,6,8,10,12,15,16,17,19}
var A4 = {1,2,4,6,8,10,12,15,16,17,19}
var A5 = {1,2,4,6,8,10,12,15,16,17,19}
var A6 = {1,2,4,6,8,10,12,15,16,17,19}
var A7 = {1,2,4,6,8,10,12,15,16,17,19}
var A8 = {1,2,4,6,8,10,12,15,16,17,19}
var b1 = {0,3,5,7,9,11,13,18,20}
var b2 = {0,3,5,7,9,11,13,18,20}
var b3 = {0,3,5,7,9,11,13,18,20}
var b4 = {0,3,5,7,9,11,13,18,20}
var b5 = {0,3,5,7,9,11,13,18,20}
var b6 = {0,3,5,7,9,11,13,18,20}
var b7 = {0,3,5,7,9,11,13,18,20}
var b8 = {0,3,5,7,9,11,13,18,20}
var c1 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
var c2 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
var c3 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
var c4 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
var c5 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
var c6 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
var c7 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
var c8 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}
var d1 = {2,3,6,7,14,16}
var d2 = {8,9,12,13,14}
var E1 = {1,2,4,6,8,10,12,17,19}
var E2 = {1,2,4,6,8,10,12,17,19}
var E3 = {1,2,4,6,8,10,12,17,19}
var E4 = {1,2,4,6,8,10,12,17,19}
var E5 = {1,2,4,6,8,10,12,17,19}
var E6 = {1,2,4,6,8,10,12,17,19}
var E7 = {1,2,4,6,8,10,12,17,19}
var E8 = {1,2,4,6,8,10,12,17,19}
var F1 = {1,2,4,6,8,10,12,15,16,18,20}
var F2 = {1,2,4,6,8,10,12,15,16,18,20}
var F3 = {1,2,4,6,8,10,12,15,16,18,20}
var F4 = {1,2,4,6,8,10,12,15,16,18,20}
var F5 = {1,2,4,6,8,10,12,15,16,18,20}
var F6 = {1,2,4,6,8,10,12,15,16,18,20}
var F7 = {1,2,4,6,8,10,12,15,16,18,20}
var F8 = {1,2,4,6,8,10,12,15,16,18,20}
var g1 = {0,3,5,7,9,11,13,17,19}
var g2 = {0,3,5,7,9,11,13,17,19}
var g3 = {0,3,5,7,9,11,13,17,19}
var g4 = {0,3,5,7,9,11,13,17,19}
var g5 = {0,3,5,7,9,11,13,17,19}
var g6 = {0,3,5,7,9,11,13,17,19}
var g7 = {0,3,5,7,9,11,13,17,19}
var g8 = {0,3,5,7,9,11,13,17,19}
0, b1,E2,b3,b4,b5,b6,b7,b8, 1
0, b1,1,b3,b4,b5,b6,b7,b8, 1
0, E1,b2,b3,b4,b5,b6,b7,b8, 1
0, 1,b2,b3,b4,b5,b6,b7,b8, 1
0, b1,E2,b3,E4,b5,b6,b7,b8, 1
0, b1,1,b3,A4,b5,b6,b7,b8, 1
0, b1,A2,b3,1,b5,b6,b7,b8, 1
0, E1,b2,E3,b4,b5,b6,b7,b8, 1
0, 1,b2,A3,b4,b5,b6,b7,b8, 1
0, A1,b2,1,b4,b5,b6,b7,b8, 1
0, E1,b2,b3,E4,b5,b6,b7,b8, 1
0, 1,b2,b3,A4,b5,b6,b7,b8, 1
0, A1,b2,b3,1,b5,b6,b7,b8, 1
0, E1,E2,b3,b4,b5,b6,b7,b8, 1
0, 1,A2,b3,b4,b5,b6,b7,b8, 1
0, A1,1,b3,b4,b5,b6,b7,b8, 1
0, E1,b2,b3,b4,E5,b6,b7,b8, 1
0, 1,b2,b3,b4,A5,b6,b7,b8, 1
0, A1,b2,b3,b4,1,b6,b7,b8, 1
0, b1,E2,b3,b4,b5,E6,b7,b8, 1
0, b1,1,b3,b4,b5,A6,b7,b8, 1
0, b1,A2,b3,b4,b5,1,b7,b8, 1
0, b1,E2,b3,E4,b5,E6,b7,b8, 1
0, b1,1,b3,A4,b5,A6,b7,b8, 1
0, b1,A2,b3,1,b5,A6,b7,b8, 1
0, b1,A2,b3,A4,b5,1,b7,b8, 1
0, E1,b2,E3,b4,E5,b6,b7,b8, 1
0, 1,b2,A3,b4,A5,b6,b7,b8, 1
0, A1,b2,1,b4,A5,b6,b7,b8, 1
0, A1,b2,A3,b4,1,b6,b7,b8, 1
0, E1,b2,E3,b4,b5,E6,b7,b8, 1
0, 1,b2,A3,b4,b5,A6,b7,b8, 1
0, A1,b2,1,b4,b5,A6,b7,b8, 1
0, A1,b2,A3,b4,b5,1,b7,b8, 1
0, E1,E2,E3,b4,b5,b6,b7,b8, 1
0, 1,A2,A3,b4,b5,b6,b7,b8, 1
0, A1,1,A3,b4,b5,b6,b7,b8, 1
0, A1,A2,1,b4,b5,b6,b7,b8, 1
0, E1,E2,b3,b4,b5,b6,b7,E8, 1
0, 1,A2,b3,b4,b5,b6,b7,A8, 1
0, A1,1,b3,b4,b5,b6,b7,A8, 1
0, A1,A2,b3,b4,b5,b6,b7,1, 1
0, E1,E2,b3,E4,b5,b6,b7,b8, 1
0, 1,A2,b3,A4,b5,b6,b7,b8, 1
0, A1,1,b3,A4,b5,b6,b7,b8, 1
0, A1,A2,b3,1,b5,b6,b7,b8, 1
0, E1,b2,b3,E4,b5,E6,b7,b8, 1
0, 1,b2,b3,A4,b5,A6,b7,b8, 1
0, A1,b2,b3,1,b5,A6,b7,b8, 1
0, A1,b2,b3,A4,b5,1,b7,b8, 1
0, E1,E2,b3,b4,b5,E6,b7,b8, 1
0, 1,A2,b3,b4,b5,A6,b7,b8, 1
0, A1,1,b3,b4,b5,A6,b7,b8, 1
0, A1,A2,b3,b4,b5,1,b7,b8, 1
0, E1,b2,E3,E4,b5,b6,b7,b8, 1
0, 1,b2,A3,A4,b5,b6,b7,b8, 1
0, A1,b2,1,A4,b5,b6,b7,b8, 1
0, A1,b2,A3,1,b5,b6,b7,b8, 1
0, E1,E2,b3,b4,E5,b6,b7,b8, 1
0, 1,A2,b3,b4,A5,b6,b7,b8, 1
0, A1,1,b3,b4,A5,b6,b7,b8, 1
0, A1,A2,b3,b4,1,b6,b7,b8, 1
0, b1,E2,b3,E4,b5,E6,b7,E8, 1
0, b1,1,b3,A4,b5,A6,b7,A8, 1
0, b1,A2,b3,1,b5,A6,b7,A8, 1
0, b1,A2,b3,A4,b5,1,b7,A8, 1
0, b1,A2,b3,A4,b5,A6,b7,1, 1
0, E1,b2,E3,b4,E5,b6,E7,b8, 1
0, 1,b2,A3,b4,A5,b6,A7,b8, 1
0, A1,b2,1,b4,A5,b6,A7,b8, 1
0, A1,b2,A3,b4,1,b6,A7,b8, 1
0, A1,b2,A3,b4,A5,b6,1,b8, 1
0, E1,b2,E3,E4,b5,E6,b7,b8, 1
0, 1,b2,A3,A4,b5,A6,b7,b8, 1
0, A1,b2,1,A4,b5,A6,b7,b8, 1
0, A1,b2,A3,1,b5,A6,b7,b8, 1
0, A1,b2,A3,A4,b5,1,b7,b8, 1
0, E1,E2,E3,E4,b5,b6,b7,b8, 1
0, 1,A2,A3,A4,b5,b6,b7,b8, 1
0, A1,1,A3,A4,b5,b6,b7,b8, 1
0, A1,A2,1,A4,b5,b6,b7,b8, 1
0, A1,A2,A3,1,b5,b6,b7,b8, 1
0, E1,E2,b3,E4,E5,b6,b7,b8, 1
0, 1,A2,b3,A4,A5,b6,b7,b8, 1
0, A1,1,b3,A4,A5,b6,b7,b8, 1
0, A1,A2,b3,1,A5,b6,b7,b8, 1
0, A1,A2,b3,A4,1,b6,b7,b8, 1
0, E1,E2,b3,E4,b5,b6,b7,E8, 1
0, 1,A2,b3,A4,b5,b6,b7,A8, 1
0, A1,1,b3,A4,b5,b6,b7,A8, 1
0, A1,A2,b3,1,b5,b6,b7,A8, 1
0, A1,A2,b3,A4,b5,b6,b7,1, 1
0, E1,E2,b3,E4,b5,E6,b7,b8, 1
0, 1,A2,b3,A4,b5,A6,b7,b8, 1
0, A1,1,b3,A4,b5,A6,b7,b8, 1
0, A1,A2,b3,1,b5,A6,b7,b8, 1
0, A1,A2,b3,A4,b5,1,b7,b8, 1
0, E1,E2,E3,b4,b5,E6,b7,b8, 1
0, 1,A2,A3,b4,b5,A6,b7,b8, 1
0, A1,1,A3,b4,b5,A6,b7,b8, 1
0, A1,A2,1,b4,b5,A6,b7,b8, 1
0, A1,A2,A3,b4,b5,1,b7,b8, 1
0, E1,b2,E3,b4,E5,E6,b7,b8, 1
0, 1,b2,A3,b4,A5,A6,b7,b8, 1
0, A1,b2,1,b4,A5,A6,b7,b8, 1
0, A1,b2,A3,b4,1,A6,b7,b8, 1
0, A1,b2,A3,b4,A5,1,b7,b8, 1
0, E1,b2,E3,E4,E5,b6,b7,b8, 1
0, 1,b2,A3,A4,A5,b6,b7,b8, 1
0, A1,b2,1,A4,A5,b6,b7,b8, 1
0, A1,b2,A3,1,A5,b6,b7,b8, 1
0, A1,b2,A3,A4,1,b6,b7,b8, 1
0, E1,E2,b3,b4,E5,b6,b7,E8, 1
0, 1,A2,b3,b4,A5,b6,b7,A8, 1
0, A1,1,b3,b4,A5,b6,b7,A8, 1
0, A1,A2,b3,b4,1,b6,b7,A8, 1
0, A1,A2,b3,b4,A5,b6,b7,1, 1
0, E1,b2,E3,E4,b5,b6,b7,E8, 1
0, 1,b2,A3,A4,b5,b6,b7,A8, 1
0, A1,b2,1,A4,b5,b6,b7,A8, 1
0, A1,b2,A3,1,b5,b6,b7,A8, 1
0, A1,b2,A3,A4,b5,b6,b7,1, 1
0, E1,E2,b3,b4,E5,E6,b7,b8, 1
0, 1,A2,b3,b4,A5,A6,b7,b8, 1
0, A1,1,b3,b4,A5,A6,b7,b8, 1
0, A1,A2,b3,b4,1,A6,b7,b8, 1
0, A1,A2,b3,b4,A5,1,b7,b8, 1
0, E1,b2,E3,E4,E5,E6,E7,E8, 1
0, 1,b2,A3,A4,A5,A6,A7,A8, 1
0, A1,b2,1,A4,A5,A6,A7,A8, 1
0, A1,b2,A3,1,A5,A6,A7,A8, 1
0, A1,b2,A3,A4,1,A6,A7,A8, 1
0, A1,b2,A3,A4,A5,1,A7,A8, 1
0, A1,b2,A3,A4,A5,A6,1,A8, 1
0, A1,b2,A3,A4,A5,A6,A7,1, 1
0, b1,E2,E3,E4,E5,E6,E7,E8, 1
0, b1,1,A3,A4,A5,A6,A7,A8, 1
0, b1,A2,1,A4,A5,A6,A7,A8, 1
0, b1,A2,A3,1,A5,A6,A7,A8, 1
0, b1,A2,A3,A4,1,A6,A7,A8, 1
0, b1,A2,A3,A4,A5,1,A7,A8, 1
0, b1,A2,A3,A4,A5,A6,1,A8, 1
0, b1,A2,A3,A4,A5,A6,A7,1, 1
0, E1,E2,E3,E4,E5,E6,E7,E8, 1
0, 1,A2,A3,A4,A5,A6,A7,A8, 1
0, A1,1,A3,A4,A5,A6,A7,A8, 1
0, A1,A2,1,A4,A5,A6,A7,A8, 1
0, A1,A2,A3,1,A5,A6,A7,A8, 1
0, A1,A2,A3,A4,1,A6,A7,A8, 1
0, A1,A2,A3,A4,A5,1,A7,A8, 1
0, A1,A2,A3,A4,A5,A6,1,A8, 1
0, A1,A2,A3,A4,A5,A6,A7,1, 1
1, F1,g2,F3,g4,F5,g6,F7,F8, 0
1, g1,F2,g3,F4,g5,F6,F7,F8, 0
1, g1,F2,g3,F4,F5,g6,F7,F8, 0
1, g1,g2,g3,F4,F5,F6,F7,F8, 0
1, g1,g2,F3,F4,F5,F6,F7,g8, 0
1, g1,g2,F3,g4,F5,F6,F7,F8, 0
1, g1,F2,F3,g4,F5,g6,F7,F8, 0
1, g1,g2,F3,F4,F5,g6,F7,F8, 0
1, g1,F2,g3,g4,F5,F6,F7,F8, 0
1, g1,g2,F3,F4,g5,F6,F7,F8, 0
1, d1,c1,c2,c3,c4,c5,c6,c7, 0
1, c1,d1,c2,c3,c4,c5,c6,c7, 0
0, d2,c1,c2,c3,c4,c5,c6,c7, 1
0, c1,d2,c2,c3,c4,c5,c6,c7, 1
6, c1,c2,c3,c4,c5,c6,c7,c8, 7
7, c1,c2,c3,c4,c5,c6,c7,c8, 6
10, c1,c2,c3,c4,c5,c6,c7,c8, 11
11, c1,c2,c3,c4,c5,c6,c7,c8, 10
12, c1,c2,c3,c4,c5,c6,c7,c8, 13
13, c1,c2,c3,c4,c5,c6,c7,c8, 12
19, c1,c2,c3,c4,c5,c6,c7,c8, 20
20, c1,c2,c3,c4,c5,c6,c7,c8, 19
@COLORS
1 0 236 91
2 0 192 254
3 254 0 0
4 254 254 254
5 75 75 75
6 233 41 254
7 64 0 128
8 254 230 0
9 150 128 0
10 130 200 0
11 0 120 40
12 254 140 0
13 140 70 0
14 0 0 254
15 192 192 192
16 128 128 128
17 254 112 140
18 174 0 168
19 0 152 127
20 0 73 59
I don't see why another state needs to be added to [R]History - state 6's behaviour would just need to change for B0/Smax rules.confocaloid wrote: March 4th, 2023, 9:18 am For the two patterns to be truly complementary (i.e. evolve the same way with 0 and 1 exchanged), you would need to replace the state-6 cells with another cellstate, that would behave in the complementary way (i.e. turn all adjacent "off" cells into "on" cells). There's no such cellstate in LifeHistory.
How to deal with rules without B0 and with S8, like B3/S238? Then neither the rule nor its inverse has B0, so it is not clear how a state-6 cell would "know" how to behave.muzik wrote: March 4th, 2023, 9:48 amI don't see why another state needs to be added to [R]History - state 6's behaviour would just need to change for B0/Smax rules.confocaloid wrote: March 4th, 2023, 9:18 am For the two patterns to be truly complementary (i.e. evolve the same way with 0 and 1 exchanged), you would need to replace the state-6 cells with another cellstate, that would behave in the complementary way (i.e. turn all adjacent "off" cells into "on" cells). There's no such cellstate in LifeHistory.
Nothing would change for either of them, since neither the rule nor its inverse needs to be emulated and therefore the behaviour is automatically correct.confocaloid wrote: March 4th, 2023, 9:58 amHow to deal with rules without B0 and with S8, like B3/S238? Then neither the rule nor its inverse has B0, so it is not clear how a state-6 cell would "know" how to behave.muzik wrote: March 4th, 2023, 9:48 amI don't see why another state needs to be added to [R]History - state 6's behaviour would just need to change for B0/Smax rules.confocaloid wrote: March 4th, 2023, 9:18 am For the two patterns to be truly complementary (i.e. evolve the same way with 0 and 1 exchanged), you would need to replace the state-6 cells with another cellstate, that would behave in the complementary way (i.e. turn all adjacent "off" cells into "on" cells). There's no such cellstate in LifeHistory.
Code: Select all
x = 27, y = 40, rule = B0123478/S01234678History
10.F$10.F$10.F$10.F$10.F$10.F$10.F11.A$.A8.F10.A$2.A7.F10.A3.A$3A7.F
10.4A$10.F$10.F$10.F$10.F10.A$10.F9.A$10.F9.A3.A$10.F9.4A$10.F$10.F$
10.F$10.F$10.F11.A$10.F10.A$10.F10.A4.A$10.F10.5A$10.F$10.F$10.F$10.F
$10.F$10.F10.A$10.F9.A$10.F9.A4.A$10.F9.5A$10.F$10.F$10.F$10.F$10.F$
10.F!
muzik wrote: March 4th, 2023, 8:41 am Golly emulates B0/Smax rules by effectively assuming that every "on" cell is actually "off" and every "off" cell is actually "on". This works perfectly for normal 2-state rules, but our assumption breaks down for state-6 cells. In reality, the second pattern below should have the gray cells setting every cell around them to the "alive" state if they detect any in the "dead" state, which would effectively be the only functional difference between Life and AntiLife. This, however, is not the case.Code: Select all
x = 13, y = 12, rule = B3/S23History F2$10.A$10.A.A$10.2A7$9.F!Code: Select all
x = 13, y = 12, rule = B0123478/S01234678History F2$10.A$10.A.A$10.2A7$9.F!
muzik wrote: March 4th, 2023, 8:41 am Only rules with B0 and Smax are affected, since in those rules dead cells represent alive cells and alive cells represent dead cells.
Yes, the behaviour would change and state 6 would create on cells. However, in this specific case, there isn't much of a need to use a B0/S8 type rule anyway, since the pattern would still act the same as it always does in B3/S23:confocaloid wrote: March 4th, 2023, 11:16 am Would this suggestion change the visible behaviour of the following pattern, and if yes, what would happen here? (According to the Golly help, cellstate 6 is "boundary OFF" and the original intent was to use it for barriers between subpatterns.)
Code: Select all
x = 27, y = 40, rule = B3/S23History
10.F$10.F$10.F$10.F$10.F$10.F$10.F11.A$.A8.F10.A$2.A7.F10.A3.A$3A7.F
10.4A$10.F$10.F$10.F$10.F10.A$10.F9.A$10.F9.A3.A$10.F9.4A$10.F$10.F$
10.F$10.F$10.F11.A$10.F10.A$10.F10.A4.A$10.F10.5A$10.F$10.F$10.F$10.F
$10.F$10.F10.A$10.F9.A$10.F9.A4.A$10.F9.5A$10.F$10.F$10.F$10.F$10.F$
10.F!Code: Select all
x = 20, y = 20, rule = B3/S238History:T20,20
7.F$7.F$7.F$7.F$7.F$7.F$7.F7.A$7.F6.A$7.F6.A3.A$7.F6.4A$7.F$7.F$7.F$
7.F$7.F$7.F$7.F$7.F$7.F$7.F!Code: Select all
x = 20, y = 20, rule = B123478/S01234678History:T20,20
7AF12A$7AF12A$7AF12A$7AF12A$7AF12A$7AF12A$7AF7A.4A$7AF6A.5A$7AF6A.3A.
A$7AF6A4.2A$7AF12A$7AF12A$7AF12A$7AF12A$7AF12A$7AF12A$7AF12A$7AF12A$
7AF12A$7AF12A!I think I understand how you would not need any changes to be able to use LifeHistory cellstate 6 for its original intended purpose: if the rule has both B0 and S8, just switch to the inverse rule without B0/S8.muzik wrote: March 4th, 2023, 11:30 amYes, the behaviour would change and state 6 would create on cells. However, in this specific case, there isn't much of a need to use a B0/S8 type rule anyway, since the pattern would still act the same as it always does in B3/S23:confocaloid wrote: March 4th, 2023, 11:16 am Would this suggestion change the visible behaviour of the following pattern, and if yes, what would happen here? (According to the Golly help, cellstate 6 is "boundary OFF" and the original intent was to use it for barriers between subpatterns.)
...
This goes off-topic, but if your ultimate aim is to reach some kind of standard that would have any chance to eventually become supported by the standard tools without ruletables (in the way LifeHistory/LifeSuper are supported), then why not support something that already exists? As far as I can tell, StateInvestigator already solves many relevant problems, and there is already a working Python script to support alien isotropic rules.muzik wrote: March 4th, 2023, 11:30 am Side note: this thread is making me really want a generalized [R]Extended/[R]Ultra protocol again. Maybe I should start work on one...
To understand why it's incorrect, we need to understand how B0/Smax (in our specific case, B0/S8) emulation works. Since there's no strobing, it's the simplest case to understand. You probably know all of this already but I'd prefer to explain it anyway so we know exactly why this is justified.confocaloid wrote: March 4th, 2023, 9:17 pmWhat I do not yet understand is what are the cases where the proposed changes would be (a) visible and (b) useful enough to count as arguments in favour of changing how the rule currently works. Why exactly the way LifeHistory currently works should be considered incorrect?
Code: Select all
x = 1, y = 1, rule = B0123478/S01234678History
F!Code: Select all
x = 1, y = 1, rule = StateInvestigator
H!I've been playing around with StateInvestigator in private recently just to check that all of the cell states supported by Life extensions that came before it are indeed accounted for. So far, they do all seem to work as expected, so I'm on the hunt for the most minor details. StateInvestigator, as it currently stands, does seem like an excellent candidate for a general [R]Extended. An implementation in Golly's Super algorithm to obviate the need for a script would be fantastic, but that's a suggestion for later.confocaloid wrote: March 4th, 2023, 9:17 pmThis goes off-topic, but if your ultimate aim is to reach some kind of standard that would have any chance to eventually become supported by the standard tools without ruletables (in the way LifeHistory/LifeSuper are supported), then why not support something that already exists? As far as I can tell, StateInvestigator already solves many relevant problems, and there is already a working Python script to support alien isotropic rules.muzik wrote: March 4th, 2023, 11:30 am Side note: this thread is making me really want a generalized [R]Extended/[R]Ultra protocol again. Maybe I should start work on one...
(Even if a generalised ruletable combining all cellstates of every existing extension possible in theory, I doubt it would be very convenient/easy to use, because of way too many cellstates to remember, and way too many interactions between features.
There are reasons why a software tool that is designed to solve one relatively narrow specific problem has much better chances to do that one thing well.)
Code: Select all
@RULE B1.;7;0.;5;1.;0,4;2.;2;3.;3;5_B2.;1,2;1.;3;2.;4;3.;1,3;4.;1;5_1T2.;3,5;0.;0,1,3,6;1.;0;3,7_2T1.;0,7,
Full Rulestring:
B1.;7;0.;5;1.;0,4;2.;2;3.;3;5/B2.;1,2;1.;3;2.;4;3.;1,3;4.;1;5/1T2.;3,5;0.;0,1,3,6;1.;0;3,7/2T1.;0,7,8;0.;5;2.;3;4.;0;7/S1.;6,8;0.;4,5,7;1.;5;2.;1;3.;4;4/S2.;1,2;0.;2;1.;3;3
@TREE
num_states=3
num_neighbors=8
num_nodes=132
1 0 0 1
1 0 0 2
1 0 2 0
2 0 1 2
1 2 2 0
2 1 1 4
1 1 0 0
2 2 4 6
3 3 5 7
1 2 0 2
2 1 2 9
1 0 0 0
2 4 9 11
3 5 10 12
2 6 11 2
3 7 12 14
4 8 13 15
2 2 11 2
2 9 2 11
3 10 17 18
1 0 1 0
2 11 11 20
3 12 18 21
4 13 19 22
2 2 20 11
3 14 21 24
4 15 22 25
5 16 23 26
2 11 2 20
1 2 0 0
2 2 20 29
3 17 28 30
2 11 29 6
3 18 30 32
4 19 31 33
2 20 6 29
3 21 32 35
4 22 33 36
5 23 34 37
2 11 29 11
3 24 35 39
4 25 36 40
5 26 37 41
6 27 38 42
1 1 1 0
2 2 20 44
2 20 44 6
3 28 45 46
2 29 6 1
3 30 46 48
4 31 47 49
2 6 1 11
3 32 48 51
4 33 49 52
5 34 50 53
2 29 11 29
3 35 51 55
4 36 52 56
5 37 53 57
6 38 54 58
3 39 55 39
4 40 56 60
5 41 57 61
6 42 58 62
7 43 59 63
1 1 0 1
2 20 65 2
1 0 1 1
2 44 2 67
3 45 66 68
2 6 67 29
3 46 68 70
4 47 69 71
1 2 0 1
2 1 29 73
3 48 70 74
4 49 71 75
5 50 72 76
2 11 73 11
3 51 74 78
4 52 75 79
5 53 76 80
6 54 77 81
2 29 11 11
3 55 78 83
4 56 79 84
5 57 80 85
6 58 81 86
7 59 82 87
1 0 2 1
2 11 11 89
3 39 83 90
4 60 84 91
5 61 85 92
6 62 86 93
7 63 87 94
8 64 88 95
2 65 67 20
3 66 97 24
2 67 11 11
3 68 24 99
4 69 98 100
2 29 11 20
3 70 99 102
4 71 100 103
5 72 101 104
2 73 20 6
3 74 102 106
4 75 103 107
5 76 104 108
6 77 105 109
2 11 6 11
3 78 106 111
4 79 107 112
5 80 108 113
6 81 109 114
7 82 110 115
2 11 11 11
3 83 111 117
4 84 112 118
5 85 113 119
6 86 114 120
7 87 115 121
8 88 116 122
2 89 11 11
3 90 117 124
4 91 118 125
5 92 119 126
6 93 120 127
7 94 121 128
8 95 122 129
9 96 123 130
Code: Select all
x = 3, y = 2, rule = B01c23-a45678/S3a
b2o$3o!