Suggested patterns for Golly

For general discussion about Conway's Game of Life.
User avatar
muzik
Posts: 6604
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Suggested patterns for Golly

Post by muzik »

As it has now been a few weeks, are we now in the clear to be adding new pattern files, or must further work still be done?
Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
User avatar
Andrew
Moderator
Posts: 1039
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: Suggested patterns for Golly

Post by Andrew »

muzik wrote: July 25th, 2025, 8:31 pm As it has now been a few weeks, are we now in the clear to be adding new pattern files, or must further work still be done?
Probably ok to start discussing what additions/changes should be made. Now that Golly supports @NAMES in a .rule file we probably need to update some of the files in the supplied Rules folder. At the moment, only WireWorld.rule and Worm-shared.rule contain @NAMES. Hopefully the creators of the supplied .rule files can make suggestions, if applicable.

As for .rle files with included @RULE data, there is only one so far: calcyman-primer.rle (which replaces calcyman-primer.zip). I think we need to be judicious about which pattern files should have @RULE data. It should really only be done for a rule that is never likely to have more than one .rle file using that rule. For example, Other-Rules/factorize-84.zip should NOT be replaced by factorize-84.rle with the Factorizor rule included because people might want to use that rule to factorize other numbers (but I do think it would be better to replace that zip file with a .rle and add Factorizor.rule to the Rules folder). Maybe Other-Rules/circle-generator.rle is a good candidate for including the Circle.rule data? Happy to take advice about other good candidates.
Use Glu or Glui to explore CA rules on non-periodic tilings: DominoLife and HatLife
Sokwe
Moderator
Posts: 3375
Joined: July 9th, 2009, 2:44 pm

Re: Suggested patterns for Golly

Post by Sokwe »

Has any thought been given to the removal of patterns from the Golly pattern collection? For example, I don't see much point in including Life/Spaceships/diagonal.rle or Life/Spaceships/orthogonal.rle, as they are outdated, and their most interesting content is included in other patterns.
-Matthias Merzenich
User avatar
muzik
Posts: 6604
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Suggested patterns for Golly

Post by muzik »

I certainly wouldn't mind debloating the pattern collection of superseded patterns. There are probably far more interesting spaceship-related patterns that could go in that folder (a series of elemental syntheses from the past ten years or so, anyone?), but I'm coming up short on what other patterns here or elsewhere to actually remove besides those examples...
Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
User avatar
muzik
Posts: 6604
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Suggested patterns for Golly

Post by muzik »

Code: Select all

#N panconfigurational.rle
#O H. H. P. M. P. Cole, 30 September 2023
#C This temporally rotationally symmetric period-72 oscillator fits in a
#C fixed bounding box of 3x3 in all phases.
#C Source: https://conwaylife.com/forums/viewtopic.php?f=11&t=6047&p=168185#p168185
x = 3, y = 3, rule = B2ei3er4aijny5inqr/S012ak3ajnr4i5ijn6a
3o2$2bo!
Parity Replicator Collection v1.6 is now live - please send all relevant discoveries here.
erictom333
Posts: 193
Joined: January 9th, 2019, 2:44 am

Re: Suggested patterns for Golly

Post by erictom333 »

I think I've cracked unknown-constant-width-growth.rle's growth constant. I believe that the constant 1.945 in the growth rate is actually the real root of x⁵ = x⁴ + x³ + x² + x + 1, which is closer to 1.966. My reasoning is that for cell n to be born, all of cells n-1, n-2, n-3, n-4, n-5 must be alive.
hotdogPi
Moderator
Posts: 2262
Joined: August 12th, 2020, 8:22 pm

Re: Suggested patterns for Golly

Post by hotdogPi »

Can we add Entity Valkyrie's yearly oscillator stamp collections? I've stopped updating b3s23osc partially because it's become so large and partially because any new oscillators I would add (except for low periods) are already in EV's 2024 and 2025 oscillator stamp collections.

