Codependent Game of Life

A forum where anything goes. Introduce yourselves to other members of the forums, discuss how your name evolves when written out in the Game of Life, or just tell us how you found it. This is the forum for "non-academic" content.
Post Reply
azertite055
Posts: 4
Joined: November 20th, 2022, 2:35 pm
Contact:

Codependent Game of Life

Post by azertite055 » November 20th, 2022, 2:53 pm

Hello everyone.
I have always has a mild interest in this game of life. I just had this nice idea, and i wanted to share it with you guys.
I like to call this idea Codependent Game of Life. It consists of two separate "boards" that operate under their own Life-like rules. The interesting part is that the rule also depends on the state of that same cell on the other board. For example, one board could have the rule B3/S23 if the cell on the same position on the other board is alive, and B2/S1 if it's dead.
I have made a small demonstration of this concept with two 50x50 boards at https://azertite055.github.io/cdgol.html. The boundaries are wraparound.
I played around a bit, but didn't get anything too noteworthy. Tell me if you find any interesting pattern that involves both boards in some way, i would really like to know.
I hope you found this interesting.
^^

User avatar
Stepan Babintsev
Posts: 28
Joined: June 10th, 2022, 8:16 am
Location: Somwhere on forums...

Re: Codependent Game of Life

Post by Stepan Babintsev » November 21st, 2022, 2:47 pm

Wow! Really good idea! I think you should find good rule there and do some better realisation (like some app to make everything go faster). I tried to find some rule and i think that it shouldn't be symmetrical, and all 4 rules should be different, beacuse all others are boring. Wow, while I was writing I found rule: B2/S1;B3/S23;B2/S1;B3/S23(But it's symmetrical and I didn't find any new objects). Of course infinite board will make it easier to find some gliders and oscillators, but I don't have any idea how to make this in golly.

User avatar
breaker's glider gun
Posts: 670
Joined: May 23rd, 2021, 10:26 am
Location: the inside of a stuffed anaconda or maybe [click to not expand]

Re: Codependent Game of Life

Post by breaker's glider gun » November 30th, 2022, 5:01 pm

3/023, 3/23 and 0145678/01245678,3/23 is... interesting.
:?: :?: . . . :!:
Give me a suggestion of something to draw here!

User avatar
wirehead
Posts: 245
Joined: June 18th, 2022, 2:37 pm
Location: Under a thinking cap
Contact:

Re: Codependent Game of Life

Post by wirehead » November 30th, 2022, 5:16 pm

I suppose something like this could be implemented in Golly using 2 layers and a script. That way the user could just enter two Hensel rulestring instead of fiddling with checkboxes.

P.S. Looks like we both joined Github on the same day, March 5. Coincidence?
Langton's ant: Can't play the drums, can be taught.

User avatar
confocaloid
Posts: 2723
Joined: February 8th, 2022, 3:15 pm

Re: Codependent Game of Life

Post by confocaloid » November 30th, 2022, 5:24 pm

One special case is when Board 2 always follows the rule B/S012345678 regardless of what happens on Board 1, and cells on Board 1 follow one of two distinct rules depending on the state of the corresponding cell on Board 2.

Here is a 90-degree reflector for gliders on Board 1, made out of cells on Board 2. The rule is as follows:
  • cells on Board 1 follow the rule B3/S23 (Life) when the corresponding cell on Board 2 is OFF;
  • cells on Board 1 follow the rule B234/S3 when the corresponding cell on Board 2 is ON;
  • cells on Board 2 always follow B/S012345678.
Green cells are alive on Board 1 only; blue cells are alive on Board 2 only; white cells are alive on both boards.

Code: Select all

x = 125, y = 85, rule = Codependent_v0_B3S23_B234S3_BS012345678_BS012345678
B.B$.2B$.B53$124.C2$112.C6$113.C6$83.C6$85.C2$79.B$80.B$78.3B3$85.C$102.C$82.C!

#C The ruletree is below - to run in Golly, save it as a separate .rule file

@RULE Codependent_v0_B3S23_B234S3_BS012345678_BS012345678

Cells on Board 1 follow the rule B3/S23 (Life)
when the corresponding cell on Board 2 is OFF,
and the rule B234/S3 when the corresponding cell
on Board 2 is ON.

Cells on Board 2 always follow the rule B/S012345678.

The states are encoded as follows:
0 = the cell is OFF on both boards;
1 = the cell is ON on both boards;
2 = ON on board 1, OFF on board 2;
3 = OFF on board 1, ON on board 2.

@COLORS
0   0   0   0
1 255 255 255
2   0 255   0
3   0 128 255

@TREE

