Golly suggestions

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

Re: Golly suggestions

Post by muzik » January 14th, 2019, 8:03 pm

Can the default notation for Generations be changed to be more in line with what apgsearch currently uses, and also to be closer to (and easier to convert between) the current default notation for outer-totalistic and isotropic non-totalistic rules?

Current:

Code: Select all

x = 4, y = 3, rule = 12/34/3
A2.A$A2.A$.2A!
Notation currently used by Catagolue and apgsearch:

Code: Select all

x = 4, y = 3, rule = g3b34s12
A2.A$A2.A$.2A!
Converting this into something closer to the Golly notation would result in G3/B34/S12, or, alternatively (to retain Golly's current positioning of the amount of generations), B34/S12/G3.

Of course, the old notation would still be usable, and would be converted to the new notation (much like 23/3 --> B3/S23).

AforAmpere
Posts: 1334
Joined: July 1st, 2016, 3:58 pm

Re: Golly suggestions

Post by AforAmpere » January 14th, 2019, 8:20 pm

Please do not change the Generations format. Maybe add support for the stuff mentioned above if it is not there, but changing the default generations format would just be annoying.
I manage the 5S project, which collects all known spaceship speeds in Isotropic Non-totalistic rules. I also wrote EPE, a tool for searching in the INT rulespace.

Things to work on:
- Find (7,1)c/8 and 9c/10 ships in non-B0 INT.
- EPE improvements.

User avatar
77topaz
Posts: 1496
Joined: January 12th, 2018, 9:19 pm

Re: Golly suggestions

Post by 77topaz » January 14th, 2019, 8:50 pm

Golly already supports notation like B3/S23/3 for Generations and 23/3 for non-Generations, hence it is quite simple to convert between Generations and non-Generations formats in the "select rule" dialog; the default formats do not need to be changed for that. Adding support for the g3b3s23 notation (which LifeViewer already supports) is probably a good idea, though.

User avatar
muzik
Posts: 5578
Joined: January 28th, 2016, 2:47 pm
Location: Scotland

Re: Golly suggestions

Post by muzik » January 23rd, 2019, 5:42 pm

Are there currently any ways to simulate a finite cylinder or mobius strip bounded grid? If not I'd like to see this implemented.

User avatar
Heavpoot
Posts: 45
Joined: August 4th, 2018, 3:58 pm
Contact:

Re: Golly suggestions

Post by Heavpoot » January 25th, 2019, 7:16 am

fully disabled grid lines plus the ability to have icons that don't have a state 0 grid between them

User avatar
Saka
Posts: 3627
Joined: June 19th, 2015, 8:50 pm
Location: Indonesia
Contact:

Re: Golly suggestions

Post by Saka » January 25th, 2019, 9:39 am

Heavpoot wrote:fully disabled grid lines plus the ability to have icons that don't have a state 0 grid between them
Already implemented in the latest version
(Since when i dont remember)

User avatar
Moosey
Posts: 4307
Joined: January 27th, 2019, 5:54 pm
Location: here
Contact:

Re: Golly suggestions

Post by Moosey » February 22nd, 2019, 8:47 am

I feel there needs to be more stuff in the nontotalistic folder;
Abhpzta’s p152 c/7o gun in 38life, for example:

Code: Select all

#N p152 gun for a c/7o spaceship in 38life.
#O Luka Okanishi (AbhpzTa)
x = 95, y = 51, rule = B35y/S2-n35k6ci
23b2o45b2o$23b2o45b2o3$21bo51bo$22bo49bo$21b3o47b3o$21bo2bo45bo2bo$22b
3o45b3o$12b2o23b2o17b2o23b2o$12bobo7b3o12b2o17b2o12b3o7bobo$8b2o3b2o
65b2o3b2o$8b2o13bo47bo13b2o2$23bo47bo2$22b3o45b3o$23bo47bo9$2o91b2o$2o
91b2o$8b3o73b3o$9bo75bo$37b2o$37b2o6b2ob2o$45bo3bo$45bo3bo$46bobo$47bo
$15b2o$15b2o52bo$67bo3bo$67bo3bo$52b2o14bo$52b2o16bo$68bo$67bo3bo$67bo
3bo$69bo4$67b2o$67b2o!

Also, there needs to be at least the known elementary minstrels, though I’d imagine they’d get hard to keep up with sometimes.
not active here but active on discord

User avatar
Moosey
Posts: 4307
Joined: January 27th, 2019, 5:54 pm
Location: here
Contact:

Re: Golly suggestions

Post by Moosey » February 23rd, 2019, 7:43 pm

We also need native support for alternating rules in golly, because I'm getting sick of making random soups in golly and then seeing what happens in a preview of a post. When will that be implemented?
not active here but active on discord

User avatar
dvgrn
Moderator
Posts: 10565
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: Golly suggestions

Post by dvgrn » February 23rd, 2019, 9:10 pm

Moosey wrote:We also need native support for alternating rules in golly, because I'm getting sick of making random soups in golly and then seeing what happens in a preview of a post. When will that be implemented?
While you're waiting, Golly's support of Python and Lua scripting lets you extend Golly's functionality yourself. If you start with a LifeViewer-compatible random soup pattern in the clipboard, a few lines of Python or Lua will run the alternating rules on the pattern until you hit Escape. Or you might want to start with just the alternating rule string in the clipboard, and have the script auto-generate a random soup and run it -- and leave the RLE in the clipboard when you exit, for copying in to LifeViewer.

The LifeViewer alternative doesn't really have to be in a preview of a post, either. Just paste the RLE into this page, for example.

If you save that HTML page to your local desktop, it can be made to work just as well even without an Internet connection. Depending on your browser, you may have to edit the HTML slightly and rename the LifeViewer plugin: recent builds of Chrome seem to be renaming it to something like lv-plugin.js.download, and then the HTML refers to that, which sometimes triggers annoying browser security features.

User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Re: Golly suggestions

Post by simsim314 » February 28th, 2019, 4:38 am

How complex would it be to allow a script continue running while editing? As the overlay stays anyway until you delete it, would it be too hard to show stuff inside it while people are working? For example any time the user is placing some pattern the overlay will show the future of that region, in the next N generations defined by the user.

wildmyron
Posts: 1542
Joined: August 9th, 2013, 12:45 am
Location: Western Australia

Re: Golly suggestions

Post by wildmyron » February 28th, 2019, 5:31 am

simsim314 wrote:How complex would it be to allow a script continue running while editing? As the overlay stays anyway until you delete it, would it be too hard to show stuff inside it while people are working? For example any time the user is placing some pattern the overlay will show the future of that region, in the next N generations defined by the user.
Andrew's MCell-like selections for Golly demonstrates editing and evolving the current layer while a script is running. It does shift the work of allowing editing while running a script to the script writer rather than supporting it as a feature of Golly, but perhaps it will provide what you're looking for. I don't know how easy it would be to adapt that script to be able to paste selections whilst also using the overlay to show the future state of the pattern, but I'm sure it's possible.
The 5S project (Smallest Spaceships Supporting Specific Speeds) is now maintained by AforAmpere. The latest collection is hosted on GitHub and contains well over 1,000,000 spaceships.

Semi-active here - recovering from a severe case of LWTDS.

User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Re: Golly suggestions

Post by simsim314 » March 1st, 2019, 10:00 am

wildmyron wrote: I don't know how easy it would be to adapt that script to be able to paste selections whilst also using the overlay to show the future state of the pattern, but I'm sure it's possible.
Thanks. I will need to think some time about it. Just notice you can't run several such scripts together, although in lua you can run some other code from your own - but I'm not sure this is the wisest way to implement it all. I feel it's better to run alongside. Or maybe it could be built like Addon and not script, not sure. Anyway this definitely helps.

User avatar
simsim314
Posts: 1823
Joined: February 10th, 2014, 1:27 pm

Re: Golly suggestions

Post by simsim314 » March 4th, 2019, 10:28 am

At some point of thinking about Quantum dots, I realize to simulate it in golly we will need a signal that converts randomly to 0 or 1. As in Qds there are four time clocks and they lose the signal every clock but not concurrently. So they have a lot of noise in the wires which sometimes activates some gates randomly, and a good simulator will need to know how to make random state from other state. How complex would it be introduce this modification into golly?

I mean hard coded to introduce a new rule - that will hack usual paths of golly, and make something random from some state? And obviously how much time would it get to make golly to support stochastic CAs?

User avatar
pcallahan
Posts: 844
Joined: April 26th, 2013, 1:04 pm

Re: Golly suggestions

Post by pcallahan » March 4th, 2019, 4:21 pm

Summary "suggestion" (v. 2.7): make zooming less likely as the default response to mouse actions (or create a preference to disable all but explicit zooming).

I have been using Golly 2.7 for a while, but this is the first time I have tried to use it for serious pattern editing. So I apologize in advance if these things have either been changed in later versions, or I'm just being a klutz with the UI. There are just a couple of things that I can't get beyond no matter how hard I try.

The main issue is whether I am doing select or zoom. I find myself often being in zoom mode (necessary for close placement) but unaware of it when I trying to do a select and then I find the pattern zoomed out and I lose a lot of context (both in screen placement and my working memory).

Another issue is the effect of my mouse (on a MacBook). In many cases when I would expect my mouse to scroll, it actually zooms in and out, often way, way out as I slide my finger along. When I do want scroll, I can find the scroll bars, but I often have trouble context-switching between this behavior and applications other than Golly.

Finally, when I am trying to select a box close to the upper left corner, some kind of pop-up control appears and disables box selection. Then I realize I have to scroll to get to what I want, and this often cascades into total confusion as I zoom inadvertently.

Note: please do not take this as a complaint or demand. Golly is an amazing piece of software (and a great deal of uncompensated development work). This is just a capsule summary of my experience with the UI. In fact, I'd welcome explanations on how to use the UI more effectively. Of all the above, I do think that some kind of mouse or touchpad scrolling would be a better default that zoom. If there is a setting for that (or it's been changed since 2.7) I'd be interested in knowing.
Last edited by pcallahan on March 4th, 2019, 7:01 pm, edited 1 time in total.