I can't remember whether the current version of Golly comes with b3s23osc (the one I put together) or newjslife (forum scrape), but I do know neither is updated past mid-2024.
User:HotdogPi/My discoveries

Periods discovered:

All evens ≤128 except 52,58,78,82,92,94,98,104,118,122

5-15,㉕-㉛,㉟㊺,51,63,65,73,75
1㊳㊵㊹㊼㊽,54,56,72,74,80,90,92
217,240,300,486,576

Guns: 20,21,32,54,55,57,114,117,124,126
SKOPs: 32,74,76,102,196
User avatar
dvgrn
Moderator
Posts: 12023
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Suggested patterns for Golly

Post by dvgrn »

hotdogPi wrote: December 31st, 2025, 10:12 am Can we add Entity Valkyrie's yearly oscillator stamp collections?
Makes sense to me!

There's definitely some work to do, hopefully sometime in 2026, to rework Golly's pattern collection so that there are fewer authoritative stamp collections (since these inevitably get out of date) and more pointers to Online Archives or other locations on the Internet, where the most up-to-date information can be downloaded on demand.

It's much easier to maintain a stamp collection when updating it doesn't require a whole new Golly release.
erictom333
Posts: 193
Joined: January 9th, 2019, 2:44 am

Re: Suggested patterns for Golly

Post by erictom333 »

dvgrn wrote: December 31st, 2025, 2:53 pm
hotdogPi wrote: December 31st, 2025, 10:12 am Can we add Entity Valkyrie's yearly oscillator stamp collections?
Makes sense to me!

There's definitely some work to do, hopefully sometime in 2026, to rework Golly's pattern collection so that there are fewer authoritative stamp collections (since these inevitably get out of date) and more pointers to Online Archives or other locations on the Internet, where the most up-to-date information can be downloaded on demand.

It's much easier to maintain a stamp collection when updating it doesn't require a whole new Golly release.
Idea: Maintain a seperate Live Pattern Repository for frequently-updated patterns and pattern collections. Upon booting up Golly on a device that has internet, a "Live" folder would update with new .rle files from the Live Pattern Repository. Some potentisl contents of the Live Pattern Repository could be:
osc###.rle: Oscillators by period
osc###_sparker.rle: Sparkers by period
skop: Smallest known oscilaltors for periods 1 through 400
ss#c#_###.rle: Spaceships by velocity and period
spaceship.rle: Smallest known spaceships for each period and displacement that are known for periods 2 through 12
gun###.rle: Elementary guns (that is, guns that are not derived from other guns by period multiplication/thinning or synthesis; includes gliderless guns) by period
puf_#c#_###.rle: Puffers and rakes by velocity and period
eater: Eaters for spaceships and other objects
cata.rle: Catalysts
cata_p.rle: Periodic catalysts
#_to_#.rle: Conduits by input and output
g_to_g_p.rle: Periodic glider reflectors
synth_sl.rle: Elementary still life syntheses (that is, those that synthesise a still life directly from gliders as opposed to aplying a component to another still life)
synth_osc.rle: Elementary oscillator syntheses
synth_ss.rle: Elementary spaceship syntheses
synth_comp.rle: Synthesis components
ott.rle: One-time turners and duplicators, and one-glider seeds for standard spaceships
User avatar
dvgrn
Moderator
Posts: 12023
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Suggested patterns for Golly

Post by dvgrn »

erictom333 wrote: January 26th, 2026, 12:41 am Upon booting up Golly on a device that has internet, a "Live" folder would update with new .rle files from the Live Pattern Repository...
I kind of doubt that we'll implement an automatic poll-and-populate. That could be seriously annoying in some cases.

But as long as the user initiates the download -- running a script or clicking a button, let's say -- the idea seems very workable. This could also allow for refreshing an already-downloaded Live collection periodically.

The download could really be just one ZIP file, made available with the existing Online Archives mechanism. Maybe a script would decompress the ZIP file into individual RLEs and/or whatever folder structure was necessary.

