But you can apply simple transformations on rules, like reflecting them (1D and 2D) and rotating them (2D only), or layering them (having a bunch of lower dimension rules running in parallel). Or you can perform a 1D rule along each horizontal/vertical axis (or even diagonal axis) and then combine them somehow (like XOR). But that will typically have a vastly different behavior.
One of my favorite 2D rules that looks kind of like an animated version of Rule 30 is "HGLASS", named that because it looks kind of like the falling sand in an hourglass. If you run it in a torus (edges wrap around), it tends to settle into a circular dependency tree with gaps bubbling up through it like space between cars in a traffic jam.
https://www.fourmilab.ch/cellab/manual/rules.html#HGlass
This is a five-neighbor two-state two-dimensional cellular automaton found at random by Margolus and Toffoli. It organizes a nice sliding flow on a random screen, and it disassembles solid starting patterns in an interesting way.
You can see it here:
https://donhopkins.com/home/CAM6/
1. Click the gray square in the upper right corner.
2. Click "Rules".
3. Select from the Rule dropdown "von Neumann HGlass Down".
4. Draw in the cells.
5. Click in the histogram at to to change the drawing cell value. Click "Tools" to configure the drawing tool.
6. Play around with the other variants of HGLASS (Up/Down/Left/Right, echo, heat) and parallel rules like 4 HGlass Down / All)
This is exactly the sort of thing I was looking for (analogous rules), thanks!
> https://donhopkins.com/home/CAM6/
Directions worked perfectly, thanks!
As I mentioned, this is orthogonal to my approach, but helps me reduce my search space.
No you are correct. I was looking for analogies, to help me flush out my thinking of the space more by looking at it from a few angles.
I wanted to think about systems of limited size or machines of different dimensions but turns out periodicity is known for those (https://www.wolframscience.com/nks/p255--systems-of-limited-...).
My main attack vector is to build up a simple new math starting with just 1 and 0 to define both the problem and solution in and see where it goes, hopefully creating useful side effects along the way. If I were to solve a problem my hunch is it will be related to impossibilities in formally defining "infinite sequence" in the problem definition in such a language.
EDIT: Oh I understand now! Each generation is 1D. Thanks for explaining! :D
"The pictures you're looking at, one of the axes is time. One row "becomes" the row below it. Each time-step iteration adds a row to the bottom, while the rows above it are immutable (because they are in the past)."