#N canvas 209 299 856 621 10; #X declare -lib mrpeach; #X declare -path . -path .. -path data -path ../data -path ev-in -path ../ev-in -path ev-main -path ../ev-main -path ev-pano -path ../ev-pano -path ev-pro -path ../ev-pro -path libs/gil -path ../libs/gil -path libs/kollabs -path ../libs/kollabs -path media -path ../media -path ev-glsl -path ../ev-glsl; #N canvas 549 216 802 434 uki 1; #N canvas 555 355 958 699 bloodcells 0; #X obj 32 -4 gemhead; #X obj 317 64 r boidParam; #X obj 92 102 spigot; #X obj 92 220 translateXYZ 0 0 0; #X obj 77 350 s bloodcell-render; #X obj 92 127 separator; #X obj 317 115 s bloodcell-pos; #N canvas 1461 393 450 300 bloodcell-pool 0; #X obj 20 20 bloodcell 0; #X obj 20 20 bloodcell 1; #X obj 20 20 bloodcell 2; #X obj 20 20 bloodcell 3; #X obj 20 20 bloodcell 4; #X obj 20 20 bloodcell 5; #X obj 20 20 bloodcell 6; #X obj 20 20 bloodcell 7; #X obj 20 20 bloodcell 8; #X obj 20 20 bloodcell 9; #X obj 20 20 bloodcell 10; #X obj 20 20 bloodcell 11; #X obj 20 20 bloodcell 12; #X obj 20 20 bloodcell 13; #X obj 20 20 bloodcell 14; #X obj 20 20 bloodcell 15; #X obj 20 20 bloodcell 16; #X obj 20 20 bloodcell 17; #X obj 20 20 bloodcell 18; #X obj 20 20 bloodcell 19; #X obj 20 20 bloodcell 20; #X obj 20 20 bloodcell 21; #X obj 20 20 bloodcell 22; #X obj 20 20 bloodcell 23; #X obj 20 20 bloodcell 24; #X obj 20 20 bloodcell 25; #X obj 20 20 bloodcell 26; #X obj 20 20 bloodcell 27; #X obj 20 20 bloodcell 28; #X obj 20 20 bloodcell 29; #X obj 20 20 bloodcell 30; #X obj 20 20 bloodcell 31; #X obj 20 20 bloodcell 32; #X obj 20 20 bloodcell 33; #X obj 20 20 bloodcell 34; #X obj 20 20 bloodcell 35; #X obj 20 20 bloodcell 36; #X obj 20 20 bloodcell 37; #X obj 20 20 bloodcell 38; #X obj 20 20 bloodcell 39; #X obj 20 20 bloodcell 40; #X obj 20 20 bloodcell 41; #X obj 20 20 bloodcell 42; #X obj 20 20 bloodcell 43; #X obj 20 20 bloodcell 44; #X obj 20 20 bloodcell 45; #X obj 20 20 bloodcell 46; #X obj 20 20 bloodcell 47; #X obj 20 20 bloodcell 48; #X obj 20 20 bloodcell 49; #X obj 20 20 bloodcell 50; #X obj 20 20 bloodcell 51; #X obj 20 20 bloodcell 52; #X obj 20 20 bloodcell 53; #X obj 20 20 bloodcell 54; #X obj 20 20 bloodcell 55; #X obj 20 20 bloodcell 56; #X obj 20 20 bloodcell 57; #X obj 20 20 bloodcell 58; #X obj 20 20 bloodcell 59; #X obj 20 20 bloodcell 60; #X obj 20 20 bloodcell 61; #X obj 20 20 bloodcell 62; #X obj 20 20 bloodcell 63; #X obj 20 20 bloodcell 64; #X obj 20 20 bloodcell 65; #X obj 20 20 bloodcell 66; #X obj 20 20 bloodcell 67; #X obj 20 20 bloodcell 68; #X obj 20 20 bloodcell 69; #X obj 20 20 bloodcell 70; #X obj 20 20 bloodcell 71; #X obj 20 20 bloodcell 72; #X obj 20 20 bloodcell 73; #X obj 20 20 bloodcell 74; #X obj 20 20 bloodcell 75; #X obj 20 20 bloodcell 76; #X obj 20 20 bloodcell 77; #X obj 20 20 bloodcell 78; #X obj 20 20 bloodcell 79; #X restore 537 100 pd bloodcell-pool; #X msg 469 274 \; pd-bloodcell-pool obj 20 20 bloodcell \$1; #X obj 469 219 until 40; #X obj 469 166 t b b; #X obj 469 248 counter; #X obj 469 147 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 127 158 r boidParam; #X obj 128 179 route attractpt; #X obj 129 200 unpack f f f; #X obj 138 99 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 92 251 triangle 0.1; #N canvas 1179 141 561 777 boids-help 0; #X msg 47 -33 dump; #X msg 51 78 neighbors \$1; #X floatatom 51 63 5 0 4 0 - neighbors -; #X floatatom 51 98 5 0 0 0 - maxspeed -; #X msg 51 113 maxspeed \$1; #X floatatom 51 133 5 0 0 0 - minspeed -; #X msg 51 148 minspeed \$1; #X floatatom 51 168 5 0 0 0 - center -; #X msg 51 183 center \$1; #X floatatom 51 203 5 0 0 0 - attract -; #X msg 51 218 attract \$1; #X floatatom 51 238 5 0 0 0 - match -; #X msg 51 253 match \$1; #X floatatom 51 273 5 0 0 0 - avoid -; #X msg 51 288 avoid \$1; #X floatatom 51 308 5 0 0 0 - repel -; #X msg 51 323 repel \$1; #X floatatom 51 343 5 0 0 0 - edgedist -; #X msg 51 358 edgedist \$1; #X floatatom 51 378 5 0 0 0 - speed -; #X msg 51 393 speed \$1; #X floatatom 51 413 5 0 0 0 - inertia -; #X msg 51 428 inertia \$1; #X floatatom 51 448 5 0 0 0 - accel -; #X msg 51 463 accel \$1; #X floatatom 51 483 5 0 0 0 - prefdist -; #X msg 51 498 prefdist \$1; #X msg 47 -14 reset; #X text 142 113 maximum speed of speed range; #X text 144 147 minimum speed of speed range; #X text 141 182 strength of centering instinct; #X text 143 393 overall speed; #X text 144 464 speed of acceleration; #X text 144 495 preferred distance from neighbors; #X floatatom 52 521 5 0 0 0 - flyrect[0] -; #X floatatom 91 521 5 0 0 0 - flyrect[1] -; #X floatatom 130 521 5 0 0 0 - flyrect[2] -; #X floatatom 169 521 5 0 0 0 - - -; #X floatatom 51 580 5 0 0 0 - - -; #X floatatom 91 580 5 0 0 0 - - -; #X floatatom 51 28 5 0 0 0 - - -; #X msg 51 43 number \$1; #X text 142 41 number of boids; #X floatatom 47 -67 5 0 0 0 - - -; #X msg 47 -52 mode \$1; #X text 111 -52 output mode; #X obj 45 688 s boidParam; #X obj 47 7 s boidParam; #X text 111 -33 parameter dump; #X text 110 -13 reset boids randomly inside flyrect; #X text 142 76 number of neighbors each boid consults when flocking ; #X text 141 253 strength of neighbor speed matching instinct; #X text 141 288 strength of neighbor avoidance instinct; #X text 141 320 strength of wall avoidance instinct; #X text 143 356 distance of vision for avoiding wall edges; #X text 144 427 willingness to change speed and direction; #X text 140 216 strength of attraction to 'attractpt'; #X msg 51 557 flyrect \$1 \$2 \$3 \$4 \$5 \$6; #X text 177 540 bounding box (walls) in which to fly (l/t/r/b/f/b) ; #X text 174 579 point to which boids are attracted (x/y/z); #X obj 51 539 pack 0 0 0 0 0 0; #X floatatom 208 521 5 0 0 0 - - -; #X floatatom 247 521 5 0 0 0 - - -; #X msg 45 664 attractpt \$1 \$2 \$3; #X obj 45 644 pack 0 0 0; #X floatatom 130 580 5 0 0 0 - - -; #X obj 83 608 t b f; #X connect 0 0 47 0; #X connect 1 0 46 0; #X connect 2 0 1 0; #X connect 3 0 4 0; #X connect 4 0 46 0; #X connect 5 0 6 0; #X connect 6 0 46 0; #X connect 7 0 8 0; #X connect 8 0 46 0; #X connect 9 0 10 0; #X connect 10 0 46 0; #X connect 11 0 12 0; #X connect 12 0 46 0; #X connect 13 0 14 0; #X connect 14 0 46 0; #X connect 15 0 16 0; #X connect 16 0 46 0; #X connect 17 0 18 0; #X connect 18 0 46 0; #X connect 19 0 20 0; #X connect 20 0 46 0; #X connect 21 0 22 0; #X connect 22 0 46 0; #X connect 23 0 24 0; #X connect 24 0 46 0; #X connect 25 0 26 0; #X connect 26 0 46 0; #X connect 27 0 47 0; #X connect 34 0 60 0; #X connect 35 0 60 1; #X connect 36 0 60 2; #X connect 37 0 60 3; #X connect 38 0 64 0; #X connect 39 0 66 0; #X connect 40 0 41 0; #X connect 41 0 46 0; #X connect 43 0 44 0; #X connect 44 0 47 0; #X connect 57 0 46 0; #X connect 60 0 57 0; #X connect 61 0 60 4; #X connect 62 0 60 5; #X connect 63 0 46 0; #X connect 64 0 63 0; #X connect 65 0 64 2; #X connect 66 0 64 0; #X connect 66 1 64 1; #X restore 317 42 pd boids-help; #X msg 547 219 \; pd-bloodcell-pool clear; #X obj 30 -29 inlet; #N canvas 1307 292 178 480 init 0; #X obj 34 21 loadbang; #X obj 94 21 r reset; #X msg 15 78 \; neighbors 4; #X msg 15 168 \; center 1; #X msg 15 228 \; match 1; #X msg 15 318 \; edgedist 1; #X msg 15 348 \; speed 3; #X obj 16 49 b; #X obj 17 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X msg 15 258 \; avoid 2; #X msg 15 288 \; repel 2; #X msg 15 378 \; inertia 8; #X msg 15 138 \; minspeed 1; #X msg 15 108 \; maxspeed 3; #X msg 15 198 \; attract 3; #X msg 15 408 \; accel 2; #X msg 15 438 \; prefdist 1.5; #X connect 0 0 7 0; #X connect 1 0 7 0; #X connect 7 0 2 0; #X connect 7 0 13 0; #X connect 7 0 12 0; #X connect 7 0 3 0; #X connect 7 0 14 0; #X connect 7 0 4 0; #X connect 7 0 9 0; #X connect 7 0 10 0; #X connect 7 0 6 0; #X connect 7 0 11 0; #X connect 7 0 15 0; #X connect 7 0 16 0; #X connect 8 0 7 0; #X restore 316 17 pd init; #X obj 105 -35 loadbang; #X msg 103 -16 0; #N canvas 238 296 450 397 boids_uki 0; #X obj 35 -17 r /bloodcells; #X obj 37 4 pipe 20; #X obj 35 22 route 0 1 2; #X msg 72 149 \; boidParam neighbors 1 \, minspeed 1 \, maxspeed 1.5 \, center 0 \, attract 0 \, match 1 \, avoid 3 \, repel 0 \, edgedist 1 \, speed 10 \, inertia 5 \, accel 10 \, prefdist 2 \, flyrect -2 3 2 -3 2 -2 \, attractpt 0 0 0; #X msg 42 274 \; boidParam neighbors 1 \, minspeed 1 \, maxspeed 1.5 \, center 0.3 \, attract 1.5 \, match 1 \, avoid 0.72 \, repel 10 \, edgedist 1 \, speed 1.24 \, inertia 5 \, accel 0.97 \, prefdist 3 \, flyrect -2 3 2 -3 2 -2 \, attractpt 0 0 0; #X msg 89 62 \; boidParam neighbors 1 \, minspeed 1 \, maxspeed 1.5 \, center 10 \, attract 10 \, match 1 \, avoid 0 \, repel 0 \, edgedist 1 \, speed 10 \, inertia 5 \, accel 4 \, prefdist 2 \, flyrect -2 3 2 -3 2 -2 \, attractpt 0 1.7 0; #X connect 0 0 1 0; #X connect 1 0 2 0; #X connect 2 0 4 0; #X connect 2 1 3 0; #X connect 2 2 5 0; #X restore 429 30 pd boids_uki; #X obj 284 344 line; #X obj 299 224 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 294 272 alternate; #X obj 297 250 metro 15000; #X msg 383 286 0; #X msg 404 64 reset; #X msg 447 67 dump; #X obj 432 116 print; #X msg 279 383 \; boidParam attractpt 0 \$1 0; #X obj 62 420 s bloodcell-render; #X obj 32 72 t a a a a a b; #X obj 47 520 s bloodcell-render; #X obj 27 610 s bloodcell-render; #X obj 26 570 translateXYZ 0 8 0; #X obj 27 590 scaleXYZ 1 1 -1; #X obj 77 307 separator; #X obj 62 377 separator; #X obj 47 457 separator; #X obj 26 550 separator; #X obj 47 500 scaleXYZ -1 -1 1; #X obj 383 478 translateXYZ 0 6 0; #X obj 317 89 boids/boids3d 80 0; #X msg 469 188 80; #X obj 310 155 r /bloodcells; #X msg 309 197 1; #X obj 309 175 route 0; #X msg 377 216 0; #X obj 349 196 t b b; #X floatatom 213 465 5 0 0 0 - - -; #X obj 221 206 print; #X obj 28 28 colorRGB; #X obj 62 400 scaleXYZ -1 -1 1; #X msg 291 306 1 30000; #X msg 330 340 -1 30000; #X obj 77 331 translateXYZ 0 -1.5 -1; #X connect 0 0 55 0; #X connect 1 0 46 0; #X connect 2 0 5 0; #X connect 3 0 17 0; #X connect 5 0 3 0; #X connect 9 0 11 0; #X connect 10 0 47 0; #X connect 10 1 11 2; #X connect 10 1 19 0; #X connect 11 0 8 0; #X connect 12 0 10 0; #X connect 13 0 14 0; #X connect 14 0 15 0; #X connect 15 0 3 1; #X connect 15 1 3 2; #X connect 15 2 3 3; #X connect 16 0 2 1; #X connect 20 0 0 0; #X connect 22 0 23 0; #X connect 23 0 0 0; #X connect 25 0 33 0; #X connect 25 0 53 0; #X connect 26 0 28 0; #X connect 27 0 57 0; #X connect 27 1 58 0; #X connect 28 0 27 0; #X connect 29 0 25 0; #X connect 30 0 46 0; #X connect 31 0 46 0; #X connect 35 3 40 0; #X connect 35 4 2 0; #X connect 35 5 46 0; #X connect 38 0 39 0; #X connect 39 0 37 0; #X connect 40 0 59 0; #X connect 41 0 56 0; #X connect 42 0 44 0; #X connect 43 0 38 0; #X connect 44 0 36 0; #X connect 46 0 6 0; #X connect 46 1 32 0; #X connect 47 0 9 0; #X connect 48 0 50 0; #X connect 49 0 28 0; #X connect 50 0 49 0; #X connect 50 1 52 0; #X connect 51 0 28 0; #X connect 52 0 29 0; #X connect 52 1 51 0; #X connect 55 0 35 0; #X connect 56 0 34 0; #X connect 57 0 25 0; #X connect 58 0 25 0; #X connect 59 0 4 0; #X restore 24 83 pd bloodcells; #X obj 194 83 world_light; #X obj 194 62 gemhead; #N canvas 845 243 665 576 players 1; #X obj 329 -268 counter; #N canvas 1272 819 267 48 players-pool 0; #X obj 20 20 player 1 8; #X obj 20 20 player 2 8; #X obj 20 20 player 3 8; #X obj 20 20 player 4 8; #X obj 20 20 player 5 8; #X obj 20 20 player 6 8; #X obj 20 20 player 7 8; #X obj 20 20 player 8 8; #X restore 468 -381 pd players-pool; #X msg 386 -290 \; pd-players-pool clear; #X obj 329 -292 until 6; #X obj 338 -116 gemhead; #X obj 338 -22 pix_texture; #X obj 401 -3 s /player/circle/texid; #X obj -41 -338 gemhead; #X obj -41 -295 gemframebuffer; #X obj -41 -81 s /player/framebuffer; #X obj -41 -102 t b; #X obj -24 75 gemhead; #X obj -23 132 pix_texture; #X obj -23 152 square 4; #X obj -41 -269 translateXYZ 0 0 -4; #X floatatom 87 -242 5 0 0 0 - - -; #X obj -23 94 alpha; #X msg 16 -316 dimen 1000 1000 \, format RGBA; #X obj 329 -246 + 1; #X obj -38 -363 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X msg 286 -382 6; #X obj 329 -225 pack f f; #X obj -41 -317 alpha; #X floatatom 359 -336 5 0 0 0 - - -; #X obj 329 -381 r /game/players; #X msg 329 -205 \; pd-players-pool obj 20 20 player \$1 \$2; #X obj 329 -314 t f b f b f; #X obj 338 -66 pix_image ./media/circle_6.png; #X msg 392 -96 open ./media/circle_\$1.png; #X obj 338 -91 alpha; #X obj 369 -44 pix_coloralpha; #X floatatom 131 -238 5 0 0 0 - - -; #X floatatom 32 -117 5 0 0 0 - - -; #X obj -24 -45 inlet; #X obj -9 16 loadbang; #X msg -9 35 0; #X floatatom 51 81 5 0 0 0 - - -; #X obj -24 -24 t b b; #X obj 16 -338 loadbang; #X text 82 -353 construction framebuffer; #X text 117 -338 players; #X text 1 174 affichage gauche; #X text 406 -117 choix image cercle / nbre players; #X obj 397 -350 hradio 15 1 0 8 empty empty empty 0 -8 0 10 -262144 -1 -1 6; #X obj 398 -331 + 2; #X obj -24 -147 s /player/framebuffer/rot/x; #X obj -41 -191 gemlist_info; #X obj -24 -168 unpack f f f; #X floatatom 105 -297 5 0 0 0 - - -; #X obj -41 -122 scale 1.4; #X floatatom 195 -236 5 0 0 0 - - -; #X obj -41 -214 rotateXYZ 0 0 0; #X obj -23 111 translateXYZ 0 0 0; #X obj -41 -250 translateXYZ 0 0 -6; #X connect 0 0 18 0; #X connect 3 0 0 0; #X connect 4 0 29 0; #X connect 5 1 6 0; #X connect 7 0 22 0; #X connect 8 0 14 0; #X connect 8 1 12 1; #X connect 10 0 9 0; #X connect 11 0 16 0; #X connect 12 0 13 0; #X connect 14 0 53 0; #X connect 15 0 51 1; #X connect 16 0 52 0; #X connect 17 0 8 0; #X connect 18 0 21 0; #X connect 19 0 7 0; #X connect 20 0 26 0; #X connect 21 0 25 0; #X connect 22 0 8 0; #X connect 23 0 26 0; #X connect 24 0 26 0; #X connect 26 0 3 0; #X connect 26 1 0 2; #X connect 26 2 21 1; #X connect 26 3 2 0; #X connect 26 4 28 0; #X connect 27 0 5 0; #X connect 28 0 27 0; #X connect 29 0 27 0; #X connect 31 0 51 2; #X connect 32 0 49 1; #X connect 33 0 37 0; #X connect 34 0 35 0; #X connect 35 0 11 0; #X connect 36 0 52 2; #X connect 37 0 11 0; #X connect 38 0 17 0; #X connect 43 0 44 0; #X connect 44 0 26 0; #X connect 46 0 49 0; #X connect 46 1 47 0; #X connect 47 0 45 0; #X connect 48 0 53 2; #X connect 49 0 10 0; #X connect 50 0 51 3; #X connect 51 0 46 0; #X connect 52 0 12 0; #X connect 53 0 51 0; #X restore 43 112 pd players; #X obj 24 9 inlet; #X obj 24 32 t b b b; #N canvas 197 543 1722 486 game_events 0; #X obj -14 85 gemhead; #X obj -13 195 pix_texture; #X obj -13 335 square 4; #X obj -13 104 alpha; #X obj -14 -35 inlet; #X floatatom 61 91 5 0 0 0 - - -; #X floatatom 114 417 5 0 0 0 - - -; #X text 244 -19 sur-affichage score; #X obj 488 -5; #X obj 437 61 gemhead; #X obj 438 80 alpha; #X obj 438 264 model ./media/BloodCell_MODEL_0810.obj; #X obj 438 244 color 1 0 0; #X obj 438 213 scale; #X obj 549 -3 r /game/end; #X obj 549 18 route 0 1; #X obj 646 -3 r /game/start; #X msg 646 23 0; #X obj 13 39 loadbang; #X obj 13 21 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X msg 13 60 0; #X obj 574 62 line; #X msg 574 39 0.7 3000; #X obj -14 -14 t b b b b b b; #X obj 993 67 gemhead; #X obj 994 86 alpha; #X obj 1107 -17 loadbang; #X obj 1107 -35 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X msg 1107 4 0; #X obj 1182 242 loadbang; #X obj 1241 223 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 1169 79 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 1166 213 pp list; #X obj 1166 170 random 2; #X floatatom 859 381 5 0 0 0 - - -; #X obj 1166 146 metro 40; #X floatatom 1283 92 5 0 0 0 - - -; #X obj 1166 192 last-x 25; #X obj 1276 154 random 100; #X obj 1290 182 / 1000; #X obj 1302 213 + 0.02; #X obj 1183 121 line; #X obj 1181 99 pack 0 100; #X obj 1259 -33 r /game/level_sync; #X obj 1259 -13 t b f b; #X obj 1259 40 delay; #X msg 1259 17 5000; #X msg 1298 16 1; #X msg 1256 62 0; #X obj 992 379 text3d; #X obj 992 346 scaleXYZ 0.1 0.1 1; #X obj 991 232 text3d; #X msg 1182 267 font media/FreeSansBold.ttf \, justify center base ; #X obj 990 281 translateXYZ 0 0.3 0; #X obj -13 166 pix_image ./media/game_over.png; #X obj -13 308 colorRGB 1 1 1 0; #X obj 992 176 colorRGB 1 0 0 0; #X obj 992 316 colorRGB 0 1 0 0; #X obj 77 195 r /game/end; #X obj 77 216 route 0 1; #X obj 173 215 r /game/start; #X msg 173 241 0; #X obj 101 280 line; #X msg 101 257 1 3000; #X msg 1200 293 16; #X obj 1380 -16 r /game/start; #X msg 1368 28 0; #X obj 1374 6 pipe 15; #X obj 44 255 delay; #X msg 43 233 5000; #X msg 41 274 0 3000; #X floatatom 561 122 5 0 0 0 - - -; #X obj 638 89 delay; #X msg 637 67 5000; #X msg 635 108 0 3000; #X obj 1189 354 r /game/score; #X msg 1189 420 text \$1; #X obj 1189 380 - 11; #X obj -13 125 translateXYZ 0 0 0.1; #X obj 994 108 translateXYZ 0 0 0; #X obj 992 144 rotateXYZ 0 0 0; #X obj 1302 234 * 1; #X obj 438 101 translateXYZ 0 0.27 0; #X obj 438 158 rotateXYZ 90 0 0; #X obj 438 190 scaleXYZ 1 1 1; #X floatatom 573 153 5 0 0 0 - - -; #X connect 0 0 3 0; #X connect 1 0 55 0; #X connect 3 0 78 0; #X connect 4 0 23 0; #X connect 5 0 78 2; #X connect 6 0 55 4; #X connect 9 0 10 0; #X connect 10 0 82 0; #X connect 12 0 11 0; #X connect 13 0 12 0; #X connect 14 0 15 0; #X connect 15 1 22 0; #X connect 15 1 73 0; #X connect 16 0 17 0; #X connect 17 0 21 0; #X connect 18 0 20 0; #X connect 19 0 18 0; #X connect 20 0 0 0; #X connect 20 0 9 0; #X connect 21 0 13 1; #X connect 22 0 21 0; #X connect 23 0 0 0; #X connect 23 2 9 0; #X connect 23 4 24 0; #X connect 24 0 25 0; #X connect 25 0 79 0; #X connect 26 0 28 0; #X connect 27 0 26 0; #X connect 28 0 24 0; #X connect 29 0 64 0; #X connect 29 0 52 0; #X connect 30 0 29 0; #X connect 31 0 35 0; #X connect 31 0 42 0; #X connect 32 0 49 0; #X connect 33 0 37 0; #X connect 35 0 33 0; #X connect 35 0 38 0; #X connect 37 0 32 0; #X connect 38 0 39 0; #X connect 39 0 40 0; #X connect 40 0 81 0; #X connect 41 0 56 4; #X connect 41 0 57 4; #X connect 42 0 41 0; #X connect 43 0 44 0; #X connect 44 0 46 0; #X connect 44 2 47 0; #X connect 45 0 48 0; #X connect 46 0 45 0; #X connect 47 0 31 0; #X connect 48 0 31 0; #X connect 50 0 49 0; #X connect 51 0 53 0; #X connect 52 0 51 0; #X connect 52 0 49 0; #X connect 53 0 57 0; #X connect 54 0 1 0; #X connect 55 0 2 0; #X connect 56 0 51 0; #X connect 57 0 50 0; #X connect 58 0 59 0; #X connect 59 0 63 0; #X connect 59 0 69 0; #X connect 60 0 61 0; #X connect 61 0 62 0; #X connect 62 0 55 4; #X connect 63 0 62 0; #X connect 64 0 49 1; #X connect 64 0 51 1; #X connect 65 0 67 0; #X connect 66 0 31 0; #X connect 67 0 66 0; #X connect 68 0 70 0; #X connect 69 0 68 0; #X connect 70 0 62 0; #X connect 71 0 83 3; #X connect 72 0 74 0; #X connect 73 0 72 0; #X connect 74 0 21 0; #X connect 75 0 77 0; #X connect 76 0 51 0; #X connect 77 0 76 0; #X connect 78 0 54 0; #X connect 79 0 80 0; #X connect 80 0 56 0; #X connect 81 0 50 1; #X connect 82 0 83 0; #X connect 83 0 84 0; #X connect 84 0 13 0; #X connect 85 0 83 1; #X restore 63 56 pd game_events; #X obj 245 16 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 196 32 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X connect 2 0 1 0; #X connect 4 0 5 0; #X connect 5 0 0 0; #X connect 5 1 3 0; #X connect 5 2 6 0; #X connect 8 0 2 0; #X restore 225 -113 pd uki; #N canvas 515 145 1347 403 OSC 1; #X obj 24 27 import mrpeach; #X obj 45 62 udpreceive 8000; #X obj 109 248 print; #X obj 45 87 unpackOSC; #X msg 45 179 \; /player/\$1 \$3 \$2; #X obj 146 139 s /game/level_sync; #X floatatom 185 51 5 0 0 0 - - -; #X obj 931 13 r /game/end; #X obj 935 130 metro 3000; #X obj 934 186 + 1; #X obj 934 209 s /game/sleep; #X obj 1114 82 s /game/end; #X obj 1117 61 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X msg 931 102 1; #X obj 974 92 r /game/start; #X msg 976 111 0; #X obj 1107 152 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 1102 180 s /game/start; #X obj 935 156 random 3; #X floatatom 849 180 5 0 0 0 - - -; #X obj 932 66 delay 5000; #X msg 932 40 5000; #X obj 267 203 s /game/players; #X floatatom 185 222 5 0 0 0 - - -; #X obj 45 115 route /player/scaled /game/level_sync /game/players; #X obj 347 173 s /game/end; #X obj 426 173 s /game/start; #X msg 428 212 \; /bloodcells 0; #X obj 347 142 route /game/end /game/start /game/score; #X floatatom 615 175 5 0 0 0 - - -; #X obj 559 211 s /game/score; #X msg 226 220 \; /bloodcells 1; #X msg 262 248 10000; #X obj 262 270 delay 10000; #X msg 260 290 \; /bloodcells 0; #X obj 404 266 route 1; #X msg 404 291 \; /bloodcells 2; #X connect 1 0 3 0; #X connect 3 0 24 0; #X connect 6 0 5 0; #X connect 7 0 21 0; #X connect 8 0 18 0; #X connect 9 0 10 0; #X connect 9 0 19 0; #X connect 12 0 11 0; #X connect 13 0 8 0; #X connect 14 0 15 0; #X connect 15 0 8 0; #X connect 16 0 17 0; #X connect 18 0 9 0; #X connect 20 0 13 0; #X connect 21 0 20 0; #X connect 24 0 4 0; #X connect 24 1 5 0; #X connect 24 1 31 0; #X connect 24 1 32 0; #X connect 24 2 22 0; #X connect 24 2 23 0; #X connect 24 3 28 0; #X connect 28 0 25 0; #X connect 28 0 35 0; #X connect 28 1 26 0; #X connect 28 1 27 0; #X connect 28 2 29 0; #X connect 28 2 30 0; #X connect 32 0 33 0; #X connect 33 0 34 0; #X connect 35 0 36 0; #X restore 159 -162 pd OSC; #N canvas 920 186 535 539 init 0; #X obj 56 92 loadbang; #X obj 44 -23 cnv 15 400 100 empty empty IMPORTANT 20 12 0 14 -261234 -66577 0; #X text 49 -3 Such a declare object should always be in the main patch of your project \, to set the pathes to the abstractions.; #X text 159 160 load the preset file on startup:; #X obj 56 134 t b b; #X obj 83 158 del 1000; #X obj 56 221 del 3000; #X text 127 93 The DATA STORAGE SYSTEM will be explained in a later example.; #X obj 158 43 ev-main/ev_declare; #X text 177 213 (pathes relative to "./libs/kollabs"); #X obj 34 94 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X msg 56 285 \; /0/ds/scene 0; #X text 66 262 Recall scene '0' from the loaded preset file; #X msg 83 180 \; /0/ds/loadfile ../../UKI-export.txt; #X connect 0 0 4 0; #X connect 4 0 6 0; #X connect 4 1 5 0; #X connect 5 0 13 0; #X connect 6 0 11 0; #X connect 10 0 4 0; #X restore 159 -183 pd init; #X obj 5 -270 ev_gemwin; #X obj 5 -183 ev_storage; #X obj 646 138 ev_record uki; #X obj 646 -129 ev_buf resolution; #X obj 559 56 t a a; #X obj 230 -184 gemhead; #X obj 555 -146 t a a; #X obj 555 -4 ev_rectangle view; #X obj 230 -163 alpha; #X floatatom 510 -16 5 0 0 0 - - -; #X obj 555 -25 scale 1; #X obj 555 -47 color 1 1 1 1; #X obj 10 12 s /bloodcells; #X obj 10 -8 hradio 15 1 0 8 empty empty empty 0 -8 0 10 -262144 -1 -1 0; #X obj 10 42 hradio 15 1 0 7 empty empty empty 0 -8 0 10 -262144 -1 -1 0; #X obj 10 82 s /game/players; #X obj 10 61 + 2; #X obj 11 227 pack f f f; #X msg 11 249 \; /player/\$1 \$3 \$2; #X obj 11 122 hradio 15 1 0 8 empty empty player$ 0 -8 0 10 -262144 -1 -1 0; #X floatatom 190 169 5 0 0 0 sc_sensor - -; #X obj 72 188 hradio 15 1 0 4 empty empty level 0 -8 0 10 -262144 -1 -1 0; #X obj 72 206 t b f; #X obj 32 186 t b f; #X obj 35 174 hsl 30 8 0 1 0 0 empty empty sc_sensor -2 -8 0 10 -262144 -1 -1 0 1; #X obj 11 141 + 1; #X msg 138 67 \; /game/start bang; #X obj 646 -34 scale 0.2; #X obj 556 -106 separator; #X floatatom 739 -32 5 0 0 0 - - -; #X obj 646 -149 separator; #X connect 6 0 30 0; #X connect 6 1 10 1; #X connect 7 0 5 0; #X connect 8 0 11 0; #X connect 9 0 31 0; #X connect 11 0 0 0; #X connect 12 0 13 1; #X connect 13 0 10 0; #X connect 14 0 13 0; #X connect 16 0 15 0; #X connect 17 0 19 0; #X connect 19 0 18 0; #X connect 20 0 21 0; #X connect 22 0 28 0; #X connect 24 0 25 0; #X connect 25 0 20 0; #X connect 25 1 20 2; #X connect 26 0 20 0; #X connect 26 1 20 1; #X connect 27 0 26 0; #X connect 28 0 20 0; #X connect 30 0 7 0; #X connect 31 0 14 0; #X connect 32 0 30 1; #X connect 33 0 6 0;