num_states=4
num_neighbors=8
num_nodes=36
1 0 3 0 3
2 0 0 0 0
1 0 3 2 1
2 0 2 2 0
3 1 3 3 1
1 2 1 2 1
2 2 5 5 2
3 3 6 6 3
4 4 7 7 4
1 0 3 0 1
2 5 9 9 5
3 6 10 10 6
4 7 11 11 7
5 8 12 12 8
2 9 0 0 9
3 10 14 14 10
4 11 15 15 11
5 12 16 16 12
6 13 17 17 13
3 14 1 1 14
4 15 19 19 15
5 16 20 20 16
6 17 21 21 17
7 18 22 22 18
3 1 1 1 1
4 19 24 24 19
5 20 25 25 20
6 21 26 26 21
7 22 27 27 22
8 23 28 28 23
4 24 24 24 24
5 25 30 30 25
6 26 31 31 26
7 27 32 32 27
8 28 33 33 28
9 29 34 34 29
127:1 B3/S234c User:Confocal/R (isotropic rules, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.

azertite055
Posts: 4
Joined: November 20th, 2022, 2:35 pm
Contact:

Re: Codependent Game of Life

Post by azertite055 » December 3rd, 2022, 5:53 pm

After some figuring out, I added a rule generator to my site. It generates and downloads a .rule file. You can either generate the currently set rule, or generate from a string.
It generates a 4-state rule, state 0 is both dead, state 1 is alive on 1, state 2 is alive on 2, and state 3 is alive on both.
The string format i went with is B..S..-B..S..--B..S..-B..S.. with the terms in order being [board 1 if board 2 is alive]-[board 1 if board 2 is dead]--[board 2 if board 1 is alive]-[board 2 if board 1 is dead].
It might run faster if it generated a tree instead of a table, but i don't know how to do that. I guess you could convert it yourself if you really wanted to.
^^

User avatar
wirehead
Posts: 245
Joined: June 18th, 2022, 2:37 pm
Location: Under a thinking cap
Contact:

Re: Codependent Game of Life

Post by wirehead » December 3rd, 2022, 8:12 pm

azertite055 wrote:
December 3rd, 2022, 5:53 pm
It might run faster if it generated a tree instead of a table, but i don't know how to do that. I guess you could convert it yourself if you really wanted to.
You are right that TREE format is faster. I have an idea for on-the-fly re-transpiling TABLEs to TREEs as the pattern runs, but it relies heavily on coroutines which aren't really possible in C++ (so I can't patch it into Golly) and although I probably could do it in Javascript, LifeViewer is closed-source (as of right now) so I can't do it there either.
Last edited by wirehead on February 1st, 2024, 9:04 pm, edited 1 time in total.
Langton's ant: Can't play the drums, can be taught.

User avatar
confocaloid
Posts: 2723
Joined: February 8th, 2022, 3:15 pm

Re: Codependent Game of Life

Post by confocaloid » December 3rd, 2022, 8:38 pm

azertite055 wrote:
December 3rd, 2022, 5:53 pm
After some figuring out, I added a rule generator to my site. It generates and downloads a .rule file. You can either generate the currently set rule, or generate from a string.
It generates a 4-state rule, state 0 is both dead, state 1 is alive on 1, state 2 is alive on 2, and state 3 is alive on both.
The string format i went with is B..S..-B..S..--B..S..-B..S.. with the terms in order being [board 1 if board 2 is alive]-[board 1 if board 2 is dead]--[board 2 if board 1 is alive]-[board 2 if board 1 is dead].
It might run faster if it generated a tree instead of a table, but i don't know how to do that. I guess you could convert it yourself if you really wanted to.
I think there's a bug. I tried to get the rule "Board 1 always follows B3/S23, Board 2 always follows B/S012345678". I entered the rule using checkboxes and downloaded the table. In the example below, I expected that the leftmost glider (state 1) will behave as in Life, the middle glider (state 2) will stay in place, and the rightmost glider (state 3) will split into a moving state-1 glider and a non-moving state-2 glider. The rightmost glider explodes instead, and the pattern becomes completely state-1.

Code: Select all

#C [[ ZOOM 8 ]]
x = 19, y = 3, rule = Codependent_B3S23-B3S23--BS012345678-BS012345678
.A7.B7.C$2.A7.B7.C$3A5.3B5.3C!

