How does the GollyTicker work?

For general discussion about Conway's Game of Life.
Post Reply
metametapixel
Posts: 5
Joined: February 29th, 2020, 6:30 pm

How does the GollyTicker work?

Post by metametapixel »

Basically the title. How was golly-ticker.rle engineered? More generally, how does https://github.com/potsbo/any-ticker function?
User avatar
dvgrn
Moderator
Posts: 12032
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: How does the GollyTicker work?

Post by dvgrn »

metametapixel wrote: March 2nd, 2020, 5:44 pm Basically the title. How was golly-ticker.rle engineered? More generally, how does https://github.com/potsbo/any-ticker function?
When you watch one of these tickers in action, what specifically do you see that needs explaining?

These tickers are all just stacks of intermitting LWSS guns that are edge shooters. Each one of these guns has a glider loop that holds gliders representing the pixels that should appear on a particular lane of the ticker. If the ticker sends a larger number of pixels before it repeats, the glider loop will be correspondingly longer.

For example, have a look in the far northwest corner of the 003 sample in the any-ticker GitHub repository:
003.rle
003 sample ticker from any-ticker GitHub repository, in RLE format
(658.33 KiB) Downloaded 169 times
The glider loop in the northwest corner of the stack has only one glider in it, corresponding to the single LWSS at the top of the leaf in the apple logo. The next gun has six gliders in it, and there are six LWSSes in the second row of the apple logo -- and so on.

The only other thing I can think of that might need explaining is why that gun doesn't start firing for several cycles. If you look closely, you'll see a line of ships and/or blocks stacked up in front of the input of the final edge-shooting reflector. Each ship absorbs two incoming gliders, and each block absorbs one. The pattern is designed so that these ships and blocks are exhausted just when the gun should start emitting LWSSes, to participate in building the first copy of the pattern emitted by the ticker.
metametapixel
Posts: 5
Joined: February 29th, 2020, 6:30 pm

Re: How does the GollyTicker work?

Post by metametapixel »

Thank you! That's exactly what I needed.
User avatar
pcallahan
Posts: 953
Joined: April 26th, 2013, 1:04 pm

Re: How does the GollyTicker work?

Post by pcallahan »

dvgrn wrote: March 2nd, 2020, 7:24 pm
metametapixel wrote: March 2nd, 2020, 5:44 pm Basically the title. How was golly-ticker.rle engineered? More generally, how does https://github.com/potsbo/any-ticker function?
When you watch one of these tickers in action, what specifically do you see that needs explaining?
While I think it is pretty obvious to anyone with experience with Life patterns, I bet the storage of ticker characters in glider loops can seem mysterious to those seeing it the first time. It'd be an interesting exercise to find someone who is a complete novice at Life but has experience with digital electronics and just have them inspect the pattern and figure out what it's doing. Assuming the text is stored somewhere, it's not hard to figure out, but it's not self-evident either.

Update: Could you build an obfuscated ticker in which the final output was the result of applying an XOR function to the contents of the loops to generate the ticker output so that there would be no direct visual clue? You'd need to backfit the loop contents to produce the output, but the loop contents would appear fairly random (not cryptographically strong though).
User avatar
Entity Valkyrie 2
Posts: 2118
Joined: February 26th, 2019, 7:13 pm
Contact:

Re: How does the GollyTicker work?

Post by Entity Valkyrie 2 »

You can see my "Merry Christmas gun" (for Xmas 2019) for the mechanism on this page:

User:Entity Valkyrie 2/Text gun
Bx222 IS MY WORST ENEMY.

HyperConway — explore cellular automata on HyperRogue's hyperbolic tiling

Creator of the rule StateInvestigator
Please click here for my own pages (and oscillator stamp collections)
User avatar
dvgrn
Moderator
Posts: 12032
Joined: May 17th, 2009, 11:00 pm
Location: Madison, WI
Contact:

Re: How does the GollyTicker work?

Post by dvgrn »

pcallahan wrote: March 3rd, 2020, 3:19 pmUpdate: Could you build an obfuscated ticker in which the final output was the result of applying an XOR function to the contents of the loops to generate the ticker output so that there would be no direct visual clue? You'd need to backfit the loop contents to produce the output, but the loop contents would appear fairly random (not cryptographically strong though).
Sure, there aren't any technical difficulties there -- just have to rebuild the circuitry to make connections between pairs of loops, either to double the number of loops and fill half of them with certified random junk, different for each new loop... or possibly just to add one extra loop and XOR each pair of adjacent loops to get the output.

You might definitely still see some pattern in the loop contents with that second option, though. It might be "safer" to turn the extra loop's contents into a filter pattern, a stream of MWSSes or some such, and XOR it with each other loop's output.

That's getting a little complicated, though. Another idea would be to go back to a single loop per pixel row, but code each pixel with multiple consecutive gliders -- even number of gliders in each group makes an OFF pixel, an odd number sends an ON pixel, or something like that. Another thing that might help a little with obfuscation would be to use inline inverters at each corner of the loop instead of simple reflectors. GilGil's 60-line printer memory module does that, and it makes for an interesting visual effect.
Post Reply