WCCC_Cracked
Coding Relics from Another Realm
Published
•6 min read
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
%[
\]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




