Do you mean the 0E0P metacell (what is ground state?)? And what rules will it simulate?calcyman wrote:The metacell I'm currently building (where the ground state has population 0) will have an even more ludicrous categories bar: the period is expected to be 2^34 (if I'm lucky) or 2^36 (if I'm unlucky); the grid size will be the square-root of this.Mr. Missed Her wrote:Edit:The "Categories" bar here is pretty funny.

## Sample metapatterns made of Calcyman's metacells

- gameoflifemaniac
**Posts:**1117**Joined:**January 22nd, 2017, 11:17 am**Location:**There too

### Re: Wiki article

I was so socially awkward in the past and it will haunt me for my entire life.

Code: Select all

```
x = 21, y = 5, rule = B3/S23
b2o2bo2b2o2b2o2bobobo$o3bobobobobobobobobo$bo2bobob2o2b2o3bo2bo$2bobob
obobobobo2bo$2o3bo2bobobobo2bo2bo!
```

### Re: Sample metapatterns made of Calcyman's metacells

Yes, the 0E0P cell. It will simulate any of the 2^12285 non-B0 8-state 4-neighbour rules, which can in particular simulate any of the 2^511 non-B0 2-state 9-neighbour rules.

Ground state just means state 0.

Ground state just means state 0.

What do you do with ill crystallographers? Take them to the

**!***mono*-clinic- BlinkerSpawn
**Posts:**1969**Joined:**November 8th, 2014, 8:48 pm**Location:**Getting a snacker from R-Bee's

### Re: Wiki article

Oh, is this going to be the self-constructing megacell I heard about a while ago?calcyman wrote:The metacell I'm currently building (where the ground state has population 0) will have an even more ludicrous categories bar: the period is expected to be 2^34 (if I'm lucky) or 2^36 (if I'm unlucky); the grid size will be the square-root of this.Mr. Missed Her wrote:Edit:The "Categories" bar here is pretty funny.

- gameoflifemaniac
**Posts:**1117**Joined:**January 22nd, 2017, 11:17 am**Location:**There too

### Re: Sample metapatterns made of Calcyman's metacells

Ugh... you're GENIOUScalcyman wrote:Yes, the 0E0P cell. It will simulate any of the 2^12285 non-B0 8-state 4-neighbour rules, which can in particular simulate any of the 2^511 non-B0 2-state 9-neighbour rules.

Ground state just means state 0.

I was so socially awkward in the past and it will haunt me for my entire life.

Code: Select all

```
x = 21, y = 5, rule = B3/S23
b2o2bo2b2o2b2o2bobobo$o3bobobobobobobobobo$bo2bobob2o2b2o3bo2bo$2bobob
obobobobo2bo$2o3bo2bobobobo2bo2bo!
```

- gameoflifemaniac
**Posts:**1117**Joined:**January 22nd, 2017, 11:17 am**Location:**There too

### Re: Sample metapatterns made of Calcyman's metacells

How long would it take to complete the new metacell? And what does 0E0P mean? How long would it take Golly to run those 2^34 generations?

I was so socially awkward in the past and it will haunt me for my entire life.

Code: Select all

```
x = 21, y = 5, rule = B3/S23
b2o2bo2b2o2b2o2bobobo$o3bobobobobobobobobo$bo2bobob2o2b2o3bo2bo$2bobob
obobobobo2bo$2o3bo2bobobobo2bo2bo!
```

### Re: Sample metapatterns made of Calcyman's metacells

A few months, I imagine. I've completed the synchronisation circuitry, and the logic circuitry, and most of the self-destruction circuitry. What's left to do is writing the slow-salvo synthesis compiler (should be straightforward, since I already wrote and ran the search program to generate all of the recipes for the compiler) and the slow-salvo-to-single-channel converter (much easier now that simeks has provided a comprehensive toolkit), then running it on the metacell to build its tape.gameoflifemaniac wrote:How long would it take to complete the new metacell?

I also need to create syntheses for the Snark in all 4 orientations and eater2 in all 3 orientations. This will become easier once I have the compiler. I've already done the eater2 in one orientation by manually following what the compiler's algorithm would do automatically:

Code: Select all

```
x = 513, y = 518, rule = B3/S23
2o$2o3$2o$obo$o13$12b2o$12bobo$12bo8$36bo$35b2o$35bobo13$42b2o$42bobo$
42bo16$46bo$45b2o$45bobo11bo$58b2o$58bobo39$107b2o$107bobo$107bo9$119b
2o$119bobo$119bo22$145bo$144b2o$144bobo9$155bo$154b2o$154bobo19$175bo$
174b2o$174bobo11$185bo$184b2o$184bobo28$225b3o$225bo$226bo10$246b3o$
246bo$247bo13$254b3o$254bo$255bo3$270b3o$270bo$271bo15$279b2o$278b2o$
280bo25$285b3o$285bo$286bo40$315b3o$315bo$316bo14$334bo$333b2o$333bobo
12$351b2o$351bobo$351bo26$365bo$364b2o$364bobo16$381bo$380b2o$380bobo
11$400b2o$400bobo$400bo91$510b2o$510bobo$510bo!
```

It means that the 'metacell-off' pattern is literally empty. Consequently, if you take the 6-cell HighLife replicator and build it from 6 0E0P cells in GoL, the result will be a genuine replicator in GoL. Similarly, you can transfer over a quadratic replicator, or a knightship, or a reflectorless rotating oscillator from your favourite isotropic rule to obtain a (much larger, much slower) counterpart in B3/S23.And what does 0E0P mean?

You can't do that with existing metacells (neither David's, nor Brice's, nor mine) because metapatterns can't expand beyond their original bounding box. A 0E0P metacell needs to physically construct copies of itself in each direction.

That's highly dependent on your machine's RAM. Maybe on the order of an hour or so?How long would it take Golly to run those 2^34 generations?

If you have enough RAM (far beyond that of a desktop PC), then HashLife will 'run away' and memoize the complete life-cycle of the metacell. In that case, you could run metapatterns in real-time.

What do you do with ill crystallographers? Take them to the

**!***mono*-clinic### Re: Sample metapatterns made of Calcyman's metacells

But is the metacell asymmetric? If so, you can't have rotating oscillators or anything like that; all symmetry is removed.calcyman wrote:... if you take the 6-cell HighLife replicator and build it from 6 0E0P cells in GoL, the result will be a genuine replicator in GoL. Similarly, you can transfer over a quadratic replicator, or a knightship, or a reflectorless rotating oscillator from your favourite isotropic rule to obtain a (much larger, much slower) counterpart in B3/S23.

succ

### Re: Sample metapatterns made of Calcyman's metacells

True, but it would still result in a reflectorless oscillator with the property that you can halve its period by juxtaposing two non-interacting copies thereof.blah wrote:But is the metacell asymmetric? If so, you can't have rotating oscillators or anything like that; all symmetry is removed.

What do you do with ill crystallographers? Take them to the

**!***mono*-clinic### Re: Sample metapatterns made of Calcyman's metacells

Have I missed anything more recent than a year ago February? I read through the "New construction arms" thread from that point on... it seems to have gone off on all kinds of interesting tangents in the last year, but not much that's really relevant to this project.calcyman wrote:... the slow-salvo-to-single-channel converter (much easier now that simeks has provided a comprehensive toolkit)...

Unless I missed a later edition somewhere, it seems that this is the latest published single-channel glider output library. That certainly seems good enough for a first draft of a slow-salvo-to-single-channel compiler.

Some significant optimization would be possible with more elbow types, gliders grouped in triplets as well as pairs, etc., etc. But a smaller library and simple single-elbow design seems like a very good place to start. There still hasn't been a completed self-constructing pattern using single-channel yet -- I want to see it in action!

### Re: Sample metapatterns made of Calcyman's metacells

I was referring to your post-processed version of this ('optimized.txt'), but with simeks' extra 20-glider 44fd PUSH prepended to the input since it's useful to be able to push a block as quickly as possible.dvgrn wrote:Unless I missed a later edition somewhere, it seems that this is the latest published single-channel glider output library. That certainly seems good enough for a first draft of a slow-salvo-to-single-channel compiler.

Regarding compiler progress, I have a program which can find the most promising pairs of nearby objects to construct (and identify them, so that it knows which file in the data directory contains all of the relevant recipes). For instance, when you feed in the following input pattern (which is understood to be constructed from NW-bound gliders from the SE):

Code: Select all

```
x = 22, y = 27, rule = LifeHistory
2A$2A$20.2A$20.2A5$3.A$2.A.A$2.A.A$3.A6$17.2A$17.2A8$2.3A!
```

Code: Select all

```
xs4_33(2)
xp2_7__xs4_33
xs4_33__xs6_696
xp2_7
xs4_33
xs4_33
```

It enumerates the possibilities in O(n log n) time, where n is the number of objects in the input pattern (it doesn't, for example, try all possible pairs of objects).

Incidentally, I chose this particular 5-object constellation as an example input since it would complete the first slow-salvo Snark synthesis:

Code: Select all

```
x = 2159, y = 2144, rule = LifeHistory
57.2A$56.A.A$50.2A4.A$48.A2.A2.2A.4A$48.2A.A.A.A.A2.A$51.A.ABABAB$51.
A.AB2AB$52.AD.2B$52.D.D3B$51.D3.D3B6.2A$50.D2.3B2AB6.A$49.D3.3B2AB3.B
A.A$48.D2.7BD2B.B2A$47.D2.9BD3B$46.D2.11BD2B$45.D2.13BDB$44.D2.4B2.8B
.D$43.D2.4B5.6B2.D$42.D2.4B4.9B2.D$2A39.D2.4B5.2A4.4B2.D$2A38.D2.4B7.
A5.4B2.D$20.2A17.D2.4B5.3A7.4B2.D$20.2A16.D2.4B6.A10.4B2.D$40.4B19.4B
2.D$39.4B21.4B2.D$38.4B23.4B2.D$38.3B25.4B2.D$3.A34.2B27.4B2.D$2.A.A
33.B29.4B2.D$2.A.A64.4B2.D$3.A66.4B2.D$71.4B2.D$72.4B2.D$73.4B$74.4B$
75.4B$17.2A57.3B$17.2A58.2B$78.B6$26.D2.4B$2.3A22.D2.B2AB$28.D.2A3B$
29.D2.A3B$30.D2.4B$31.D2.4B$32.D2.4B$33.D2.4B$34.D2.4B$35.D2.4B$36.D
2.4B$37.D2.4B$38.D2.4B$39.D2.4B4.2A$40.D2.4B2.2A$51.A19$59.2A$58.2A$
60.A9$74.2A$74.A.A$74.A15$79.2A$79.A.A$79.A8$92.2A$91.2A$93.A29$127.
2A$127.A.A$127.A17$143.2A$143.A.A$143.A8$153.2A$153.A.A$153.A8$164.A$
163.2A$163.A.A$179.2A$179.A.A$179.A18$184.A$183.2A$183.A.A33$235.2A$
235.A.A$235.A63$278.2A$278.A.A$278.A27$302.2A$302.A.A$302.A21$331.A$
330.2A$330.A.A25$380.2A$352.3A25.A.A$352.A27.A$353.A13$396.2A$396.A.A
$396.A13$371.3A$371.A42.2A$372.A41.A.A$414.A16$400.A$399.2A$399.A.A
26$420.3A$420.A$421.A3$464.3A$464.A$465.A18$443.3A$443.A$444.A17$472.
A$471.2A$471.A.A20$524.3A$524.A$525.A$501.2A$500.2A$502.A47$594.A$
593.2A$593.A.A38$633.A$632.2A$632.A.A30$663.3A$663.A$664.A41$703.3A$
703.A$704.A62$763.3A$763.A$764.A47$823.3A$823.A$824.A59$871.3A$871.A$
872.A24$883.3A$883.A$884.A85$994.3A$994.A$995.A26$1023.3A$1023.A$
1024.A45$1063.3A$1063.A$1064.A23$1103.3A$1103.A$1104.A60$1143.3A$
1143.A$1144.A25$1183.3A$1183.A$1184.A15$1203.3A$1203.A$1204.A46$1242.
3A$1242.A$1243.A62$1302.3A$1302.A$1303.A50$1362.3A$1362.A$1363.A59$
1422.3A$1422.A$1423.A56$1482.3A$1482.A$1483.A59$1542.3A$1542.A$1543.A
62$1602.3A$1602.A$1603.A55$1662.3A$1662.A$1663.A13$1685.2A$1685.A.A$
1685.A12$1701.3A$1701.A$1702.A15$1721.3A$1721.A$1722.A21$1742.2A$
1741.2A$1743.A14$1746.2A$1746.A.A$1746.A27$1766.2A$1766.A.A$1766.A5$
1786.2A$1786.A.A$1786.A17$1806.2A$1806.A.A$1806.A28$1826.2A$1826.A.A$
1826.A32$1878.2A$1878.A.A$1878.A38$1910.2A$1910.A.A$1910.A38$1967.2A$
1967.A.A$1967.A38$2007.2A$2007.A.A$2007.A6$2015.2A$2015.A.A$2015.A6$
2023.2A$2023.A.A$2023.A22$2042.2A$2042.A.A$2042.A38$2073.A$2072.2A$
2072.A.A38$2116.2A$2116.A.A$2116.A38$2156.2A$2156.A.A$2156.A!
```

What do you do with ill crystallographers? Take them to the

**!***mono*-clinic- gameoflifemaniac
**Posts:**1117**Joined:**January 22nd, 2017, 11:17 am**Location:**There too

### Re: Sample metapatterns made of Calcyman's metacells

So the 512 eaters decide if at a certain configuration of 8 neighbours a dead cell gets born or a live cell will survive or die, right? But to be sure, what's the order of those configurations?

Code: Select all

```
x = 21, y = 5, rule = B3/S23
b2o2bo2b2o2b2o2bobobo$o3bobobobobobobobobo$bo2bobob2o2b2o3bo2bo$2bobob
obobobobo2bo$2o3bo2bobobobo2bo2bo!
```

### Re: Sample metapatterns made of Calcyman's metacells

0, 1, 2, 3, 4, 5, 6, 7, 8.gameoflifemaniac wrote:So the 512 eaters decide if at a certain configuration of 8 neighbours a dead cell gets born or a live cell will survive or die, right? But to be sure, what's the order of those configurations?

"8" is the center cell, so the 2^8th eater (counting from zero in the northwest) is the first of 256 eaters that encode what happens if the center cell is ON. The best way to understand the programming in detail is to look at a unit cell at T=0 programmed for a particular rule -- Life, let's say. Eater #0 is damaged, so a cell turns OFF when all cells around it are OFF. Eater #7 is undamaged, because 2^

**0**+ 2^

**1**+ 2^

**2**= 7, and a cell should turn ON when neighbors

**0**,

**1**, and

**2**are ON.

You'll see that the same pattern holds for other combinations of neighbors -- every combination of three ON neighbors has an undamaged eater. And in the second half of the eater table, there are more undamaged eaters -- every possible way that you can add up 2^8 + 2^M + 2^N to get two ON neighbors and therefore survival.

Check the above link for some hopefully helpful diagrams. There's also rule integer on the LifeWiki.

- gameoflifemaniac
**Posts:**1117**Joined:**January 22nd, 2017, 11:17 am**Location:**There too

### Re: Sample metapatterns made of Calcyman's metacells

Ugh... you promised something...dvgrn wrote:EDIT:I did notice an exceptional case that might qualify as a bug. If you're trying to program the megacell to simulate a B0-no-S8 rule, you'll end up instead with the odd-generations rule that Golly uses to simulate B0-no-S8 rules. Since there's a different even-generations rule, the megafied pattern ends up not working right. Will fix that... relatively soon.

Code: Select all

```
x = 21, y = 5, rule = B3/S23
b2o2bo2b2o2b2o2bobobo$o3bobobobobobobobobo$bo2bobob2o2b2o3bo2bo$2bobob
obobobobo2bo$2o3bo2bobobobo2bo2bo!
```

- gameoflifemaniac
**Posts:**1117**Joined:**January 22nd, 2017, 11:17 am**Location:**There too

### Re: Sample metapatterns made of Calcyman's metacells

And you could update the megafier-universal script for Golly 3.0 to support MAP rules. I double posted because I wanted you to notice me.

Code: Select all

```
x = 21, y = 5, rule = B3/S23
b2o2bo2b2o2b2o2bobobo$o3bobobobobobobobobo$bo2bobob2o2b2o3bo2bo$2bobob
obobobobo2bo$2o3bo2bobobobo2bo2bo!
```

### Re: Sample metapatterns made of Calcyman's metacells

Please be patient, or try and update the stuff yourself.

\100\97\110\105

- Saka
**Posts:**3517**Joined:**June 19th, 2015, 8:50 pm**Location:**In the kingdom of Sultan Hamengkubuwono X-
**Contact:**

### Re: Sample metapatterns made of Calcyman's metacells

It would be very nice to see this.drc wrote:Please be patient, or try and update the stuff yourself.

Code: Select all

```
o3b2ob2obo3b2o2b2o$bo3b2obob3o3bo2bo$2bo2b3o5b3ob4o$3o3bo2bo2b3o3b3o$
4bo4bobo4bo$2o2b2o2b4obo2bo3bo$2ob4o3bo2bo2bo2bo$b2o3bobob2o$3bobobo5b
obobobo$3bobobob2o3bo2bobo!
```

Add your computer to the Table of Lifeenthusiast Computers!

### Re: Sample metapatterns made of Calcyman's metacells

I'd definitely like to get that script into Golly 3.0, if only to have an impressively weird and suboptimal way to show what rules with B0 are really doing. Golly is now hiding that so successfully that it's kind of confusing.Saka wrote:It would be very nice to see this.drc wrote:Please be patient, or try and update the stuff yourself.

As far as I know, though, the script should work fine with half of all MAP rules already. Nobody has seen any problem with the 2^511 non-B0 MAP rules, have they?

I'm usually pretty careful to hedge my promises, and in this case "relatively soon" should be considered on a geologic timescale, as in, "relatively soon, [total] solar eclipses won't be possible".dvgrn wrote:Will fix that... relatively soon.

Would anyone care to help out this project by working on some code to write out an .mc file directly for any selected pattern, based on an .mc file containing just a few megacells, enough to show all the required combinations of ON and OFF quarter-cells? This would make it possible for Golly to build much bigger patterns without running out of memory in the composition stage.

(Now I remember why I've been avoiding this...)

I think the thing to do would be to paste two OFF cells and two ON cells into an empty universe, like so:

Code: Select all

```
x = 32, y = 32, rule = B/S012345678
7b2o$6b4o$5bob2obo$4bo2b2o2bo$3bo3b2o3bo$2bo4b2o4bo$bo5b2o5bo$16o$17o$
bo5b2o5b4o$2bo4b2o4bob2obo$3bo3b2o3bo2b2o2bo$4bo2b2o2bo3b2o3bo$5bob2ob
o4b2o4bo$6b4o5b2o5bo$7b17o$7b18o$6b4o5b11o$5bob2obo4b7ob2obo$4bo2b2o2b
o3b6o2b2o2bo$3bo3b2o3bo2b5o3b2o3bo$2bo4b2o4bob4o4b2o4bo$bo5b2o5b4o5b2o
5bo$32o$32o$bo5b2o5bo2bo5b8o$2bo4b2o4bo4bo4b7o$3bo3b2o3bo6bo3b6o$4bo2b
2o2bo8bo2b5o$5bob2obo10bob4o$6b4o12b4o$7b2o14b2o!
```

In other words, there will be a largest hashtile pointing to four smaller hashtiles, each of which points to four hashtiles the next size down. And it will be possible to see this in the actual file. Let's try it with a larger sample to make sure this works:

Code: Select all

```
x = 64, y = 64, rule = B/S012345678
15b2o$14b4o$13bob2obo$12bo2b2o2bo$11bo3b2o3bo$10bo4b2o4bo$9bo5b2o5bo$
8bo6b2o6bo$7bo7b2o7bo$6bo8b2o8bo$5bo9b2o9bo$4bo10b2o10bo$3bo11b2o11bo$
2bo12b2o12bo$bo13b2o13bo$32o$33o$bo13b2o13b4o$2bo12b2o12bob2obo$3bo11b
2o11bo2b2o2bo$4bo10b2o10bo3b2o3bo$5bo9b2o9bo4b2o4bo$6bo8b2o8bo5b2o5bo$
7bo7b2o7bo6b2o6bo$8bo6b2o6bo7b2o7bo$9bo5b2o5bo8b2o8bo$10bo4b2o4bo9b2o
9bo$11bo3b2o3bo10b2o10bo$12bo2b2o2bo11b2o11bo$13bob2obo12b2o12bo$14b4o
13b2o13bo$15b33o$15b34o$14b4o13b19o$13bob2obo12b15ob2obo$12bo2b2o2bo
11b14o2b2o2bo$11bo3b2o3bo10b13o3b2o3bo$10bo4b2o4bo9b12o4b2o4bo$9bo5b2o
5bo8b11o5b2o5bo$8bo6b2o6bo7b10o6b2o6bo$7bo7b2o7bo6b9o7b2o7bo$6bo8b2o8b
o5b8o8b2o8bo$5bo9b2o9bo4b7o9b2o9bo$4bo10b2o10bo3b6o10b2o10bo$3bo11b2o
11bo2b5o11b2o11bo$2bo12b2o12bob4o12b2o12bo$bo13b2o13b4o13b2o13bo$64o$
64o$bo13b2o13bo2bo13b16o$2bo12b2o12bo4bo12b15o$3bo11b2o11bo6bo11b14o$
4bo10b2o10bo8bo10b13o$5bo9b2o9bo10bo9b12o$6bo8b2o8bo12bo8b11o$7bo7b2o
7bo14bo7b10o$8bo6b2o6bo16bo6b9o$9bo5b2o5bo18bo5b8o$10bo4b2o4bo20bo4b7o
$11bo3b2o3bo22bo3b6o$12bo2b2o2bo24bo2b5o$13bob2obo26bob4o$14b4o28b4o$
15b2o30b2o!
```

Code: Select all

```
[M2] (golly 3.0b1)
#R B/S012345678
.......*$......**$.....*.*$....*..*$...*...*$..*....*$.*.....*$*......*$
.......*$......*$.....*$....*$...*$..*$.*$********$
.......*$.......*$.......*$.......*$.......*$.......*$.......*$********$
4 0 1 2 3
*$**$*.*$*..*$*...*$*....*$*.....*$*......*$
*$*$*$*$*$*$*$********$
*$.*$..*$...*$....*$.....*$......*$********$
4 5 0 6 7
********$.*$..*$...*$....*$.....*$......*$.......*$
********$.......*$.......*$.......*$.......*$.......*$.......*$.......*$
*......*$.*.....*$..*....*$...*...*$....*..*$.....*.*$......**$.......*$
4 9 10 0 11
********$*$*$*$*$*$*$*$
********$......**$.....*.*$....*..*$...*...*$..*....*$.*.....*$*......*$
*......*$*.....*$*....*$*...*$*..*$*.*$**$********$
4 13 14 15 3
5 4 8 12 16
5 0 0 8 0
********$**$*.*$*..*$*...*$*....*$*.....*$*......*$
*......*$.*.....*$..*....*$...*...*$....*..*$.....*.*$......**$********$
4 19 10 6 20
********$......*$.....*$....*$...*$..*$.*$*$
*......*$*.....*$*....*$*...*$*..*$*.*$**$*$
4 13 22 23 0
5 4 21 12 24
********$********$********$********$********$********$********$********$
********$********$******.*$*****..*$****...*$***....*$**.....*$*......*$
********$*******$******$*****$****$***$**$********$
4 26 27 28 3
********$*******$******$*****$****$***$**$*$
4 26 30 30 0
5 29 8 12 31
6 17 18 25 32
```

Look at the last lines of the above sample file. "6 17 18 25 32" is the only level-6 hashtile. It points to the four level-5 hashtiles, the ones that start with "5" -- lines 19, 20, 27, and 34 of the actual .mc file, thanks to the two header lines. The order is always NW, NE, SW, SE.

Each of those four level-5 lines points to four previous lines specifying its level-4 hashtiles, in the same order:

Code: Select all

```
5 4 8 12 16
5 0 0 8 0
5 4 21 12 24
5 29 8 12 31
```

Code: Select all

`x = 64, y = 64, rule = LifeHistory`

15.2A$14.4A$13.A.2A.A$12.A2.2A2.A$11.A3.2A3.A$8.D.A4.2A4.A2.3D13.3D

13.3D$7.2DA5.2A5.AD3.D11.D3.D11.D3.D$6.D.D6.2A6.D3.D11.D2.2D11.D2.2D$

5.D.AD6.2A7.3D12.D.D.D11.D.D.D$5.5D5.2A6.D.A.D11.2D2.D11.2D2.D$5.A2.D

6.2A6.D2.AD11.D3.D11.D3.D$4.A3.D6.2A7.3DA12.3D13.3D$3.A11.2A11.A$2.A

12.2A12.A$.A13.2A13.A$32A$33A$.A13.2A13.4A$2.A12.2A12.A.2A.A$3.A11.2A

11.A2.2A2.A$4.A10.2A10.A3.2A3.A$4.DA3.3D3.2A3.D4.3D3.2A4.A2.3D13.3D$

3.2D.A.D3.D2.2A2.2D3.DA5.2A5.AD3.D11.D3.D$4.D2.A4.D2.2A3.D3.D6.2A6.D

3.D11.D2.2D$4.D3.A2.D3.2A3.D2.A4D3.2A7.3D12.D.D.D$4.D4.AD4.2A3.D.A.D

3.D2.2A6.D.A.D11.2D2.D$4.D4.DA4.2A3.DA2.D3.D2.2A6.D2.AD11.D3.D$3.3D2.

5D2.2A2.3D3.3D3.2A7.3DA12.3D$12.A2.2A2.A11.2A11.A$13.A.2A.A12.2A12.A$

14.4A13.2A13.A$15.33A$15.34A$14.4A13.19A$13.A.2A.A12.15A.2A.A$12.A2.

2A2.A11.14A2.2A2.A$11.A3.2A3.A10.13A3.2A3.A$8.D.A4.2A3.3D4.D3.4A3D3A

3D3.2A4.A2.3D$7.2DA5.2A2.D2.AD2.2D3.3AD3ADADA2.D2.2A5.AD3.D$6.D.D6.2A

6.D3.D3.7ADAD3.D2.2A6.D3.D$5.D.AD6.2A5.D.A2.D3.6AD2A.4D2.2A7.3D$5.5D

5.2A4.D3.A.D3.5AD2A5.D2.2A6.D.A.D$5.A2.D6.2A3.D5.AD3.4AD2A6.D2.2A6.D

2.AD$4.A3.D6.2A2.5D2.3D2.3A5D2.3D3.2A7.3DA$3.A11.2A11.A2.5A11.2A11.A$

2.A12.2A12.A.4A12.2A12.A$.A13.2A13.4A13.2A13.A$64A$64A$.A13.2A13.A2.A

13.16A$2.A12.2A12.A4.A12.15A$3.A11.2A11.A6.A11.14A$4.A10.2A10.A8.A10.

13A$4.DA3.3D3.2A3.3D3.A.D7.DA3.3D3.5A3D4AD$3.2D.A.D3.D2.2A2.D3.D.A.2D

6.2D.A.D3.D2.4AD3AD2A2D$4.D2.A4.D2.2A6.DA.D.D7.D2.A4.D2.8ADA2.D$4.D3.

A2.D3.2A5.DA.D2.D7.D3.A2.D3.6A2DA3.D$4.D4.AD4.2A4.DA2.5D6.D4.AD4.8AD

3.D$4.D4.DA4.2A3.DA6.D7.D4.DA4.4AD2A.D3.D$3.3D2.5D2.2A2.5D4.D6.3D2.5D

2.5A3D3.3D$12.A2.2A2.A24.A2.5A$13.A.2A.A26.A.4A$14.4A28.4A$15.2A30.2A!

#C [[ THUMBNAIL THUMBSIZE 2 ZOOM 8 HEIGHT 600 ]]

Code: Select all

```
[M2] (golly 3.0b1)
#R B/S012345678
.......*$......**$.....*.*$....*..*$...*...*$..*....*$.*.....*$*......*$
.......*$......*$.....*$....*$...*$..*$.*$********$
.......*$.......*$.......*$.......*$.......*$.......*$.......*$********$
4 0 1 2 3
*$**$*.*$*..*$*...*$*....*$*.....*$*......*$
*$*$*$*$*$*$*$********$
*$.*$..*$...*$....*$.....*$......*$********$
4 5 0 6 7
********$.*$..*$...*$....*$.....*$......*$.......*$
********$.......*$.......*$.......*$.......*$.......*$.......*$.......*$
*......*$.*.....*$..*....*$...*...*$....*..*$.....*.*$......**$.......*$
4 9 10 0 11
********$*$*$*$*$*$*$*$
********$......**$.....*.*$....*..*$...*...*$..*....*$.*.....*$*......*$
*......*$*.....*$*....*$*...*$*..*$*.*$**$********$
4 13 14 15 3
5 4 8 12 16
5 0 0 8 0
********$**$*.*$*..*$*...*$*....*$*.....*$*......*$
*......*$.*.....*$..*....*$...*...*$....*..*$.....*.*$......**$********$
4 19 10 6 20
********$......*$.....*$....*$...*$..*$.*$*$
*......*$*.....*$*....*$*...*$*..*$*.*$**$*$
4 13 22 23 0
5 4 21 12 24
********$********$********$********$********$********$********$********$
********$********$******.*$*****..*$****...*$***....*$**.....*$*......*$
********$*******$******$*****$****$***$**$********$
4 26 27 28 3
********$*******$******$*****$****$***$**$*$
4 26 30 30 0
5 29 8 12 31
6 17 17 25 32
7 33 33 33 33
```

### Re: Sample metapatterns made of Calcyman's metacells

One minor thing to worry about: Golly doesn't seem to have problems if sub-hashtiles are defined that are never actually used by higher-level hashtiles. However, it will have fits if you try to define another hashtile that's made out of the same four pieces as a hashtile that's already been defined. So we'll have to keep track of the four level-5 hashtiles in the sample pattern, and re-use those numbers when that grouping shows up in a larger pattern that we're building.

-- Either that, or we can deliberately break the sample pattern as we're setting it up, so that we know that none of the level-5 hashtiles will ever show up in the full pattern. I kind of like that idea, actually. The starting .mc could be something analogous to this, but with real quarter-megacells and quarter-megacell pairs standing in for these 16x16 tiles:

That would mean no duplication -- each of the eight required pieces of any large megafied pattern will show up exactly once in the initial .mc file, with zeros for the NW and NE hashtiles at the highest level. And there'd be no danger that either of those two quarter-tiles would appear in an actual megafied pattern, which makes it a little simpler to write out the custom .mc based on these pieces:

Ruleloader-algo format sample macrocell file --
If you switch Golly to the Hashlife algo instead of RuleLoader, it will save the same file in this form:

Hashlife-format sample macrocell file --
To understand macrocell files well it would be good to get comfortable with these two forms. They're completely equivalent, but in Hashlife macrocell format, the lowest-level "leaf nodes" are 8x8 tiles, stored as lines of [*.$]s. RuleLoader allows for more than two states, so in that case Golly starts with single cells and lists four state numbers -- the NW, NE, SW, and SE corner states -- for each level-1 2x2 hashtile.

-- No, none of this has anything to do with fixing the B0 problem, but it's one of two other items needed to get the universal megafier script in full working order. The other is to define the ON and OFF megacells in terms of their smaller component mechanisms, so that the whole script will be on the order of 50K and won't need a separate OFF cell pattern file.

-- Either that, or we can deliberately break the sample pattern as we're setting it up, so that we know that none of the level-5 hashtiles will ever show up in the full pattern. I kind of like that idea, actually. The starting .mc could be something analogous to this, but with real quarter-megacells and quarter-megacell pairs standing in for these 16x16 tiles:

Code: Select all

`x = 64, y = 32, rule = LifeHistory`

15.49A$14.3A13.33A$13.A.2A12.A.15A.15A$12.A2.2A11.A2.14A2.14A$11.A3.

2A10.A3.13A3.13A$10.A4.2A9.A4.12A4.12A$9.A5.2A8.A5.11A5.11A$8.A6.2A7.

A6.10A6.10A$7.A7.2A6.A7.9A7.9A$6.A8.2A5.A8.8A8.8A$5.A9.2A4.A9.7A9.7A$

4.A10.2A3.A10.6A10.6A$3.A11.2A2.A11.5A11.5A$2.A12.2A.A12.4A12.4A$.A

13.3A13.3A13.3A$49A$49A$A13.A2.A13.3A13.3A$A12.A4.A12.2A.A12.2A.A$A

11.A6.A11.2A2.A11.2A2.A$A10.A8.A10.2A3.A10.2A3.A$A9.A10.A9.2A4.A9.2A

4.A$A8.A12.A8.2A5.A8.2A5.A$A7.A14.A7.2A6.A7.2A6.A$A6.A16.A6.2A7.A6.2A

7.A$A5.A18.A5.2A8.A5.2A8.A$A4.A20.A4.2A9.A4.2A9.A$A3.A22.A3.2A10.A3.

2A10.A$A2.A24.A2.2A11.A2.2A11.A$A.A26.A.2A12.A.2A12.A$2A28.3A13.3A13.

A$A30.33A!

#C [[ ZOOM 8 THUMBNAIL THUMBSIZE 2 ]]

Ruleloader-algo format sample macrocell file --

Code: Select all

```
[M2] (golly 3.0b1)
#R B3/S23
1 0 1 1 1
1 0 1 1 0
1 0 1 0 1
2 0 1 2 3
2 0 2 2 0
2 0 3 0 3
3 0 4 5 6
1 0 0 1 1
2 0 2 1 8
2 0 0 8 8
3 0 5 9 10
2 0 3 8 1
3 0 6 10 12
4 0 7 11 13
1 1 1 1 0
1 1 1 0 0
1 1 0 1 0
2 15 16 17 0
2 16 16 0 0
2 17 0 17 0
3 18 19 20 0
1 1 1 1 1
2 16 22 2 3
3 19 23 5 6
2 17 2 22 8
3 20 5 25 10
4 21 24 26 13
2 16 15 2 0
3 19 28 5 0
2 17 2 15 0
3 20 5 30 0
4 21 29 31 0
1 1 1 0 1
1 1 0 0 1
2 33 16 0 34
2 34 0 0 34
3 35 19 0 36
2 16 33 0 3
3 19 38 0 6
2 34 3 0 33
3 36 6 0 40
4 37 39 0 41
5 14 27 32 42
2 22 22 22 22
3 44 44 44 44
2 22 22 15 3
2 22 15 15 0
3 44 46 47 6
2 22 15 22 8
3 44 47 49 10
4 45 48 50 13
3 44 47 47 0
4 45 52 52 0
2 22 16 17 34
3 54 19 20 36
1 1 0 1 1
2 17 0 56 8
3 20 0 57 10
2 34 3 8 22
3 36 6 10 59
4 55 39 58 60
2 56 0 17 34
3 62 0 20 36
2 34 0 8 56
3 36 0 10 64
4 63 0 58 65
5 51 53 61 66
6 0 0 43 67
```

Hashlife-format sample macrocell file --

Code: Select all

```
[M2] (golly 3.0b1)
#R B3/S23
.......*$......**$.....*.*$....*..*$...*...*$..*....*$.*.....*$*......*$
.......*$......*$.....*$....*$...*$..*$.*$********$
.......*$.......*$.......*$.......*$.......*$.......*$.......*$********$
4 0 1 2 3
********$*$*$*$*$*$*$*$
********$......**$.....*.*$....*..*$...*...*$..*....*$.*.....*$*......*$
*......*$*.....*$*....*$*...*$*..*$*.*$**$********$
4 5 6 7 3
********$......*$.....*$....*$...*$..*$.*$*$
*......*$*.....*$*....*$*...*$*..*$*.*$**$*$
4 5 9 10 0
********$.*$..*$...*$....*$.....*$......*$.......*$
********$.......*$.......*$.......*$.......*$.......*$.......*$.......*$
*......*$.*.....*$..*....*$...*...*$....*..*$.....*.*$......**$.......*$
4 12 13 0 14
5 4 8 11 15
********$********$********$********$********$********$********$********$
********$********$******.*$*****..*$****...*$***....*$**.....*$*......*$
********$*******$******$*****$****$***$**$********$
4 17 18 19 3
********$*******$******$*****$****$***$**$*$
4 17 21 21 0
********$**$*.*$*..*$*...*$*....*$*.....*$*......*$
*$*$*$*$*$*$*$********$
*......*$.*.....*$..*....*$...*...*$....*..*$.....*.*$......**$********$
4 23 13 24 25
*$**$*.*$*..*$*...*$*....*$*.....*$*......*$
*$.*$..*$...*$....*$.....*$......*$********$
4 27 0 24 28
5 20 22 26 29
6 0 0 16 30
```

-- No, none of this has anything to do with fixing the B0 problem, but it's one of two other items needed to get the universal megafier script in full working order. The other is to define the ON and OFF megacells in terms of their smaller component mechanisms, so that the whole script will be on the order of 50K and won't need a separate OFF cell pattern file.