Table of contents
TourOfNope
For this week's Creative Code Challenge by @sableraph: "Nope”, TourOfNope is coded in P5JS, Hydra, Locomotion & SonicPi. It uses these languages to convey the concept of Nope, through a digital collage
Process of No
This sketch uses words that are synonymous to the word Nope and the word itself in a reflective state via P5Js and a direct state in Locomotion with the word
Hydra is used to make the word more prominent through different movements and angles (Aided by OBS and placements)
The SonicPi composition is representing the word “Nope” through tempo and sound choices
Poem
Is Pluto still a planet?
The answer is Nope
Do the inhabitants of Mercury
Know our habits?
There is probably, No Hope
But what if we change the notion?
The motion of this The story
That finds a way to carry into the open
Where we reach beyond our boundaries
Exploring all capabilities and capacities
Where we let the meaning of humanity
Be one that shines, when spoken?
What if that is not a nope
But a beacon of Hope?
Video
Code
P5JS
score = 0
counter = 0
function setup() {
createCanvas(1920, 1080);
}
answer = ['No','Nope','Nah','Nay','Nooooooo']
prompts = ["Might want to go Faster?", "Do you want to sleep?", "Do you wish to live under the Sea?", "Would you say, Yes?", "When is the Last time you smile?"]
colors = ['blue','red','black','orange','brown','grey','gold','white']
function draw() {
background(220);
fill(colors[(counter++)%6])
stroke(colors[floor(random(0,6))])
strokeWeight(random(15,35))
frameRate(1.5)
textAlign(CENTER)
textSize(44)
textSize(199)
text(answer[floor(random(0,5))],width/2,height/2)
text("Count of No:",width/2,height/1.2)
text(score++,width/1.2,height/1.05)
textAlign(CENTER)
textSize(50)
text(prompts[floor(random(0,5))],width/2,height/4)
}
Locomotion
clear {color = 0x6988B5};
point {color = 0x5555A7, x = 0, y = 3};
directional { colour=0xf00f80, intensity = range 0 2 (osc 0.5), z = range 0 17 (osc 0.8), y = 10, x = -6 };
g = \n -> dancer { url="https://raw.githubusercontent.com/IllestPreacha/CreativeDataStuff/97560059901b0af8438c4534a7f06b74837d5e42/3Dmodel/Nope_3d.glb", y = 10,rz = 40*n,x = 7*n + -20, ry = 60*n,lx = range -45 130 (osc 0.45), z= -90,size = 9.75*n + range -6 3 (osc 0.31)};
for [0..6] g;
f = \n -> dancer { url="https://raw.githubusercontent.com/IllestPreacha/CreativeDataStuff/97560059901b0af8438c4534a7f06b74837d5e42/3Dmodel/Nope_3d.glb", y = range 0 7 (osc 1.5) + - 0.125*n,rx = range 0 -30 (osc 0.5) + 90*n, z= -20,rz = 60*n, x = 7*n + -20,lz = range -45 130 (osc 0.45),ly= 90*n,size = 12 + - 0.75*n + range -4 5 (osc 0.25)};
for [0..9] f;
i = \n -> dancer { url="https://raw.githubusercontent.com/IllestPreacha/CreativeDataStuff/97560059901b0af8438c4534a7f06b74837d5e42/3Dmodel/Nope_3d.glb", y = 1,rx = 84*n, z= -20, x = 7*n + -20,lz = range 10 170 (osc 0.45),size = range 2 -2 (osc 1.2) + 5.5 + - 0.25*n,dur = (n * 2)/30 };
for [0..6] i;
Hydra
//Part One
s0.initScreen()
s1.initScreen()
src(s0).repeat([1,2].smooth().fast(0.4),[3,4,5,6].smooth().fast(0.03)).colorama(()=> (time % 40 + 1)/41).luma([0.5,0.4,0.3,0.5]).add(s0).add(src(s1).scale(2)).out(o0)
//Part Two
s0.initScreen()
s1.initScreen()
src(s0).repeat([1,2].smooth().fast(0.4),[3,4,5,6].smooth().fast(0.03)).colorama(()=> (time % 40 + 1)/41).luma([0.5,0.4,0.3,0.5]).mult(s0).mult(src(s1).scale(2)).out(o0)
SonicPi
def Sine_ing(looping,samp1,samp2,samp3)
use_random_seed Time.now.to_i #making true random as it goes with the actual time
rangeFul = (-27..27).to_a.shuffle() #shuffling a range of numbers from 0 to 27 into an array
#setting counters
i = 0
j = rangeFul.length()
#setting the live loop
live_loop looping do
use_random_seed Time.now.to_i / 3 #making true random as it goes with the actual time
with_fx :echo, mix: Math.sin(j).abs do
with_fx :distortion,mix: Math.sin(i).abs do
#If the sin makes the number a negative
if Math.sin(rangeFul[i]) > 0
sample [samp1,samp3].choose,rate: Math.sin(rangeFul[i]), decay: Math.cbrt(i) * 3
end
end
end
with_fx :ping_pong, mix: Math.sin(i).abs do
#If the sin makes the number a positive
if Math.sin(rangeFul[i]) > 0
sample [samp2,samp3].choose, beat_stretch: Math.cbrt(rangeFul[i].abs)
end
end
with_fx :ixi_techno, mix: Math.sin(j).abs do
with_fx :vowel, mix: Math.cos(j).abs do
#If the sin makes the number 0
if Math.sin(rangeFul[i]) == 0
sample [samp1,samp2].choose
end
end
end
i += 1
if i >= rangeFul.length()
i = 0
end
j -= 1
if j <= 0
j = 0
end
sleep [Math.sin(i).abs + 0.25,Math.sin(j).abs + 0.25].choose #to avoid the issue with zero
end
end
Sine_ing(:SineFul,:misc_cineboom,:misc_crow,:elec_blip)
Sine_ing(:SineFul2,:ambi_dark_woosh,:perc_snap2,:glitch_perc5)
Sine_ing(:SineFul3,:vinyl_hiss,:ambi_haunted_hum,:ambi_piano)
Sine_ing(:SineFul4,:drum_splash_hard,:loop_mehackit2,:misc_crow)
Sine_ing(:SineFul5,:loop_weirdo,:ambi_choir,:mehackit_robot4)