@RULE Codependent_B3S23-B3S23--BS012345678-BS012345678
@TABLE
n_states:4
neighborhood:Moore
symmetries:permute
0000001111
0000011121
0000111221
0001112221
0011122221
0111222221
0000001131
0000011231
0000112231
0001122231
0011222231
0112222231
0000001331
0000012331
0000122331
0001222331
0012222331
0122222331
0000003331
0000023331
0000223331
0002223331
0022223331
0222223331
1000000000
1000000010
1000011110
1000111110
1001111110
1011111110
1111111110
1000000020
1000000120
1000111120
1001111120
1011111120
1111111120
1000000220
1000001220
1001111220
1011111220
1111111220
1000002220
1000012220
1011112220
1111112220
1000022220
1000122220
1111122220
1000222220
1001222220
1002222220
1012222220
1022222220
1122222220
1222222220
1000000030
1000011130
1000111130
1001111130
1011111130
1111111130
1000000230
1000111230
1001111230
1011111230
1111111230
1000002230
1001112230
1011112230
1111112230
1000022230
1011122230
1111122230
1000222230
1111222230
1002222230
1022222230
1222222230
1000011330
1000111330
1001111330
1011111330
1111111330
1000112330
1001112330
1011112330
1111112330
1001122330
1011122330
1111122330
1011222330
1111222330
1112222330
1000013330
1000113330
1001113330
1011113330
1111113330
1000123330
1001123330
1011123330
1111123330
1001223330
1011223330
1111223330
1012223330
1112223330
1122223330
1000033330
1000133330
1001133330
1011133330
1111133330
1000233330
1001233330
1011233330
1111233330
1002233330
1012233330
1112233330
1022233330
1122233330
1222233330
1000333330
1001333330
1011333330
1111333330
1002333330
1012333330
1112333330
1022333330
1122333330
1222333330
1003333330
1013333330
1113333330
1023333330
1123333330
1223333330
1033333330
1133333330
1233333330
1333333330
2000001113
2000011123
2000111223
2001112223
2011122223
2111222223
2000001133
2000011233
2000112233
2001122233
2011222233
2112222233
2000001333
2000012333
2000122333
2001222333
2012222333
2122222333
2000003333
2000023333
2000223333
2002223333
2022223333
2222223333
3000000001
3000000011
3000011111
3000111111
3001111111
3011111111
3111111111
3000000021
3000000121
3000111121
3001111121
3011111121
3111111121
3000000221
3000001221
3001111221
3011111221
3111111221
3000002221
3000012221
3011112221
3111112221
3000022221
3000122221
3111122221
3000222221
3001222221
3002222221
3012222221
3022222221
3122222221
3222222221
3000000031
3000011131
3000111131
3001111131
3011111131
3111111131
3000000231
3000111231
3001111231
3011111231
3111111231
3000002231
3001112231
3011112231
3111112231
3000022231
3011122231
3111122231
3000222231
3111222231
3002222231
3022222231
3222222231
3000011331
3000111331
3001111331
3011111331
3111111331
3000112331
3001112331
3011112331
3111112331
3001122331
3011122331
3111122331
3011222331
3111222331
3112222331
3000013331
3000113331
3001113331
3011113331
3111113331
3000123331
3001123331
3011123331
3111123331
3001223331
3011223331
3111223331
3012223331
3112223331
3122223331
3000033331
3000133331
3001133331
3011133331
3111133331
3000233331
3001233331
3011233331
3111233331
3002233331
3012233331
3112233331
3022233331
3122233331
3222233331
3000333331
3001333331
3011333331
3111333331
3002333331
3012333331
3112333331
3022333331
3122333331
3222333331
3003333331
3013333331
3113333331
3023333331
3123333331
3223333331
3033333331
3133333331
3233333331
3333333331
@COLORS
0 48 48 48
1 255 0 0
2 0 255 255
3 255 255 255
Edit:
azertite055 wrote:
December 4th, 2022, 4:36 am
confocaloid wrote:
December 3rd, 2022, 8:38 pm
I think there's a bug.
Thanks for the report. I messed up a transition in the rule builder. It should be fixed now.
It seems to work now. Here is the same reflector redrawn in B234S3-B3S23--BS012345678-BS012345678:

Code: Select all

x = 125, y = 85, rule = Codependent_B234S3-B3S23--BS012345678-BS012345678
A.A$.2A$.A53$124.B2$112.B6$113.B6$83.B6$85.B2$79.A$80.A$78.3A3$85.B$
102.B$82.B!

