Hi.
I'm wondering: what kind of programs do you use to make Life patterns? Also, is there some database of known reactions in the Game of Life? How are reactions involving known components found, like interactions between gliders and oscillators?
How are Life patterns made?
Re: How are Life patterns made?
To clarify: I've noticed that hand-assembling patterns from known components in programs like Golly is quite user-unfriendly, because one often needs the components at differing stages of evolution. So I was wondering if there was an "easier" program.
Re: How are Life patterns made?
There are some common-use search programs on this page.
But some patterns, like Caterpillar or Gemini required writing search programs of their own kind.
P. S. The most complete catalog of patterns is probably http://pentadecathlon.com/
But some patterns, like Caterpillar or Gemini required writing search programs of their own kind.
P. S. The most complete catalog of patterns is probably http://pentadecathlon.com/
Ivan Fomichev
Re: How are Life patterns made?
Mike3,
To fully answer your questions, some information about your interests in CA and what you would like to do with them would be useful.
Are you only interested in the Life rule or do you want to explore other rules with a variety of neighborhoods and state interactions? Do you want to construct large complex patterns or would the examination of small patterns using a limited world satisfy you? Do you want to find new interesting rules that support ships (orthogonal, diagonal and knight), puffers, guns, oscillators and replicators from a world set to random states and then construct larger objects from these to discover the rules rhythms? Can you write programs? If so, what languages do you use?
Brian Prentice
To fully answer your questions, some information about your interests in CA and what you would like to do with them would be useful.
Are you only interested in the Life rule or do you want to explore other rules with a variety of neighborhoods and state interactions? Do you want to construct large complex patterns or would the examination of small patterns using a limited world satisfy you? Do you want to find new interesting rules that support ships (orthogonal, diagonal and knight), puffers, guns, oscillators and replicators from a world set to random states and then construct larger objects from these to discover the rules rhythms? Can you write programs? If so, what languages do you use?
Brian Prentice
Re: How are Life patterns made?
There's been quite a bit of discussion over the years about how to make a better pattern editor. Various attempts have been made at user-friendliness... notably, Life32 had a "scrapbook" where you could load various objects that you could then assemble into larger constructions; and long before that, Xlife had a structured pattern format that allowed you to define larger patterns in terms of functional subgroups. But there's nothing I know of that can automatically make phase adjustments on the fly, as you're moving pieces around.mike3 wrote:To clarify: I've noticed that hand-assembling patterns from known components in programs like Golly is quite user-unfriendly, because one often needs the components at differing stages of evolution. So I was wondering if there was an "easier" program.
Here's a random example, to make sure we're talking about the same kind of thing: suppose you want to select two adjacent p7 pipsquirter reflectors that are reflecting a stream of gliders, and move both of them together -- let's say in this p511 glider gun:
Code: Select all
#C sub-optimal p511 glider gun
#C (can probably be made smaller with Snarks, these days!)
x = 134, y = 89, rule = B3/S23
73b2o$73bo3bo$69b2o3b6o$69bo2bobo5bo$70b3o2b2obobo$73bobobobo$72bo2bob
o$72b2obob2o$73bob2o2bo$61bo9bo2bobobo2bo$61b3o7b2obobobob2o$64bo8bob
2obobo$63b2o8bobob2o2bo$72b2obo3bobo$66bo3bo5b3obo21bo2bo2bo$65bobo2bo
b3o3bo20bo2b7o$61b2o2b2o3bo4b2obo20b3o$61b2o9b2obobo25bob2o$15bo2bo2bo
51bobo25b3o3bo$15b7o2bo48bobo24bo4bobo$22b3o49bo24bob5ob2o$17bob2o62bo
15bobo5bo$16bobob3o58b3o14b2o2b3o2bo$16bobo4bo56bo19bobob2obobo$15b2ob
5obo55b2o7bo10bobobobob2o$16bobo3bobo40b2o22b3o7b2obobobo$16bob2obo2b
2o40bo25bo8bo4bo$14bobo4bobo42bobo22b2o8bobob2ob2o$14b2obobobobo10bo
32b2o10bo20b2o5bobo$17bo3bob2o7b3o36b2o5bobo13bo4bo3b4o$17bob2obo8bo
38bo2bo4bobo12bobo3b2obo$14b2ob2o3bo8b2o38b2o6bo4b2o3b2o2b2o4bo3b4o$
14bobo3bob2o43b2o15bobo2b2o9b2obo2bo$17b5o2bo4bo36bobo17bo14bo$21bob3o
2bobo35bo19b2o13bobo$17b4o3bo4b2o2b2o30b2o35b2o$17bo2bob2o9b2o$22bo$
20bobo$20b2o$27bo$25b2o49b2o$26b2o48b2o$10b2o5b2o$11bo5b2o$11bobo$12b
2o$16b2o$15bobo$16bo98b2o5b2o$64bo50b2o5bo$64b3o53bobo$8bo58bo52b2o$b
2o3b3o2bo54b2o48b2o$2bo2bo3b3o2b2ob2o97bobo$2bobob2o4b3o3b3o16b2o78bo$
2o2bobob4o4bo4bo14bobo22b2o$bob2o3bo3bob2ob2ob2o14bo24b2o45bobo$bobob
2ob2o2b2obobo6b2o9b2obo2bo66b2o15bo$2o2bob3o4bobobo6b2o2b2o5bo2b4o67bo
12bo2b3o3b2o$bobo6b4obob2o9bobo6bo77b2ob2o2b3o3bo2bo$bo2b6o4bo14bo5bo
2b4o50b2ob2o16b3obob3o4b2obobo$2o4bo3bo2bo21b2obo3bobo48bobobo14bo4bo
4b4obobo2b2o$9b2o2b2o11b2o8bo2b3ob2o48bo3bo14b2ob2ob2obo5bo2bobo$27bo
8bob2obo48b2obobob2o9b2o6bobo2bo2bo2bo2bobo$24b3o7b2obo3bo48bobob2o2bo
5b2o2b2o6bobo4bobobob2ob2o$24bo10bobo3bob2o47bo3b2o5bobo9b2obob4o6bobo
$35bobobo2bobo47b4o2bo5bo14bo4b6o2bo$33b2o2b4obo47b2o3bob2o21bo2bo3bo
4b2o$34bobo3bobo37b2o7bo2bo4bo8b2o11b2o2b2o$34bob2ob2ob2o36b2o7b2obob
2obo8bo$35bo3bo2bo49bo3bob2o7b3o$36b3obobo49b2o2bobo10bo$38b2obo48b2o
2bobobo$34b3o54bobo2bo2b2o$34bo2b7o47bo5bobo$37bo2bo2bo46b2ob5obo$75b
2o14bo6bo$75bobo13bobo2b2o$77bo14b4o$77b2o18b3o$90b7o2bo$90bo2bo2bo4$
70bobo$71b2o$71bo!- 1) Hold down Ctrl and click on the two left-most reflectors. This would be one click each, even though each reflector is actually made out of a block, a boat, a fishhook eater, and a big p7 oscillator. The editor would know that those objects are grouped into a functional unit that can be moved -- though you could ungroup them if you wanted to, of course.
2) Click and drag the two reflectors. If you enabled "snap" functionality, the group would be constrained to move only diagonally NW and SE.
3) There would be a color change every 7 cells diagonally as you dragged the group. These are the only places where the two reflectors can be dropped to create a working gun with no other changes, period 511+56N.
4) If the reflectors are dropped at a "non-working" location, say 15 cells diagonally NW, then the phases of the two p7 oscillators should change automatically so that the next input glider won't destroy them.
5) The two "downstream" reflectors nearby have not been moved, but they're linked by a glider stream into the same reflector chain. Their phases should also shift automatically by the same number of ticks as the dropped reflectors.
6) Ideally the application should notice that the gun will no longer produce a p7N stream of gliders, and put up a flag that "something needs to be fixed". The next step might be to select and delete the two remaining p7 reflectors, and drop in Snarks instead.
7) The Snark's reflection reaction has a different timing and a different output color, so the last Snark should "snap" into its only valid location to produce a new p7N gun:
Code: Select all
#C sample p637 glider gun -- could be made smaller,
#C e.g., by replacing p7 oscillators at the right with Snarks as well,
#C but I'm trying to avoid getting back into optimizing the gun collection!
x = 149, y = 81, rule = LifeHistory
68.2A3.2A$15.A2.A2.A46.2A2.A.3A$15.7A2.A47.A4.A$22.3A43.4A.2A2.A$17.A
B2A47.A2.A.A.A.2A$16.A.A.3A47.BABABA.A$16.A.AB3.A47.B2ABA.A$15.2A.5A.
A47.2B.BA$16.A.A3.A.A46.3B$16.A.2ABA2.2A36.2A6.4B$14.A.A.2B.A.A39.A6.
B2A3B$14.2A.ABA.A.A10.A28.A.AB3.B2A3B$17.A.B.A.2A7.3A29.2AB.10B39.A2.
A2.A$17.A.2A.A8.A34.13B35.A2.7A$14.2A.2A2B.A8.2A33.5B3A6B34.3A$14.A.A
3.A.2A5.4B33.7BA7B37.2ABA$17.5A.BAB2.BAB37.4BA3B2.4B34.3A.A.A$21.AB3A
B.ABAB36.6B5.4B32.A3.AB.A$17.4A2.BAB.2B2AB.2A32.9B4.4B30.A.2AB2A.2A$
17.A2.A.2A2.7B2A31.4B4.2A5.4B13.A15.A.A3.A.A$22.A4.7B31.4B5.A7.4B10.
3A14.2A2.4A.A$20.A.A4.7B30.4B7.3A5.4B8.A19.A.A.AB.A.A$20.2A5.6B30.4B
10.A6.4B6.B2A7.A10.A.A.2BA.2A$26.8B28.4B14.2A3.4B3.5B7.3A7.2A.A.B.A$
25.4B2.4B26.4B16.A4.4B2.3B12.A8.A.2A.A$24.4B4.4B24.4B17.A.AB2.8B11.2A
8.A.B3A.2A$10.2A5.2A4.4B6.4B22.4B19.2AB.8BA2B9.4B5.2A.A3.A.A$11.A5.2A
2B.4B8.4B20.4B22.9BABA3B9.BAB2.2BA.B4A$11.A.AB3.7B10.4B18.4B22.10BABA
3B8.BABA.5BA$12.2AB.8B12.4B16.4B24.10BA2B.B2A3.2A.B2A2B.2BA2.4A$14.2B
2A5B14.4B14.4B23.2AB.11B.BA.A2.2A7B2.2A.A2.A$14.BABA5B15.4B12.4B23.A.
AB3.7B6.A3.7B4.A$15.BA7B15.4B10.4B24.A7.7B5.2A2.7B4.A.A$17.8B15.4B8.
4B24.2A7.6B11.6B5.2A$16.B.B3.4B15.4B6.4B34.7B9.8B$8.A6.3B5.4B15.4B4.
4B35.8B7.4B2.4B$.2A3.3A2.A3.3B6.4B15.4B2.4B36.9B5.4B4.4B$2.A2.A3.3A2.
2AB2A6.4B15.8B37.5B.4B3.4B6.4B$2.A.A.2A4.3A.B.3A5.4B10.A4.6B37.7B.4B.
4B8.4B$2A2.A.A.4A3.BA4.A5.4B7.3A5.4B38.3B2A2B2.7B10.4B$.A.2A.B.A3.AB
2A.2A.2A6.4B5.A7.6B38.2B2AB4.5B12.4B$.A.A.2A.2A2B2A.A.A11.4B4.2A5.8B
37.6B3.5B13.4B$2A.BAB3A2B2.A.A.A12.9B4.4B2.4B36.6B2.7B13.4B$.A.A6.4A.
A.2A12.6B5.4B4.4B34.7B.4B.4B13.4B$.A2.6A4.A16.8B2.4B6.4B33.6B.4B3.4B
13.4B$2A4.A3.A2.A15.15B8.4B33.9B5.4B13.4B$9.2A2.2A14.14B10.4B32.8B7.
4B13.4B$29.13B12.4B30.8B9.4B13.4B4.2A5.2A$27.2AB.10B14.4B20.A8.7B11.
4B13.4B.2B2A5.A$26.A.AB3.B2A3B17.4B19.3A6.6B13.4B13.7B3.BA.A$26.A6.B
2A3B18.4B21.A4.7B14.4B13.8B.B2A$25.2A6.4B21.4B19.2A4.7B3.B11.4B13.5B
2A2B$34.3B22.4B18.4B.8B2.3B11.4B12.5BABAB$35.2B.BA20.4B19.11B.4B12.4B
10.7BAB$34.B2ABA.A20.4B11.2A4.12B.4B13.4B8.8B$33.BABABA.A21.4B9.B2AB
3.20B11.4B6.4B3.B.B$31.A2.A.A.A.2A21.4B9.2B4.11B.9B11.4B4.4B5.3A6.A$
31.4A.2A2.A23.4B9.2B.10B3.10B12.4B2.4B6.3B3.A2.3A3.2A$35.A4.A24.4B7.
27B13.8B6.ABABA2.3A3.A2.A$31.2A2.A.3A26.4B6.28B3.2A.2A5.6B5.3A.A.3A4.
2A.A.A$31.2A3.2A29.4B3.31B3.A.A.A4.7B3.A4.AB3.4A.A.A2.2A$68.37B3.A3.A
4.7B3.2A.2A.B3A3.A.A.2A.A$69.34B.B2A.A.A.2A2.7B2A6.A.A.B2AB2A.2B.A.A$
70.33B.BA.A.2A2.2BA.2B2AB.2A6.A.A.A2.ABAB4A.2A$71.31B5.A3.3ABAB.ABAB
8.2A.A.4A6.A.A$72.22B.3B2.B6.3A2B.2BA2.BAB13.A4.6A2.A$74.17B3.4B7.2A
3.A.2A5.4B12.A2.A3.A4.2A$74.17B3.B2AB6.A2.2ABA.A8.2A11.2A2.2A$74.17B
4.2A7.2A.A.2A.A8.A$77.15B15.A.A.A.2A7.3A$77.14B16.2AB.A.A10.A$77.13B
15.2A.BA.A.A$76.14B16.A.4A2.2A$74.16B16.A.B3.A.A$73.17B15.2A.AB3A.A$
73.14B2.B2A14.A.AB3.A$74.13B2.BA.A13.A.A.3A$76.11B5.A14.4A$78.8B6.2A
18.3A$79.5B21.7A2.A$80.4B21.A2.A2.A!The latest experiment along these lines, oddly enough, is Paul Chapman's Seeds of Destruction puzzle game. In the latest alpha, it's possible to copy something like a Snark out of Golly and drop it in as a "seed pattern" in front of an oncoming glider. You can "feel around" with the mouse to see where you want to put it; when you get it right, you'll see the output glider hit its intended target, so you know you can drop the Snark there.
At the moment, though, you'd have some serious difficulties if you tried to do the same thing with a non-stable seed object (like a p7-pipsquirter reflector). Since you're stuck with trying just one phase of an object at a time, the reflector would only work at one out of seven locations, even if you had it lined up right.
Still, it's early days yet for the SODGame, and in the meantime it can at least give you a feeling for how connecting objects with a Life editor ought to work...!
Re: How are Life patterns made?
dvgrn,
viewtopic.php?f=11&t=967#p8047
Brian Prentice
Please read this:But there's nothing I know of that can automatically make phase adjustments on the fly, as you're moving pieces around.
viewtopic.php?f=11&t=967#p8047
Brian Prentice
Re: How are Life patterns made?
1. Insofar as building new patterns is concerned, I'm most curious about the Conway's Life rule, since it seems the most studied in terms of the amount of patterns and stuff available for it, though I am curious to some extent about other rules as well.bprentice wrote:Mike3,
To fully answer your questions, some information about your interests in CA and what you would like to do with them would be useful.
Are you only interested in the Life rule or do you want to explore other rules with a variety of neighborhoods and state interactions? Do you want to construct large complex patterns or would the examination of small patterns using a limited world satisfy you? Do you want to find new interesting rules that support ships (orthogonal, diagonal and knight), puffers, guns, oscillators and replicators from a world set to random states and then construct larger objects from these to discover the rules rhythms? Can you write programs? If so, what languages do you use?
Brian Prentice
2. Not sure (on the pattern size thing).
3. Actually, yes I would be interested in finding new rules for spaceships, especially "non-totalistic" ones. Even for a radius-1 Moore neighborhood there's still a HUGE (2^512) space for non-totalistic rules.
4. Yes, I can make programs. I use C and C++ as programming languages -- toyed a little with Python and Lua (a scripting language, not a "general-purpose" programming language, which is often used in games), but didn't go very far with these last two. C and C++ are what I'm most familiar with. But I'm not familiar with all the various search algorithms used for this kind of thing.
Re: How are Life patterns made?
Oho, yes -- MCell-style floating selections! I recognize a lot of the icons from the applet, too... It took me years to move to Golly from MCell, and it was mostly because I didn't want to leave behind those amazingly handy floating selections. (Since then I have managed to get used to Golly's background-type selections pretty well -- among other things, it turns out that they're pretty useful for marking reference rectangles to paste patterns into, often from one layer to another.bprentice wrote:Please read this:But there's nothing I know of that can automatically make phase adjustments on the fly, as you're moving pieces around.
http://www.conwaylife.com/forums/viewto ... =967#p8047
In MCell, I especially liked being able to select an object to "float" it, then grab it with the mouse and move it wherever I wanted, run the rest of the pattern as long as I wanted (sometimes allowing gliders to pass right under the selection!) -- then click outside the selection rectangle to drop the floating selection back into the universe again.
SquareCell doesn't seem to work quite the same way -- it would take me a while to get used to that Ctrl key functionality. Also, does the SquareCell executable work slightly differently from the applet? In the applet, when you grab a selection to drag it around, you always suddenly end up holding it by the upper left corner, which is a bit annoying if you want to line up some other corner with something.
The executable does things a bit differently, no sudden jumps to the upper left corner, but you still don't end up with the mouse pointer fixed on one point of the selection -- and for some reason you get a floating copy of the pattern, but unlike in the applet, the original pattern is still underneath and has to be cleaned up somehow. Is there some way to change this behavior? I couldn't see where a setting like this would be.
Anyway, yes, this kind of thing can "make phase adjustments... as you're moving pieces around". But it's not quite what I meant by "on the fly"! The idea there was that because of a glider stream or some other periodic connection between components, different locations for (let's say) a reflector might automatically imply different reflector phases.
So I still don't know of any programs that automatically adjust the phase of a reflector as you're moving the reflector around, so that the reflector will still automatically work in its new location without any manual rephasing. Rephasing, so far, is always a separate operation -- and it does seem awfully hard to make it an automatic consequence of moving an object, at least in a general-purpose way that would be really usable.
Another wish-list item just occurred to me (not for SquareCell, just for my hypothetical super-user-friendly Life editor): If you click and drag one reflector in a chain, and a nearby reflector is feeding it gliders, and/or another reflector is catching the gliders that it reflects, it might make sense to automatically move those connected reflectors so that they still line up with the one you moved, and rephase the whole chain appropriately so that it still works.
Re: How are Life patterns made?
Mike,
You might try SquareCell here:
http://bprentice.webenet.net/Square%20C ... 0Cell.html
As discussed above SquareCell provides an alternative to Golly's pattern editing interface which you may prefer. For Life and Life like rules Golly has no peers, but for finding and exploring interesting rules from a larger rule set SquareCell provides some advantages. You can learn more by reading my posts to this forum. SquareCell supports many different rule families, Non Totalistic is one of these. The Java source code for SquareCell can be obtained from the above reference. You, and perhaps others, might enjoy improving and extending the program.
Dave,
When Mirek got frustrated with the CA community in early 2005 and abandoned MCell, he gave me the Delphi source code. I believe he hoped that I would continue to maintain MCell, but I chose instead to rewrite it in Java. As you noticed, I kept some of the icons. I wrote SquareCell for my own use, never intending to release it. But recently I noticed some members of this forum were struggling to get Golly to perform tasks that it was never designed to perform. The threads Alternating rules and KnightLife contain examples. Since SquareCell can easily perform such tasks, I decided to release it.
The SquareCell applet and the executable are the same program and as far as I know perform the same way. You can download SquareCellApplet.jar and double click on it to demonstrate this.
The fact that the top left corner of a selection follows the mouse irritated me too. This was on my list of things to fix for a long time. I simply got used to this feature however, and so it remains. The right most button controls whether a selection is moved or copied. At first this button had to be changed manually, but I found that I was forgetting to reset it after a copy. It now resets to move mode automatically after a copy and must always be changed before a copy. You may have found this behavior confusing.
Brian
You might try SquareCell here:
http://bprentice.webenet.net/Square%20C ... 0Cell.html
As discussed above SquareCell provides an alternative to Golly's pattern editing interface which you may prefer. For Life and Life like rules Golly has no peers, but for finding and exploring interesting rules from a larger rule set SquareCell provides some advantages. You can learn more by reading my posts to this forum. SquareCell supports many different rule families, Non Totalistic is one of these. The Java source code for SquareCell can be obtained from the above reference. You, and perhaps others, might enjoy improving and extending the program.
Dave,
When Mirek got frustrated with the CA community in early 2005 and abandoned MCell, he gave me the Delphi source code. I believe he hoped that I would continue to maintain MCell, but I chose instead to rewrite it in Java. As you noticed, I kept some of the icons. I wrote SquareCell for my own use, never intending to release it. But recently I noticed some members of this forum were struggling to get Golly to perform tasks that it was never designed to perform. The threads Alternating rules and KnightLife contain examples. Since SquareCell can easily perform such tasks, I decided to release it.
The SquareCell applet and the executable are the same program and as far as I know perform the same way. You can download SquareCellApplet.jar and double click on it to demonstrate this.
The fact that the top left corner of a selection follows the mouse irritated me too. This was on my list of things to fix for a long time. I simply got used to this feature however, and so it remains. The right most button controls whether a selection is moved or copied. At first this button had to be changed manually, but I found that I was forgetting to reset it after a copy. It now resets to move mode automatically after a copy and must always be changed before a copy. You may have found this behavior confusing.
Brian