Anything called "photons" are usually small but > 1 cell spaceships that move at c. Here is a more elementary-particle-like take on photons: a rule with an additional state that always moves in a given direction, but otherwise counts as a normal live cell. For a starting example, this is a ruletable for Life + photons travelling east (we could do this with almost any CA though):
Code: Select all
@RULE TruePhoton-Life
# eastward elementary photons plus Life
@TABLE
n_states:3
neighborhood:Moore
symmetries:none
var a={0,1,2}
var b={a}
var c={a}
var d={a}
var e={a}
var f={a}
var g={a}
var h={a}
var i={1,2}
var j={i}
var k={i}
# photons unconditionally move east
a,b,c,d,e,f,g,2,h,2
# b3, s3
a,i,j,k,0,0,0,0,0,1
a,i,j,0,k,0,0,0,0,1
a,i,j,0,0,k,0,0,0,1
a,i,j,0,0,0,k,0,0,1
a,i,j,0,0,0,0,k,0,1
a,i,j,0,0,0,0,0,k,1
a,i,0,j,k,0,0,0,0,1
a,i,0,j,0,k,0,0,0,1
a,i,0,j,0,0,k,0,0,1
a,i,0,j,0,0,0,k,0,1
a,i,0,j,0,0,0,0,k,1
a,i,0,0,j,k,0,0,0,1
a,i,0,0,j,0,k,0,0,1
a,i,0,0,j,0,0,k,0,1
a,i,0,0,j,0,0,0,k,1
a,i,0,0,0,j,k,0,0,1
a,i,0,0,0,j,0,k,0,1
a,i,0,0,0,j,0,0,k,1
a,i,0,0,0,0,j,k,0,1
a,i,0,0,0,0,j,0,k,1
a,i,0,0,0,0,0,j,k,1
a,0,i,j,k,0,0,0,0,1
a,0,i,j,0,k,0,0,0,1
a,0,i,j,0,0,k,0,0,1
a,0,i,j,0,0,0,k,0,1
a,0,i,j,0,0,0,0,k,1
a,0,i,0,j,k,0,0,0,1
a,0,i,0,j,0,k,0,0,1
a,0,i,0,j,0,0,k,0,1
a,0,i,0,j,0,0,0,k,1
a,0,i,0,0,j,k,0,0,1
a,0,i,0,0,j,0,k,0,1
a,0,i,0,0,j,0,0,k,1
a,0,i,0,0,0,j,k,0,1
a,0,i,0,0,0,j,0,k,1
a,0,i,0,0,0,0,j,k,1
a,0,0,i,j,k,0,0,0,1
a,0,0,i,j,0,k,0,0,1
a,0,0,i,j,0,0,k,0,1
a,0,0,i,j,0,0,0,k,1
a,0,0,i,0,j,k,0,0,1
a,0,0,i,0,j,0,k,0,1
a,0,0,i,0,j,0,0,k,1
a,0,0,i,0,0,j,k,0,1
a,0,0,i,0,0,j,0,k,1
a,0,0,i,0,0,0,j,k,1
a,0,0,0,i,j,k,0,0,1
a,0,0,0,i,j,0,k,0,1
a,0,0,0,i,j,0,0,k,1
a,0,0,0,i,0,j,k,0,1
a,0,0,0,i,0,j,0,k,1
a,0,0,0,i,0,0,j,k,1
a,0,0,0,0,i,j,k,0,1
a,0,0,0,0,i,j,0,k,1
a,0,0,0,0,i,0,j,k,1
a,0,0,0,0,0,i,j,k,1
# s2
i,j,k,0,0,0,0,0,0,1
i,j,0,k,0,0,0,0,0,1
i,j,0,0,k,0,0,0,0,1
i,j,0,0,0,k,0,0,0,1
i,j,0,0,0,0,k,0,0,1
i,j,0,0,0,0,0,k,0,1
i,j,0,0,0,0,0,0,k,1
i,0,j,k,0,0,0,0,0,1
i,0,j,0,k,0,0,0,0,1
i,0,j,0,0,k,0,0,0,1
i,0,j,0,0,0,k,0,0,1
i,0,j,0,0,0,0,k,0,1
i,0,j,0,0,0,0,0,k,1
i,0,0,j,k,0,0,0,0,1
i,0,0,j,0,k,0,0,0,1
i,0,0,j,0,0,k,0,0,1
i,0,0,j,0,0,0,k,0,1
i,0,0,j,0,0,0,0,k,1
i,0,0,0,j,k,0,0,0,1
i,0,0,0,j,0,k,0,0,1
i,0,0,0,j,0,0,k,0,1
i,0,0,0,j,0,0,0,k,1
i,0,0,0,0,j,k,0,0,1
i,0,0,0,0,j,0,k,0,1
i,0,0,0,0,j,0,0,k,1
i,0,0,0,0,0,j,k,0,1
i,0,0,0,0,0,j,0,k,1
i,0,0,0,0,0,0,j,k,1
# otherwise death
i,a,b,c,d,e,f,g,h,0
@COLORS
0 0 0 0
1 255 255 255
2 255 255 0
Photons can accrue a variety of tagalongs, allowing the creation of all sorts of spaceships, rakes and puffers. Here are some small ones attached to one photon or a domino pair:
Code: Select all
x = 31, y = 77, rule = TruePhoton-Life
8.A$8.AB7$26.2A$27.A7$7.2A18.2A$8.AB19.AB$7.2A20.AB$27.2A3$6.A17.A.A$
5.A2.A15.A.3A$8.AB19.AB$5.A2.A20.AB$24.A.3A$24.A.A3$8.A16.A$8.AB17.A$
7.2A18.2A$26.A2.AB$26.A2.AB$27.2A$27.A$25.A$6.A$5.4A$8.AB$5.4A$5.A9$A
$.A$2.A2.A2.A$2.2A.A2.AB$2.A2.A2.A$.A$A15$6.A$5.A2.A$4.A3.AB$5.A2.A$
6.A!
Code: Select all
x = 15, y = 25, rule = TruePhoton-Life
14.B$8.2A4.B$8.2A4.B2$8.2A4.B$8.2A4.B$14.B11$4.A3.AB$2A.A.A.A2.B$.A.A
.A.A3.B$A2.2A3.A3.B$2A11.B$10.A3.B$9.A3.AB$10.A!
It might be possible to also discover "natural wicks" that are stretched by some arragement of photons; cf. tachyonic wicks below.
Another more interesting output is perhaps this natural B-wave breeder:
Code: Select all
x = 4, y = 4, rule = TruePhoton-Life
2A$2.AB$2.AB$.A!
Anyway, not to dwell on photons specifically too much just yet. We can also create a ruletable for tachyons by adding extra states to the main part of the rule. The following encodes 2c orthogonal tachyons on Life: state 1 follows the Life rules but initially gives a quiescent state 2, which only in the next generation gives a live state 1. Meanwhile states 3/4/5 keep again moving at c, thus at 2c with respect to Life encoded by states 1/2. States 4/5 are distinguished so that tachyons will jump "over" live cells without harming them.
Code: Select all
@RULE TrueTachyon2co-Life
# eastward elementary tachyons at 2c plus Life
@TABLE
n_states:6
neighborhood:Moore
symmetries:none
var a={0,1,2,3,4,5}
var b={a}
var c={a}
var d={a}
var e={a}
var f={a}
var g={a}
var h={a}
var i={1,3}
var j={i}
var k={i}
# tachyon + quiescence superposition
a,i,j,0,0,0,0,3,0,5
a,i,0,j,0,0,0,3,0,5
a,i,0,0,j,0,0,3,0,5
a,i,0,0,0,j,0,3,0,5
a,i,0,0,0,0,j,3,0,5
a,i,0,0,0,0,0,3,k,5
a,0,i,j,0,0,0,3,0,5
a,0,i,0,j,0,0,3,0,5
a,0,i,0,0,j,0,3,0,5
a,0,i,0,0,0,j,3,0,5
a,0,i,0,0,0,0,3,k,5
a,0,0,i,j,0,0,3,0,5
a,0,0,i,0,j,0,3,0,5
a,0,0,i,0,0,j,3,0,5
a,0,0,i,0,0,0,3,k,5
a,0,0,0,i,j,0,3,0,5
a,0,0,0,i,0,j,3,0,5
a,0,0,0,i,0,0,3,k,5
a,0,0,0,0,i,j,3,0,5
a,0,0,0,0,i,0,3,k,5
a,0,0,0,0,0,i,3,k,5
i,j,0,0,0,0,0,3,0,5
i,0,j,0,0,0,0,3,0,5
i,0,0,j,0,0,0,3,0,5
i,0,0,0,j,0,0,3,0,5
i,0,0,0,0,j,0,3,0,5
i,0,0,0,0,0,j,3,0,5
i,0,0,0,0,0,0,3,k,5
# normal tachyon movement
a,b,c,d,e,f,g,3,h,4
a,b,c,d,e,f,g,4,h,3
a,b,c,d,e,f,g,5,h,3
# quiescence state
2,a,b,c,d,e,f,g,h,1
5,a,b,c,d,e,f,g,h,1
# b3, s3
a,i,j,k,0,0,0,0,0,2
a,i,j,0,k,0,0,0,0,2
a,i,j,0,0,k,0,0,0,2
a,i,j,0,0,0,k,0,0,2
a,i,j,0,0,0,0,k,0,2
a,i,j,0,0,0,0,0,k,2
a,i,0,j,k,0,0,0,0,2
a,i,0,j,0,k,0,0,0,2
a,i,0,j,0,0,k,0,0,2
a,i,0,j,0,0,0,k,0,2
a,i,0,j,0,0,0,0,k,2
a,i,0,0,j,k,0,0,0,2
a,i,0,0,j,0,k,0,0,2
a,i,0,0,j,0,0,k,0,2
a,i,0,0,j,0,0,0,k,2
a,i,0,0,0,j,k,0,0,2
a,i,0,0,0,j,0,k,0,2
a,i,0,0,0,j,0,0,k,2
a,i,0,0,0,0,j,k,0,2
a,i,0,0,0,0,j,0,k,2
a,i,0,0,0,0,0,j,k,2
a,0,i,j,k,0,0,0,0,2
a,0,i,j,0,k,0,0,0,2
a,0,i,j,0,0,k,0,0,2
a,0,i,j,0,0,0,k,0,2
a,0,i,j,0,0,0,0,k,2
a,0,i,0,j,k,0,0,0,2
a,0,i,0,j,0,k,0,0,2
a,0,i,0,j,0,0,k,0,2
a,0,i,0,j,0,0,0,k,2
a,0,i,0,0,j,k,0,0,2
a,0,i,0,0,j,0,k,0,2
a,0,i,0,0,j,0,0,k,2
a,0,i,0,0,0,j,k,0,2
a,0,i,0,0,0,j,0,k,2
a,0,i,0,0,0,0,j,k,2
a,0,0,i,j,k,0,0,0,2
a,0,0,i,j,0,k,0,0,2
a,0,0,i,j,0,0,k,0,2
a,0,0,i,j,0,0,0,k,2
a,0,0,i,0,j,k,0,0,2
a,0,0,i,0,j,0,k,0,2
a,0,0,i,0,j,0,0,k,2
a,0,0,i,0,0,j,k,0,2
a,0,0,i,0,0,j,0,k,2
a,0,0,i,0,0,0,j,k,2
a,0,0,0,i,j,k,0,0,2
a,0,0,0,i,j,0,k,0,2
a,0,0,0,i,j,0,0,k,2
a,0,0,0,i,0,j,k,0,2
a,0,0,0,i,0,j,0,k,2
a,0,0,0,i,0,0,j,k,2
a,0,0,0,0,i,j,k,0,2
a,0,0,0,0,i,j,0,k,2
a,0,0,0,0,i,0,j,k,2
a,0,0,0,0,0,i,j,k,2
# s2
i,j,k,0,0,0,0,0,0,2
i,j,0,k,0,0,0,0,0,2
i,j,0,0,k,0,0,0,0,2
i,j,0,0,0,k,0,0,0,2
i,j,0,0,0,0,k,0,0,2
i,j,0,0,0,0,0,k,0,2
i,j,0,0,0,0,0,0,k,2
i,0,j,k,0,0,0,0,0,2
i,0,j,0,k,0,0,0,0,2
i,0,j,0,0,k,0,0,0,2
i,0,j,0,0,0,k,0,0,2
i,0,j,0,0,0,0,k,0,2
i,0,j,0,0,0,0,0,k,2
i,0,0,j,k,0,0,0,0,2
i,0,0,j,0,k,0,0,0,2
i,0,0,j,0,0,k,0,0,2
i,0,0,j,0,0,0,k,0,2
i,0,0,j,0,0,0,0,k,2
i,0,0,0,j,k,0,0,0,2
i,0,0,0,j,0,k,0,0,2
i,0,0,0,j,0,0,k,0,2
i,0,0,0,j,0,0,0,k,2
i,0,0,0,0,j,k,0,0,2
i,0,0,0,0,j,0,k,0,2
i,0,0,0,0,j,0,0,k,2
i,0,0,0,0,0,j,k,0,2
i,0,0,0,0,0,j,0,k,2
i,0,0,0,0,0,0,j,k,2
# otherwise death
i,a,b,c,d,e,f,g,h,0
4,a,b,c,d,e,f,g,h,0
@COLORS
0 0 0 0
1 255 255 255
2 191 191 255
3 255 255 0
4 191 191 0
5 255 255 191
The 2c tachyon output in particular seems to often stabilize at a periodic pattern (= an oscillator in the emulated 2D CA), creating a peculiar p44 wick that I reported earlier in the unsure discoveries thread but which is maybe better posted in a dedicated topic here — though it is a valid purely-Life pattern:
Generated by, for example, an L-tetromino of tachyons travelling in the direction of the trimino face.Tropylium wrote: ↑October 11th, 2021, 1:25 pmCode: Select all
x = 87, y = 11, rule = B3/S23:T88,0 12bobobo$12bob6obo2bobo27bobobo$6bobo11bobobob4obo2bobo17bob6obo2bobo$ 7b13obo2bo3bobobobob4o5bo2bobo11bobobob4obo2bobo$o4bobo3bo4bo9bobobobo bo3bob3o3bobob12obo2bo3bobobobob4obo2bo$4o3bo3bo3bo8bobobobobobobobobo bob4o3bo3bo3bo8bobobobobobobobobobo$2bobob12obo2bo3bobobobob4obo2bobo 4bobo3bo4bo9bobobobobo3bob3o$bo2bobo11bobobob4obo2bobo16b13obo2bo3bobo bobob4o$10bob6obo2bobo25bobo11bobobob4obo2bobo$10bobobo41bob6obo2bobo$ 56bobobo!
The other two wick / waves posted there are similar outputs of 3c tachyons (for which I do not have a ruletable to go at this time).
Something interesting happens though when we implement "knight tachyons" at (2,1):
Code: Select all
@RULE TrueTachyon2cknight-Life
# east-by-northeast elementary tachyons at 2c plus Life
@TABLE
n_states:6
neighborhood:Moore
symmetries:none
var a={0,1,2,3,4,5}
var b={a}
var c={a}
var d={a}
var e={a}
var f={a}
var g={a}
var h={a}
var i={1,3}
var j={i}
var k={i}
# tachyon + quiescence superposition
a,i,j,0,0,0,0,3,0,5
a,i,0,j,0,0,0,3,0,5
a,i,0,0,j,0,0,3,0,5
a,i,0,0,0,j,0,3,0,5
a,i,0,0,0,0,j,3,0,5
a,i,0,0,0,0,0,3,k,5
a,0,i,j,0,0,0,3,0,5
a,0,i,0,j,0,0,3,0,5
a,0,i,0,0,j,0,3,0,5
a,0,i,0,0,0,j,3,0,5
a,0,i,0,0,0,0,3,k,5
a,0,0,i,j,0,0,3,0,5
a,0,0,i,0,j,0,3,0,5
a,0,0,i,0,0,j,3,0,5
a,0,0,i,0,0,0,3,k,5
a,0,0,0,i,j,0,3,0,5
a,0,0,0,i,0,j,3,0,5
a,0,0,0,i,0,0,3,k,5
a,0,0,0,0,i,j,3,0,5
a,0,0,0,0,i,0,3,k,5
a,0,0,0,0,0,i,3,k,5
i,j,0,0,0,0,0,3,0,5
i,0,j,0,0,0,0,3,0,5
i,0,0,j,0,0,0,3,0,5
i,0,0,0,j,0,0,3,0,5
i,0,0,0,0,j,0,3,0,5
i,0,0,0,0,0,j,3,0,5
i,0,0,0,0,0,0,3,k,5
# normal tachyon movement
a,b,c,d,e,f,g,3,h,4
a,b,c,d,e,f,4,g,h,3
a,b,c,d,e,f,5,g,h,3
# quiescence state
2,a,b,c,d,e,f,g,h,1
5,a,b,c,d,e,f,g,h,1
# b3, s3
a,i,j,k,0,0,0,0,0,2
a,i,j,0,k,0,0,0,0,2
a,i,j,0,0,k,0,0,0,2
a,i,j,0,0,0,k,0,0,2
a,i,j,0,0,0,0,k,0,2
a,i,j,0,0,0,0,0,k,2
a,i,0,j,k,0,0,0,0,2
a,i,0,j,0,k,0,0,0,2
a,i,0,j,0,0,k,0,0,2
a,i,0,j,0,0,0,k,0,2
a,i,0,j,0,0,0,0,k,2
a,i,0,0,j,k,0,0,0,2
a,i,0,0,j,0,k,0,0,2
a,i,0,0,j,0,0,k,0,2
a,i,0,0,j,0,0,0,k,2
a,i,0,0,0,j,k,0,0,2
a,i,0,0,0,j,0,k,0,2
a,i,0,0,0,j,0,0,k,2
a,i,0,0,0,0,j,k,0,2
a,i,0,0,0,0,j,0,k,2
a,i,0,0,0,0,0,j,k,2
a,0,i,j,k,0,0,0,0,2
a,0,i,j,0,k,0,0,0,2
a,0,i,j,0,0,k,0,0,2
a,0,i,j,0,0,0,k,0,2
a,0,i,j,0,0,0,0,k,2
a,0,i,0,j,k,0,0,0,2
a,0,i,0,j,0,k,0,0,2
a,0,i,0,j,0,0,k,0,2
a,0,i,0,j,0,0,0,k,2
a,0,i,0,0,j,k,0,0,2
a,0,i,0,0,j,0,k,0,2
a,0,i,0,0,j,0,0,k,2
a,0,i,0,0,0,j,k,0,2
a,0,i,0,0,0,j,0,k,2
a,0,i,0,0,0,0,j,k,2
a,0,0,i,j,k,0,0,0,2
a,0,0,i,j,0,k,0,0,2
a,0,0,i,j,0,0,k,0,2
a,0,0,i,j,0,0,0,k,2
a,0,0,i,0,j,k,0,0,2
a,0,0,i,0,j,0,k,0,2
a,0,0,i,0,j,0,0,k,2
a,0,0,i,0,0,j,k,0,2
a,0,0,i,0,0,j,0,k,2
a,0,0,i,0,0,0,j,k,2
a,0,0,0,i,j,k,0,0,2
a,0,0,0,i,j,0,k,0,2
a,0,0,0,i,j,0,0,k,2
a,0,0,0,i,0,j,k,0,2
a,0,0,0,i,0,j,0,k,2
a,0,0,0,i,0,0,j,k,2
a,0,0,0,0,i,j,k,0,2
a,0,0,0,0,i,j,0,k,2
a,0,0,0,0,i,0,j,k,2
a,0,0,0,0,0,i,j,k,2
# s2
i,j,k,0,0,0,0,0,0,2
i,j,0,k,0,0,0,0,0,2
i,j,0,0,k,0,0,0,0,2
i,j,0,0,0,k,0,0,0,2
i,j,0,0,0,0,k,0,0,2
i,j,0,0,0,0,0,k,0,2
i,j,0,0,0,0,0,0,k,2
i,0,j,k,0,0,0,0,0,2
i,0,j,0,k,0,0,0,0,2
i,0,j,0,0,k,0,0,0,2
i,0,j,0,0,0,k,0,0,2
i,0,j,0,0,0,0,k,0,2
i,0,j,0,0,0,0,0,k,2
i,0,0,j,k,0,0,0,0,2
i,0,0,j,0,k,0,0,0,2
i,0,0,j,0,0,k,0,0,2
i,0,0,j,0,0,0,k,0,2
i,0,0,j,0,0,0,0,k,2
i,0,0,0,j,k,0,0,0,2
i,0,0,0,j,0,k,0,0,2
i,0,0,0,j,0,0,k,0,2
i,0,0,0,j,0,0,0,k,2
i,0,0,0,0,j,k,0,0,2
i,0,0,0,0,j,0,k,0,2
i,0,0,0,0,j,0,0,k,2
i,0,0,0,0,0,j,k,0,2
i,0,0,0,0,0,j,0,k,2
i,0,0,0,0,0,0,j,k,2
# otherwise death
i,a,b,c,d,e,f,g,h,0
4,a,b,c,d,e,f,g,h,0
@COLORS
0 0 0 0
1 255 255 255
2 191 191 255
3 255 255 0
4 191 191 0
5 255 255 191
Code: Select all
x = 3, y = 2, rule = TrueTachyon2cknight-Life
2C$2.C!
Code: Select all
x = 28, y = 10, rule = TrueTachyon2cknight-Life
25.C$26.C$26.C4$2C$2.C23.C$3.3C20.C$27.C!