WCCChallenge: BigSky

WCCChallenge: BigSky

ChaoticUFOs_2023

ChaoticUFOs_2023

For this week's Creative Code challenge by @sableRalph : BigSky I decided to code ChaoticUFOs by remixing the previous Hydra & P5js code with additional LiveCodingYoutube aid and SonicPi for audio.

  • For the P5js portion, I used the AR/XR Library: https://p5xr.org/#/ , which allowed me to have real-time footage involving the sky and the UFOs

  • The footage of the UFOs was done this morning as they seem to have landed in town

  • The Design element of this sketch was to have a glitchy "found footage effect", where LiveCodingYoutube acts as a person dissecting the video and trying to see what is actually being seen

  • With SonicPi, I decided to remix a previous sonification that took data from space launches to make the sounds.

    • Code that was remixed can be seen here: DecibelsChallenge_SpaceLaunches

    • For this sketch, I overlayed the various sonifications to build a chorus of sounds to mimic the energy displayed in the video

    • Alongside, Heartbeat Data that I wanted to incorporate into this sketch, to reflect the unknowns of the scenario being presented

Poetry

What is that flying in the sky?
What are those?
UFOs?
Are they trying to humidify?
Crystalize?
Sanitize?
Or add more or less heat to the cold?
Maybe they are going to take car of the snow?
What is that flying in the sky?
Flying in the Big Sky that High?

Video

Code

P5js Code - Originally made for Genuary2022

function setup() {
  createARCanvas(); //AR canvas setup
}

//rotational speeds
let rot = 0;
let rotSpeed = 0.1;

//array of colors to be used
let filling = [
  "red",
  "blue",
  "orange",
  "yellow",
  "teal",
  "purple",
  "silver",
  "green",
  "teal",
  "black",
  "white",
];


function draw() {
  frameRate(3); //slow down the frame rate, so it isnt as chaotic
  rot += rotSpeed; //update the speed

  //cone and sphere used to make flyng objects

  for (let i = 0; i < 11; i++) {
    rotateY(rot);

    stroke(random(filling));
    fill(random(filling));
    sphere(20);

    stroke(random(filling));
    translate(-20, (second() % 10) + 1, 0);
    fill(random(filling));
    cone(20, 20, 20);
    sphere(10 + ((second() % 4) + 1));

    translate(40, 0, 0);

    if (second() % 5 > 2) {
      fill("#D90368");
      strokeWeight(4);
      stroke("#FFD400");

    } else {
      fill(random(filling));
      stroke(random(filling));
    }
    cone(20, 20, 20);
    sphere(10);
  }
}

LiveCodingYoutube Code

create(2,2,"roqltGmlMbY") // youtube id is pasted when you click a thumbnail
play(0)
play(all)
speed(1,-2)
speed([0,2],0.15)
speed(3,0.25)
pause()
play([0,3])
cue(2,"RMAd3abn6yY")


loopAt(1,3,2) // loop video 1 from 3 second for 2 seconds
loopAt(2,19,4)
loop([1,2],1,4) // loop video 2 and video 1 from 1 second ago for 4 seconds
cue(3,"aoxKw_nTf8w")

Hydra Code - Good snippet of code to get the modulation

s0.initScreen()
s1.initScreen()
s2.initScreen()// not used

src(s0).repeat(()=> (time % 25 + 1)/5).blend(src(s1).scale(2)).diff(o1).modulateScale(o2).out(o0)

src(s1).pixelate(10000,1000).out(o2)

src(s2).scale(0.33).scroll(()=> Math.sin(time % 25)/10).out(o1)