MinaCoding2023_Playful

MinaCoding2023_Playful

PlayingWithJewels

PlayingWithJewels

Today's MinaCoding Prompt is Add an Element of Playful. I will be coding with Hydra and SonicPi to make PlayingWithJewels.

  • The Hydra code modulates and glitches the gameplay: https://hydra.ojack.xyz/ seen in the background of "Microsoft Jewels 2"

  • The sounds are coded in SonicPi using the concept of shadow maths and colour shuffling as seen in RedfulTints & Rediness Shades. This time we will be playing with Blues instead of Reds.

Video

Code

Hydra

//Part 1
s0.initScreen()

src(s0).scale(0.2).kaleid(4).modulateRotate(s0,0.5).
rotate(()=> (time % 12) * 3).modulateScale(osc(3,1,1)).out()
speed = 0.05

//Part 2

s0.initScreen()

src(s0).scale(0.2).scrollX([0.5,0.3]).scrollY([0.5,0.3,0.1,-0.2])
.kaleid(4).modulateRotate(s0,0.5).rotate(()=> (time % 12) * 3)
.modulateScale(osc(3,1,1)).out()

speed = 0.05

SonicPi

#Color +Shadows
#RGB Values + XYZ

#Then slowed down to 30% of the regular sounds
#Shadeofred [R,G,B, X, Y, Z]

# CadetBlue : 95, 158, 160,23.29, 29.423,37.708
# SlateBlue : 106, 90, 205,20.617, 14.784, 59.521
# NavyBlue : 0, 0, 128,3.896, 1.558, 20.516

#shadow length equation is Length = height / tan(angle)


#Creating Arrays
CadetBlue = [95, 158, 160,23.29, 29.423,37.708]
SlateBlue = [106, 90, 205,20.617, 14.784, 59.521]
NavyBlue = [0, 0, 128,3.896, 1.558, 20.516]



with_fx :ixi_techno do
  live_loop :reds do
    i = 0
    use_synth :pretty_bell
    play (CadetBlue[i] + SlateBlue[i])/5 ,release: 3
    play CadetBlue[i] ,release: 3

    with_fx :ping_pong, mix: rrand(0.3,0.75) do
      use_synth :chiplead
      play (NavyBlue[i] + SlateBlue[i])/5 ,release: 3, decay: dice(4)
    end

    sleep [0.5,1,2].choose
    if i < 7
      i+= 1
    end
  end
end

live_loop :redshuffle do

  CadetBlueShuffle = CadetBlue.shuffle()
  SlateBlueShuffle = SlateBlue.shuffle()
  NavyBlueShuffle = NavyBlue.shuffle()

  i = 0
  use_synth :pretty_bell
  play (CadetBlueShuffle[i] + SlateBlueShuffle[i])/4 ,release: 3
  play CadetBlueShuffle[i] ,release: 3

  with_fx :ping_pong, mix: rrand(0.3,0.75) do
    use_synth :piano
    play (NavyBlueShuffle[i] + SlateBlueShuffle[i])/5 ,release: 3, decay: dice(4)
  end

  sleep [0.5,1,2].choose
  if i < 7
    i+= 1
  end
end


#shadow length component
with_fx :ixi_techno do
  live_loop :redsshadow do
    i = 0
    use_synth :piano
    play (CadetBlue[i]/Math.tan(70)).abs + (SlateBlue[i]/Math.tan(70)).abs  - 20,release: 3, sustain: 8
    sleep [0.25,0.5,1,2,4].choose
    if i < 7
      i+= 1
    end
  end
end