It's too bad that Lua scripts don't have the easy access to Internet resources that Python scripts do. Otherwise we could just provide a Lua script as the initial single file in a "Live" pattern subfolder. Running the script would populate or refresh the subfolder's contents.

I wonder if it's a workable idea to adjust Golly to expose the necessary Online Archive download functionality as a custom Golly Lua function.
User avatar
Andrew
Moderator
Posts: 1039
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: Suggested patterns for Golly

Post by Andrew »

dvgrn wrote: January 26th, 2026, 1:48 pm The download could really be just one ZIP file, made available with the existing Online Archives mechanism. Maybe a script would decompress the ZIP file into individual RLEs and/or whatever folder structure was necessary.
No need for a script -- Golly automatically decompresses a zip file and displays the resulting files as clickable links in the Help window.
It's too bad that Lua scripts don't have the easy access to Internet resources that Python scripts do. Otherwise we could just provide a Lua script as the initial single file in a "Live" pattern subfolder. Running the script would populate or refresh the subfolder's contents.
It should be quite easy to create a Lua command like g.geturl(url,savedir) that downloads the given url and saves the resulting file in the given directory. Probably just a simple matter of calling the existing DownloadURL routine in wxhelp.cpp. I'll have a look at doing that for the next release.
Use Glu or Glui to explore CA rules on non-periodic tilings: DominoLife and HatLife
User avatar
dvgrn
Moderator
Posts: 12023
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Suggested patterns for Golly

Post by dvgrn »

Andrew wrote: January 26th, 2026, 8:18 pm No need for a script -- Golly automatically decompresses a zip file and displays the resulting files as clickable links in the Help window.
I thought about that. ZIP explorability is a great feature, but it's a little different from the explorability of the Files tree.

So ideally I'd still like to have a mechanism to easily promote Live Pattern Repository contents to full membership in Golly's pattern collection, as opposed to keeping them separate in a ZIP file pop-up or in an Online Archives pop-up.

At the collection end, it would be nice if people could make contributions as easily as possible, maybe with a LifeWiki-based editing mechanism. But it seems like there still needs to be some kind of review and approval step -- maybe a few people in the Editors group who check the comments and contents of new additions to some LifeWiki sub-area, and then move those pages to an area that only Editors can modify. It'd be fairly easy to run a periodic scan of the restricted area and build a ZIP file, same as we do for all.zip.
User avatar
Andrew
Moderator
Posts: 1039
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: Suggested patterns for Golly

Post by Andrew »

dvgrn wrote: January 27th, 2026, 9:44 am So ideally I'd still like to have a mechanism to easily promote Live Pattern Repository contents to full membership in Golly's pattern collection...
There could be a problem with that if you want to store the Repository somewhere inside Golly's Patterns folder. Some Golly installations (particularly on Linux) store the Patterns folder in a read-only location. The best location for the Repository would be inside the user-specified Downloads folder (set in Prefs > File) which should always have write access, plus it should be visible in the left panel if users follow the advice in Help > Hints and Tips.

I've implemented a geturl command for Lua scripts so you can do things like this:

Code: Select all

local dir = g.getdir("download")
if g.geturl("http://golly.sourceforge.net/patterns/JustFriends.zip", dir) then
    g.open(dir.."JustFriends.zip")
else
    g.exit("geturl failed")
end
Or if you want to unzip a zip file after downloading it, you can append "?unzip" to the URL:

Code: Select all

local dir = g.getdir("download")
if g.geturl("http://golly.sourceforge.net/patterns/JustFriends.zip?unzip", dir) then
    -- if you want to, delete the downloaded zip file which has been unzipped
    os.remove(dir.."JustFriends.zip")
else
    g.exit("geturl failed")
end
Use Glu or Glui to explore CA rules on non-periodic tilings: DominoLife and HatLife
Post Reply