User avatar
Andrew
Moderator
Posts: 911
Joined: June 2nd, 2009, 2:08 am
Location: Melbourne, Australia
Contact:

Re: Golly suggestions

Post by Andrew » March 4th, 2019, 6:02 pm

pcallahan wrote:Summary "suggestion" (v. 2.7): make zooming less likely as the default response to mouse actions (or create a preference to disable all but explicit zooming).
I'm also a Mac user and had similar problems when I got a new wireless mouse that was much more sensitive than my old mouse, so in version 3.2 I added the ability to adjust mouse wheel sensitivity in Preferences > View to make zooming easier to control. I set it to 6 but you might want to try 3 or 4.

Another thing you might want to try is only use the "[" and "]" keys to zoom out/in. They don't change the view position (unlike the mouse wheel, which zooms from the current cursor position).
Finally, when I am trying to select a box close to the upper left corner, some kind of pop-up control appears and disables box selection.
In Preferences > View you can specify which corner you want those translucent buttons to appear in, or you can disable them completely.

BTW, I'm very surprised to hear you're using such an old version of Golly. There's been a ton of improvements since 2.7. When you upgrade to 3.2 make sure you read the top item in Help > Hints and Tips which describes how to arrange your Golly folder to make it easy to upgrade to future versions (3.3 is coming in a few weeks).
Use Glu to explore CA rules on non-periodic tilings: DominoLife and HatLife

