Skip to main content

Command Palette

Search for a command to run...

WCCC_Cracked

Coding Relics from Another Realm

Published
6 min read
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

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

// 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);    
}
// 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);    
}
// 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);    
}
// 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);    
}
// 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

#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

WCCChallenge

Part 6 of 50

Submissions to the WCCChallenge

Up next

WCCC_Sticky

Stickiness From All Angles