blob: 5032ca9e3f055c4a2fa006218ed8a510793200fa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
|
#N canvas 608 0 588 612 10;
#X obj 368 33 loadbang;
#X obj 23 48 gemhead;
#N canvas 610 247 578 360 GOL 0;
#X text 48 122 this is the feedback loop;
#X obj 143 50 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 161 49 for 0 10 1;
#X obj 262 87 loadbang;
#X obj 141 103 #store;
#X obj 161 68 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 31 143 fork;
#X text 179 68 next;
#N canvas 0 0 450 210 game 0;
#X obj 28 64 inlet matrix;
#X obj 28 141 outlet matrix;
#X text 18 14 this part at the left defines the rule of the game (this
is my own rewriting of the rules. it is equivalent to the original
but faster to compute.);
#X obj 28 83 # << (b # 1);
#X obj 28 122 # < (b # 3);
#X obj 28 103 #convolve (3 3 b # 0 0 0 0 1) \, op >> \, seed (b # 251)
;
#X connect 0 0 3 0;
#X connect 3 0 5 0;
#X connect 4 0 1 0;
#X connect 5 0 4 0;
#X restore 31 102 pd game of life;
#X text 260 60 init with a random map;
#X obj 5 329 cnv 15 780 30 empty empty empty 20 12 0 14 -200249 -66577
0;
#X text 13 336 GridFlow 0.8.0;
#X text 13 336 GridFlow 0.8.0;
#X obj 7 5 cnv 15 780 30 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 20 5 game_of_life.pd;
#X text 20 18 Copyright 2001 Mathieu Bouchard;
#X obj 262 165 # rand (b #);
#X obj 262 184 # == (b # 0);
#X obj 24 41 inlet metro;
#X obj 22 69 route bang reset;
#X obj 31 295 outlet RGB;
#X obj 31 181 #cast i;
#X obj 31 238 #clip;
#X obj 41 257 #apply_colormap_channelwise;
#X obj 207 239 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 31 200 # << 10;
#X obj 234 238 #for 0 256 1;
#X obj 234 257 #outer gamma (3 # 333 555 999);
#X text 261 72 20% white dots;
#X obj 31 162 #outer ignore (4 b #);
#X obj 279 117 t b b;
#X obj 31 276 #scale_by;
#X msg 261 146 128 128 b # 5;
#X obj 31 219 #fade (16 4 1 1);
#X connect 1 0 2 0;
#X connect 2 0 5 0;
#X connect 3 0 30 0;
#X connect 4 0 8 0;
#X connect 5 0 4 0;
#X connect 6 0 29 0;
#X connect 6 1 4 1;
#X connect 8 0 6 0;
#X connect 16 0 17 0;
#X connect 17 0 6 0;
#X connect 18 0 19 0;
#X connect 19 0 4 0;
#X connect 19 1 32 0;
#X connect 21 0 25 0;
#X connect 22 0 31 0;
#X connect 24 0 26 0;
#X connect 25 0 33 0;
#X connect 26 0 27 0;
#X connect 27 0 23 1;
#X connect 29 0 21 0;
#X connect 30 0 32 0;
#X connect 30 1 26 0;
#X connect 31 0 20 0;
#X connect 32 0 16 0;
#X connect 33 0 22 0;
#X restore 144 363 pd GOL;
#X obj 127 278 tgl 15 0 empty empty empty 0 -6 0 8 -24198 -1 -1 0 1
;
#X msg 154 336 reset;
#X obj 23 429 rotateXYZ;
#X obj 32 406 #unpack 3;
#X obj 32 349 # +;
#X obj 57 349 t a;
#X obj 32 368 #cast f;
#X obj 32 387 # / (f # 100);
#X floatatom 108 67 5 0 0 0 - - -;
#X obj 76 48 bang;
#X obj 108 48 fps \, period 5;
#X obj 23 215 pix_texture;
#X obj 285 516 #out window;
#X obj 285 63 gemhead 74;
#X obj 53 158 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0 1
;
#X msg 53 172 yflip \$1;
#X obj 285 312 t a b;
#X obj 360 133 vsl 15 128 0 512 0 0 empty empty empty 0 -8 0 8 -241291
-1 -1 3175 1;
#X obj 375 133 vsl 15 128 0 512 0 0 empty empty empty 0 -8 0 8 -241291
-1 -1 3175 1;
#X obj 414 133 vsl 15 128 0 512 0 0 empty empty empty 0 -8 0 8 -241291
-1 -1 6350 1;
#X obj 429 133 vsl 15 128 0 512 0 0 empty empty empty 0 -8 0 8 -241291
-1 -1 6350 1;
#X msg 324 312 snap;
#X obj 360 110 #unpack;
#X obj 413 110 #unpack;
#X obj 285 364 pix_snap;
#X obj 350 267 #pack;
#X obj 404 267 #pack;
#X obj 300 404 tgl 15 0 empty empty empty 0 -6 0 8 -241291 -1 -1 0
1;
#X msg 300 418 yflip \$1;
#X msg 360 90 128 128;
#X msg 413 91 256 256;
#X obj 23 528 cube 4;
#X obj 179 298 + 1;
#X obj 154 317 sel 0;
#X obj 154 298 f;
#X msg 307 437 help;
#X obj 407 289 #to_list;
#X obj 347 289 #to_list;
#X obj 23 196 #to_pix;
#X obj 4 1 cnv 15 500 18 empty empty empty 20 12 0 14 -228992 -66577
0;
#X text 5 1 [#to_pix];
#X text 401 2 GridFlow 0.9.3;
#X obj 62 106 separator;
#X obj 23 106 t a a;
#X msg 368 52 create \, 1 \, lighting 1;
#X msg 32 330 60 42 30;
#X obj 144 277 metro 33.3667;
#X floatatom 204 317 5 0 0 0 - - -;
#N canvas 0 0 450 300 lighting 0;
#X obj 22 28 inlet gem;
#X obj 152 210 light;
#X obj 282 210 light;
#X obj 22 47 t a a a;
#X obj 66 66 separator;
#X obj 44 85 separator;
#X obj 22 210 light;
#X obj 133 251 loadbang;
#X obj 22 191 translateXYZ 0 4 4;
#X obj 152 191 translateXYZ 4 0 4;
#X obj 282 191 translateXYZ 4 4 0;
#X msg 61 210 1 0 0;
#X msg 191 210 0 1 0;
#X msg 321 210 0 0 1;
#X connect 0 0 3 0;
#X connect 3 0 8 0;
#X connect 3 1 5 0;
#X connect 3 2 4 0;
#X connect 4 0 10 0;
#X connect 5 0 9 0;
#X connect 7 0 11 0;
#X connect 7 0 12 0;
#X connect 7 0 13 0;
#X connect 8 0 6 0;
#X connect 9 0 1 0;
#X connect 10 0 2 0;
#X connect 11 0 6 1;
#X connect 12 0 1 1;
#X connect 13 0 2 1;
#X restore 62 125 pd lighting;
#X obj 23 509 color 1 1 1;
#X obj 144 382 # inv+ 255;
#X obj 368 71 gemwin 29.97;
#X obj 23 457 shunt;
#X obj 62 458 tgl 15 0 empty empty empty 17 7 0 10 -24198 -1 -1 1 1
;
#N canvas 0 0 450 300 eight_cubes 0;
#X obj 33 29 inlet gem;
#X obj 33 48 t a a;
#X obj 163 48 separator;
#X obj 33 86 t a;
#X obj 33 105 t a a;
#X obj 163 105 separator;
#X obj 33 143 t a;
#X obj 33 162 t a a;
#X obj 163 162 separator;
#X obj 33 200 t a;
#X obj 33 219 cube 2;
#X obj 33 67 translateXYZ 4 0 0;
#X obj 33 124 translateXYZ 0 4 0;
#X obj 33 181 translateXYZ 0 0 4;
#X obj 163 181 translateXYZ 0 0 -4;
#X obj 163 124 translateXYZ 0 -4 0;
#X obj 163 67 translateXYZ -4 0 0;
#X connect 0 0 1 0;
#X connect 1 0 11 0;
#X connect 1 1 2 0;
#X connect 2 0 16 0;
#X connect 3 0 4 0;
#X connect 4 0 12 0;
#X connect 4 1 5 0;
#X connect 5 0 15 0;
#X connect 6 0 7 0;
#X connect 7 0 13 0;
#X connect 7 1 8 0;
#X connect 8 0 14 0;
#X connect 9 0 10 0;
#X connect 11 0 3 0;
#X connect 12 0 6 0;
#X connect 13 0 9 0;
#X connect 14 0 9 0;
#X connect 15 0 6 0;
#X connect 16 0 3 0;
#X restore 53 476 pd eight_cubes;
#X obj 285 482 #remap_image;
#X obj 204 298 % 256;
#X obj 390 463 % 32;
#X obj 23 239 translateXYZ 0 0 -7;
#X obj 285 457 #import_pix;
#X obj 374 482 # ^;
#X connect 0 0 47 0;
#X connect 0 0 32 0;
#X connect 0 0 33 0;
#X connect 1 0 12 0;
#X connect 1 0 46 0;
#X connect 2 0 53 0;
#X connect 3 0 49 0;
#X connect 4 0 2 0;
#X connect 5 0 55 0;
#X connect 6 0 5 1;
#X connect 6 1 5 2;
#X connect 6 2 5 3;
#X connect 7 0 8 0;
#X connect 7 0 9 0;
#X connect 8 0 7 1;
#X connect 9 0 10 0;
#X connect 10 0 6 0;
#X connect 12 0 13 0;
#X connect 13 0 11 0;
#X connect 14 0 61 0;
#X connect 16 0 19 0;
#X connect 17 0 18 0;
#X connect 18 0 41 0;
#X connect 19 0 27 0;
#X connect 19 1 24 0;
#X connect 20 0 28 0;
#X connect 21 0 28 1;
#X connect 22 0 29 0;
#X connect 23 0 29 1;
#X connect 24 0 27 0;
#X connect 25 0 20 0;
#X connect 25 1 21 0;
#X connect 26 0 22 0;
#X connect 26 1 23 0;
#X connect 27 0 62 0;
#X connect 28 0 40 0;
#X connect 29 0 39 0;
#X connect 30 0 31 0;
#X connect 31 0 62 0;
#X connect 32 0 25 0;
#X connect 33 0 26 0;
#X connect 35 0 59 0;
#X connect 36 0 4 0;
#X connect 37 0 35 0;
#X connect 37 0 36 0;
#X connect 38 0 62 0;
#X connect 39 0 27 2;
#X connect 40 0 27 1;
#X connect 41 0 14 0;
#X connect 45 0 51 0;
#X connect 46 0 41 0;
#X connect 46 1 45 0;
#X connect 47 0 54 0;
#X connect 48 0 7 0;
#X connect 49 0 2 0;
#X connect 49 0 37 0;
#X connect 49 0 48 0;
#X connect 52 0 34 0;
#X connect 53 0 41 1;
#X connect 55 0 52 0;
#X connect 55 1 57 0;
#X connect 56 0 55 1;
#X connect 58 0 15 0;
#X connect 58 1 63 0;
#X connect 59 0 37 1;
#X connect 59 0 50 0;
#X connect 59 0 60 0;
#X connect 60 0 63 1;
#X connect 61 0 5 0;
#X connect 62 0 58 0;
#X connect 63 0 58 1;
|