# WCCC_Cracked

# BrokenRelicsPuzzle

For this week's Creative Code challenge by @sableRaph: **“Cracked“, *BrokenRelicsPuzzle*** is coded with **OpenScad & SonicPi**. Where five cracked Intergalactic relics have been found and we are trying to find the right combination to "crack" the code and find out what is in store for us.

## Poetry

```scss
Cracked, Chipped, Broken
With the right combo
A Truth, unspoken
Shall be found and pronto
Broken Relic Puzzle
Once considered Rubble
Has been opened
But needs the right Kinetic
As the Relic Puzzle is Broken
But the right code, Unleashes the Relic
```

## Video

%\[

%[https://youtu.be/h0i0LNYZVfg] 

\]

## Code

### OpenScad

**CrackedRelics**

```javascript
// Cracked Blocked 1
difference() {
    color("blue",0.95)
    cube([50, 50, 50],center = true); 
    
    // Cracked Points 1
points = [[0,0], [10,0], [5,10]];
points2 = [[0,0], [17,31], [15,10]];
points3 = [[0,0], [-17,31], [-15,10]];

// Cracked Piece 1
color("orange",0.75)
translate([-10,-10,0])
rotate([50,50,70])
linear_extrude(height = 100,twist = 5, slices = 9,scale = 29.5)
  polygon(points);

//Cracked Piece 2
color("orange",0.75)
linear_extrude(height = 30,twist = 120,slices = 3,scale = 1.5)
  polygon(points2);    
}


// Cracked Sphere 2
difference() {
    color("red",0.95)
    sphere(27); 
    
    // Cracked Points 1
points = [[0,0], [10,0], [5,10]];
points2 = [[0,0], [17,31], [15,10]];
points3 = [[0,0], [-17,31], [-15,10]];

// Cracked Piece 1
color("black",0.57)
translate([-10,-10,-10])
rotate([50,50,70])
linear_extrude(height = 100,twist = 5, slices = 9,scale = 29.5)
  polygon(points);

//Cracked Piece 2
color("orange",0.75)
linear_extrude(height = 30,twist = 120,slices = 3,scale = 1.5)
  polygon(points2);    
}
```

```javascript
// Cracked Blocked 2
difference() {
    color("green",0.95)
    cube([50, 50, 50],center = true); 
    
    // Cracked Points 1
points = [[0,0], [10,0], [5,25]];
points2 = [[0,0], [17,31], [5,20]];
points3 = [[0,5], [-17,31], [-15,10]];

// Cracked Piece 1
color("orange",0.75)
translate([-10,-10,0])
rotate([50,50,70])
linear_extrude(height = 145,twist = 15, slices = 2,scale = 649.5)
  polygon(points);

//Cracked Piece 2
color("orange",0.75)
linear_extrude(height = 30,twist = 120,slices = 3,scale = 1.5)
  polygon(points2); 
 
// Cracked Piece 1
color("orange",0.75)
translate([-20,-20,10])
rotate([170,90,70])
linear_extrude(height = 105,twist = 25, slices = 2,scale = 649.5)
  polygon(points);

//Cracked Piece 2
color("orange",0.75)
linear_extrude(height = 30,twist = 120,slices = 3,scale = 1.5)
  polygon(points2);  
 
}


// Cracked Sphere 2
difference() {
    color("blue",0.95)
    cube([27,47,77],center = true); 
    
    // Cracked Points 1
points = [[0,0], [30,0], [5,10]];
points2 = [[0,0], [7,31], [15,10]];
points3 = [[0,0], [-27,41], [-15,20]];

// Cracked Piece 1
color("black",0.57)
translate([-10,-10,-10])
rotate([50,50,70])
linear_extrude(height = 100,twist = 5, slices = 9,scale = 29.5)
  polygon(points);

//Cracked Piece 2
color("orange",0.75)
linear_extrude(height = 30,twist = 120,slices = 3,scale = 1.5)
  polygon(points2);    
}
```

```javascript
// Cracked Blocked 3
difference() {
    color("white",0.95)
    sphere(10); 
    
    // Cracked Points 1
points = [[0,0], [10,0], [5,25]];
points2 = [[0,0], [17,31], [5,20]];
points3 = [[0,15], [-17,31], [-15,10]];

// Cracked Piece 1
color("orange",0.75)
translate([-10,-10,0])
rotate([50,10,70])
linear_extrude(height = 145,twist = 15, slices = 2,scale = 649.5)
  polygon(points);

//Cracked Piece 2
color("orange",0.75)
linear_extrude(height = 30,twist = 120,slices = 3,scale = 1.5)
  polygon(points2); 
 
// Cracked Piece 1
color("orange",0.75)
translate([-20,-20,10])
rotate([170,90,70])
linear_extrude(height = 105,twist = 25, slices = 2,scale = 649.5)
  polygon(points);

//Cracked Piece 2
color("orange",0.75)
linear_extrude(height = 50,twist = 20,slices = 3,scale = 11.5)
  polygon(points2);  
 
}


// Cracked Sphere 2
difference() {
    color("maroon",0.95)
    sphere(35); 
    
    // Cracked Points 1
points = [[0,0], [30,0], [5,10]];
points2 = [[0,0], [7,31], [15,10]];
points3 = [[0,0], [-27,41], [-15,20]];

// Cracked Piece 1
color("yellow",0.257)
translate([-10,-10,-10])
rotate([50,50,10])
linear_extrude(height = 100,twist = 5, slices = 9,scale = 29.5)
  polygon(points);

//Cracked Piece 2
color("orange",0.75)
linear_extrude(height = 30,twist = 120,slices = 3,scale = 1.5)
  polygon(points2);



// Cracked Piece 2
color("yellow",0.257)
translate([-40,-10,-10])
rotate([70,70,10])
linear_extrude(height = 100,twist = 5, slices = 9,scale = 29.5)
  polygon(points2);

//Cracked Piece 3
color("orange",0.75)
linear_extrude(height = 30,twist = 120,slices = 3,scale = 11.5)
  polygon(points3);    
}
```

```javascript
// Cracked Blocked 4
difference() {
    color("white",0.95)
    sphere(50); 
    
    // Cracked Points 1
points = [[0,0], [10,0], [5,25]];
points2 = [[0,0], [17,31], [5,20]];
points3 = [[0,15], [-17,31], [-15,10]];

// Cracked Piece 1
color("grey",0.75)
translate([-10,-10,0])
rotate([50,10,70])
linear_extrude(height = 145,twist = 15, slices = 2,scale = 649.5)
  polygon(points);

//Cracked Piece 2
color("blue",0.75)
linear_extrude(height = 30,twist = 120,slices = 3,scale = 1.5)
  polygon(points2); 
 
// Cracked Piece 1
color("orange",0.75)
translate([-20,-20,10])
rotate([170,90,70])
linear_extrude(height = 105,twist = 25, slices = 2,scale = 649.5)
  polygon(points);

//Cracked Piece 2
color("red",0.75)
linear_extrude(height = 50,twist = 20,slices = 3,scale = 11.5)
  polygon(points2);  
 
}


// Cracked Sphere 2
difference() {
    color("aqua",0.95)
    sphere(25); 
    
    // Cracked Points 1
points = [[0,0], [30,0], [5,10]];
points2 = [[0,0], [7,31], [15,10]];
points3 = [[0,0], [-27,41], [-15,20]];

// Cracked Piece 1
color("yellow",0.257)
translate([-10,-10,-10])
rotate([50,50,10])
linear_extrude(height = 100,twist = 5, slices = 9,scale = 29.5)
  polygon(points);

//Cracked Piece 2
color("orange",0.75)
linear_extrude(height = 30,twist = 120,slices = 3,scale = 1.5)
  polygon(points2);



// Cracked Piece 2
color("yellow",0.257)
translate([-40,-10,-10])
rotate([70,70,10])
linear_extrude(height = 100,twist = 5, slices = 9,scale = 29.5)
  polygon(points2);

//Cracked Piece 3
color("orange",0.75)
linear_extrude(height = 30,twist = 120,slices = 3,scale = 11.5)
  polygon(points3);    
}

```

```javascript
// Cracked Blocked 5
difference() {
    color("white",0.95)
    cube(40); 
    
    // Cracked Points 1
points = [[0,0], [10,0], [5,25]];
points2 = [[0,0], [17,31], [5,20]];
points3 = [[0,15], [-17,31], [-15,10]];

// Cracked Piece 1
color("grey",0.75)
translate([-10,-10,0])
rotate([50,10,70])
linear_extrude(height = 145,twist = 15, slices = 2,scale = 649.5)
  polygon(points);

//Cracked Piece 2
color("blue",0.75)
linear_extrude(height = 30,twist = 120,slices = 3,scale = 1.5)
  polygon(points2); 
 
// Cracked Piece 1
color("orange",0.75)
translate([-20,-20,10])
rotate([170,90,70])
linear_extrude(height = 105,twist = 25, slices = 2,scale = 649.5)
  polygon(points);

//Cracked Piece 2
color("red",0.75)
linear_extrude(height = 50,twist = 20,slices = 3,scale = 11.5)
  polygon(points2);  
 
}


// Cracked Sphere 2
difference() {
    color("aqua",0.95)
    cube(20); 
    
    // Cracked Points 1
points = [[0,0], [30,0], [5,10]];
points2 = [[0,0], [7,31], [15,10]];
points3 = [[0,0], [-27,41], [-15,20]];

// Cracked Piece 1
color("yellow",0.257)
translate([-10,-10,-10])
rotate([50,50,10])
linear_extrude(height = 100,twist = 5, slices = 9,scale = 29.5)
  polygon(points);

//Cracked Piece 2
color("orange",0.75)
linear_extrude(height = 30,twist = 120,slices = 3,scale = 1.5)
  polygon(points2);



// Cracked Piece 2
color("yellow",0.257)
translate([-40,-10,-10])
rotate([70,70,10])
linear_extrude(height = 100,twist = 5, slices = 9,scale = 29.5)
  polygon(points2);

//Cracked Piece 3
color("orange",0.75)
linear_extrude(height = 30,twist = 120,slices = 3,scale = 11.5)
  polygon(points3);    
}


```

### SonicPi

```ruby
#remix of  https://twitter.com/wpgFactoid/status/666692596605976576

live_loop :overlord do
  use_random_seed Time.now.to_i / 3
  with_fx :pitch_shift,pitch: dice(5),pitch_dis: dice(10) do
    with_fx :vowel,voice: dice(3), mix: 0.25 do
      with_fx :whammy, mix: [0.25,0.50,0.75].choose do
        use_bpm [5,1030,60,120,240,480,720].choose
        use_synth [:piano,:beep].tick
        [1, 3, 6, 4, 5, 2,7,4, 2, 1,3,5].each do |d|
          (range -4, 4).each do |i|
            play_chord (chord_degree d, [:c,:a,:e,:g,:Eb3].choose, [:major,:minor].choose, [3,2,1,4].choose, invert: i)
            sleep [0.25,0.5,1].choose
          end
        end
      end
    end
  end
end

live_loop :overlord2 do
  use_random_seed Time.now.to_i / 5
  with_fx :echo, decay: (dice(10)+1)/4,mix: [0.2,0.3,0.4].tick do
    with_fx :ixi_techno, mix: [0.49,0.75].tick, phase: [0.7,0.9].choose do
      with_fx :vowel,voice: dice(3), mix: 0.25 do
        with_fx :whammy, mix: [0.25,0.50,0.75].choose do
          use_synth [:piano,:pretty_bell,:dull_bell].choose
          use_bpm [5,10,30,60,120,240,480,720].choose
          [2, 3, 6, 4, 5, 2,7,4, 2, 1,3,5].reverse.each do |d|
            (range -4, 4).each do |i|
              play_chord (chord_degree d, [:c,:a,:e,:g,:Eb3].choose, [:major,:minor].choose, [3,2,1,4].choose, invert: i)
              sleep [0.25,0.5,1].choose
            end
          end
        end
      end
    end
  end
  
  
end
```