User avatar
pcallahan
Posts: 844
Joined: April 26th, 2013, 1:04 pm

Re: Golly suggestions

Post by pcallahan » March 4th, 2019, 6:35 pm

Andrew wrote: BTW, I'm very surprised to hear you're using such an old version of Golly.
I forget when I installed it exactly, but I have always been a late adopter. I haven't been working actively with Life much in years until just recently. The old version of Golly was perfectly fine for viewing patterns. Thanks for the tips, and I will install the latest version when I get a chance.

UPDATE: I installed 3.2. I also disabled mouse wheel actions and translucent buttons in preferences. I think this will make it more usable for me. I zoom in and out a lot, but not with the mouse.

Note: I have always been clumsy with UIs and wonder why so much behavior has to be tied to my fine-motor skills (an ongoing peeve of mind is when I select+drag&drop in many standard edit windows and I wind up dragging part of a word to insert inside of another word; who thought that was useful?). I guess other people find this convenient. Anyway, thanks again.

User avatar
pcallahan
Posts: 844
Joined: April 26th, 2013, 1:04 pm

Re: Golly suggestions

Post by pcallahan » March 20th, 2019, 12:26 am

Question about Margolus rules in Golly. I am using 3.2, but I did a quick check without actually upgrading the version I used, and this doesn't seem any different in 3.3b1.

The Margolus rules in the pattern content are very dependent on the alternating cell values, so if I try to change a cell manually, it crystallizes in an odd way and breaks the whole pattern. I can copy-paste parts in the same pattern if I'm careful. First question: am I missing some way of using this that would make it a lot easier to play around with Margolus patterns, Critters in particular? Second question: if not, is there way to implement it within the current framework or through an extension that would not have this issue. I am not sure there is enough interest in Margolus neighborhoods for this to be a "suggestion" but it would be nice if there was better support for Margolus neighborhoods (again, unless there is and I missed it).

Digression: When I was running infinite growth pattern searches with Nick Gotts (1997-1998), I implemented an algorithm that generated the next Life generation from a sparse list of packed 2x2 windows. These were assembled into 4x4 windows, and then the next state (the middle 2x2 window) was found in a 2^16 entry lookup table. Of course, the windows shift when you do this in Life, so it was necessary to shift it back. I benchmarked it a little and it seemed fast enough for my purposes (which were small patterns without much repeating structure).

I think it's an unusual approach to Life generation, but I realized a few years later that it lent itself well to Margolus neighborhood, since each 2x2 window two steps out is a function of the 4x4 window surrounding it. I think I implemented Critters this way at some point, but I didn't have a good way to display it (if that code exists, it's buried deep in an archive I haven't looked at in years). End digression.