@RULE Codependent_B234S3-B3S23--BS012345678-BS012345678
@TABLE
n_states:4
neighborhood:Moore
symmetries:permute
0000001111
0000011121
0000111221
0001112221
0011122221
0111222221
0000001131
0000011231
0000112231
0001122231
0011222231
0112222231
0000001331
0000012331
0000122331
0001222331
0012222331
0122222331
0000003331
0000023331
0000223331
0002223331
0022223331
0222223331
1000000000
1000000010
1000011110
1000111110
1001111110
1011111110
1111111110
1000000020
1000000120
1000111120
1001111120
1011111120
1111111120
1000000220
1000001220
1001111220
1011111220
1111111220
1000002220
1000012220
1011112220
1111112220
1000022220
1000122220
1111122220
1000222220
1001222220
1002222220
1012222220
1022222220
1122222220
1222222220
1000000030
1000011130
1000111130
1001111130
1011111130
1111111130
1000000230
1000111230
1001111230
1011111230
1111111230
1000002230
1001112230
1011112230
1111112230
1000022230
1011122230
1111122230
1000222230
1111222230
1002222230
1022222230
1222222230
1000011330
1000111330
1001111330
1011111330
1111111330
1000112330
1001112330
1011112330
1111112330
1001122330
1011122330
1111122330
1011222330
1111222330
1112222330
1000013330
1000113330
1001113330
1011113330
1111113330
1000123330
1001123330
1011123330
1111123330
1001223330
1011223330
1111223330
1012223330
1112223330
1122223330
1000033330
1000133330
1001133330
1011133330
1111133330
1000233330
1001233330
1011233330
1111233330
1002233330
1012233330
1112233330
1022233330
1122233330
1222233330
1000333330
1001333330
1011333330
1111333330
1002333330
1012333330
1112333330
1022333330
1122333330
1222333330
1003333330
1013333330
1113333330
1023333330
1123333330
1223333330
1033333330
1133333330
1233333330
1333333330
2000000113
2000001113
2000011113
2000001123
2000011123
2000111123
2000011223
2000111223
2001111223
2000112223
2001112223
2011112223
2001122223
2011122223
2111122223
2011222223
2111222223
2112222223
2000000133
2000001133
2000011133
2000001233
2000011233
2000111233
2000012233
2000112233
2001112233
2000122233
2001122233
2011122233
2001222233
2011222233
2111222233
2012222233
2112222233
2122222233
2000000333
2000001333
2000011333
2000002333
2000012333
2000112333
2000022333
2000122333
2001122333
2000222333
2001222333
2011222333
2002222333
2012222333
2112222333
2022222333
2122222333
2222222333
2000003333
2000013333
2000023333
2000123333
2000223333
2001223333
2002223333
2012223333
2022223333
2122223333
2222223333
2000033333
2000233333
2002233333
2022233333
2222233333
3000000002
3000000012
3000000112
3000011112
3000111112
3001111112
3011111112
3111111112
3000000022
3000000122
3000001122
3000111122
3001111122
3011111122
3111111122
3000000222
3000001222
3000011222
3001111222
3011111222
3111111222
3000002222
3000012222
3000112222
3011112222
3111112222
3000022222
3000122222
3001122222
3111122222
3000222222
3001222222
3011222222
3002222222
3012222222
3112222222
3022222222
3122222222
3222222222
3000000032
3000000132
3000011132
3000111132
3001111132
3011111132
3111111132
3000000232
3000001232
3000111232
3001111232
3011111232
3111111232
3000002232
3000012232
3001112232
3011112232
3111112232
3000022232
3000122232
3011122232
3111122232
3000222232
3001222232
3111222232
3002222232
3012222232
3022222232
3122222232
3222222232
3000000332
3000011332
3000111332
3001111332
3011111332
3111111332
3000002332
3000112332
3001112332
3011112332
3111112332
3000022332
3001122332
3011122332
3111122332
3000222332
3011222332
3111222332
3002222332
3112222332
3022222332
3222222332
3000013332
3000113332
3001113332
3011113332
3111113332
3000123332
3001123332
3011123332
3111123332
3001223332
3011223332
3111223332
3012223332
3112223332
3122223332
3000033332
3000133332
3001133332
3011133332
3111133332
3000233332
3001233332
3011233332
3111233332
3002233332
3012233332
3112233332
3022233332
3122233332
3222233332
3000333332
3001333332
3011333332
3111333332
3002333332
3012333332
3112333332
3022333332
3122333332
3222333332
3003333332
3013333332
3113333332
3023333332
3123333332
3223333332
3033333332
3133333332
3233333332
3333333332
@COLORS
0 48 48 48
1 255 0 0
2 0 255 255
3 255 255 255
Last edited by confocaloid on December 4th, 2022, 1:18 pm, edited 1 time in total.
127:1 B3/S234c User:Confocal/R (isotropic rules, incomplete)
Unlikely events happen.
My silence does not imply agreement, nor indifference. If I disagreed with something in the past, then please do not construe my silence as something that could change that.

azertite055
Posts: 4
Joined: November 20th, 2022, 2:35 pm
Contact:

Re: Codependent Game of Life

Post by azertite055 » December 4th, 2022, 4:36 am

confocaloid wrote:
December 3rd, 2022, 8:38 pm
I think there's a bug.
Thanks for the report. I messed up a transition in the rule builder. It should be fixed now.
^^

Post Reply