Maybe my question is whether there is a simple way to put an add-on in Golly that would implement Margolus in a less data-dependent way, or if there is one already. Golly is reasonably good for viewing Critters, provided I set the step to 2^1 and skip generations, avoiding a flashing display.

wildmyron
Posts: 1542
Joined: August 9th, 2013, 12:45 am
Location: Western Australia

Re: Golly suggestions

Post by wildmyron » March 20th, 2019, 2:05 am

pcallahan wrote:The Margolus rules in the pattern content are very dependent on the alternating cell values, so if I try to change a cell manually, it crystallizes in an odd way and breaks the whole pattern. I can copy-paste parts in the same pattern if I'm careful. First question: am I missing some way of using this that would make it a lot easier to play around with Margolus patterns, Critters in particular? Second question: if not, is there way to implement it within the current framework or through an extension that would not have this issue. I am not sure there is enough interest in Margolus neighborhoods for this to be a "suggestion" but it would be nice if there was better support for Margolus neighborhoods (again, unless there is and I missed it).
I can't comment on the potential for natively simulating Margolus neighbourhood rules in Golly, but there are some scripts to help with editing Margolus patterns. They can be found in Scripts/Python/Margolus. Essentially you run export.py, draw with state 1, select the region to convert, and then run import.py. This is described in the pattern comments which you can view by pressing 'i' in Golly (or opening in a text editor).

Because it's often desirable to have a background area which can't easily be selected using "Select All" as suggested, I found it's easier to select all before exporting, then edit, and then import. Of course if you are doing more complex editing this may not be feasible.
The 5S project (Smallest Spaceships Supporting Specific Speeds) is now maintained by AforAmpere. The latest collection is hosted on GitHub and contains well over 1,000,000 spaceships.

Semi-active here - recovering from a severe case of LWTDS.

User avatar
pcallahan
Posts: 844
Joined: April 26th, 2013, 1:04 pm

Re: Golly suggestions

Post by pcallahan » March 21st, 2019, 2:23 pm

wildmyron wrote: Because it's often desirable to have a background area which can't easily be selected using "Select All" as suggested, I found it's easier to select all before exporting, then edit, and then import. Of course if you are doing more complex editing this may not be feasible.
Thanks. I think I can get this to work, but it is definitely complicated.

User avatar
Gustone
Posts: 744
Joined: March 6th, 2019, 2:26 am

Re: Golly suggestions

Post by Gustone » May 8th, 2019, 11:25 am

Make that you can make custom History and Rainbow rules in rulestring

User avatar
Moosey
Posts: 4307
Joined: January 27th, 2019, 5:54 pm
Location: here
Contact:

Re: Golly suggestions

Post by Moosey » May 10th, 2019, 7:56 am

Gustone wrote:Make that you can make custom History and Rainbow rules in rulestring
The former is possible, as the viewer shows... how would you specify the colors of each rule for the latter, and how would you make the string a tolerable length?
not active here but active on discord

User avatar
Gustone
Posts: 744
Joined: March 6th, 2019, 2:26 am

Re: Golly suggestions

Post by Gustone » May 10th, 2019, 3:23 pm

Moosey wrote:how would you specify the colors of each rule for the latter, and how would you make the string a tolerable length?
They will be made from the rule based on the numbers

User avatar
Moosey
Posts: 4307
Joined: January 27th, 2019, 5:54 pm
Location: here
Contact:

Re: Golly suggestions

Post by Moosey » May 10th, 2019, 3:49 pm

Gustone wrote:
Moosey wrote:how would you specify the colors of each rule for the latter, and how would you make the string a tolerable length?
They will be made from the rule based on the numbers
But I mean can you explain how would you do that?


I have an Idea for the former— you could write

Code: Select all

[rulestring]#[color, hexadecimal],[rulestring]#[color]...
But how would you make the composite rulestring short?
not active here but active on discord

User avatar
Gustone
Posts: 744
Joined: March 6th, 2019, 2:26 am

Re: Golly suggestions

Post by Gustone » May 11th, 2019, 5:44 am

Moosey wrote:
Gustone wrote:
Moosey wrote:how would you specify the colors of each rule for the latter, and how would you make the string a tolerable length?
They will be made from the rule based on the numbers
But I mean can you explain how would you do that?


I have an Idea for the former— you could write

Code: Select all

[rulestring]#[color, hexadecimal],[rulestring]#[color]...
But how would you make the composite rulestring short?
Rules separated by | .

3/23|4/1|34-e/23-a|35-t/234q
Last edited by Gustone on June 8th, 2021, 5:10 am, edited 1 time in total.

fluffykitty
Posts: 1175
Joined: June 14th, 2014, 5:03 pm
Contact:

Re: Golly suggestions

Post by fluffykitty » May 11th, 2019, 1:15 pm

| is already used for alternating rules though (at least in LifeViewer)

Post Reply