# WCCChallenge_Cats

# CatLand

For this week's Creative Code Challenge by [@sableraph](https://hashnode.com/@sableraph): "*Cats",* ***CatLand*** is Coded in **Locomotion, LiveCodingYoutube, Hydra & SonicPi.** A Place where the Cats' Meow

## **Meowing Process**

* The sounds are various cat meows on the internet that are remixed via **SonicPi**
    
* **Hydra** is used to add the various color schemes and glitches seen on the Screen
    
* The 3D Models, Scene, Physic and Colors are coded in **Locomotion** to provide a Cat-ful background
    
* For the pacing of the Video, **LiveCodingYoutube** is Used.
    

## Poem

```ocaml
The Non-Stop Meowing
The patience to start clawing
Wondering where next to put their paws in
To see where their balance will star in
```

## Video

<iframe width="560" height="315" src="https://www.youtube.com/embed/REXY3xB56Cc?si=6-VWw4WA5cMdI8t7"></iframe>

## Code

### Hydra

```javascript
s0.initScreen()

src(s0).blend(src(s0)).diff(src(s0).scale([1,2,4].smooth())).out()

speed = 0.05
```

### Locomotion

```haskell
-- Triple Light Points
point {x = range 0 17 (osc 0.15), z = range 0 6 (osc 0.35) , intensity = range 8 35 (osc 0.15), color = 0xFFA500  };
point {x = range 0 17 (osc 0.15), z = range 0 6 (osc 0.35) , intensity = range 15 35 (osc 0.25), color = 0xFF0000 };
point {x = range 0 17 (osc 0.15), z = range 0 6 (osc 0.35) , intensity = range 20 45 (osc 0.25), color = 0x661111 };


--Other Cats


dancer { url="https://raw.githubusercontent.com//IllestPreacha/CreativeDataStuff/50229d0089f083e026ee47026207de767085eff7/3Dmodel/2Cats.glb", size = 30, z = -20 };
dancer { url="https://raw.githubusercontent.com//IllestPreacha/CreativeDataStuff/50229d0089f083e026ee47026207de767085eff7/3Dmodel/3cats.glb", size = 50, z = -60, y = 9, ly = range -720 720 (osc 0.05)};
dancer { url="https://raw.githubusercontent.com//IllestPreacha/CreativeDataStuff/408a267932992a603e36367207a88a0fab2ee504/3Dmodel/Cats.glb", size = range 3 7 (osc 0.05), x = 0 };
```

### SonicPi

```ruby
live_loop :rollback2 do
  #making true random as it goes with the actual time
  #then using the Math.cbrt to make it a different seed ratio then the above function
  use_random_seed Math.cbrt(Time.now.to_i)
  use_bpm 45
  puts Time.now.to_i
  with_fx [:echo,:whammy].choose, mix: rrand(0.1,0.6) do
    with_fx :ping_pong, mix: rrand(0.1,0.9) do
      sample '',beat_stretch: [1,2,3,0.5].tick, sustain: 4, rate: Math.sqrt(dice(25) + 1)/3
      sleep [0.5,1,2,4,8].choose
    end
  end
  sleep [0.5,1,2].choose
end

Spread5  = (spread 11,14).tick

live_loop :rollback3 do
  #making true random as it goes with the actual time
  #then using the Math.cbrt to make it a different seed ratio then the above function
  use_random_seed Math.cbrt(Time.now.to_i)
  use_bpm 45
  puts Time.now.to_i
  with_fx [:echo,:whammy].choose, mix: rrand(0.1,0.6) do
    with_fx :ping_pong, mix: rrand(0.1,0.9) do
      sample "E:/Creatuve Code Challenges/Cats/Asset/CAT MEOWING SOUNDS ｜ Realistic Cat Sounds and Noises with Videos.wav",beat_stretch: [1,2,3,0.5].tick, sustain: 4, rate: Math.sqrt(dice(25) + 1)/3
      sleep [0.5,1,2,4,8,32].choose
    end
  end
  sleep [0.5,1,2].choose
end

live_loop :drumming2 do
  with_fx :flanger, mix: rrand_i(0.1,0.9) do
    with_fx :gverb, mix: [0.1,0.2,0.3,0.2,0.1].tick do
      use_bpm 90
      sample "E:/Creatuve Code Challenges/Cats/Asset/CAT MEOWING SOUNDS ｜ Realistic Cat Sounds and Noises with Videos.wav" if Spread5
      sleep [0.25,0.5,0.75,1,24].choose
    end
  end
end

live_loop :dance do
  #with_fx :hpf, mix: 0.2 do
  # with_fx :hpf, mix: 0.4 do
  with_fx :ping_pong,mix: 0.25 do
    with_fx :autotuner, mix: 0.75 do
      use_bpm 180
      sample "E:/Creatuve Code Challenges/Cats/Asset/CAT MEOWING SOUNDS ｜ Realistic Cat Sounds and Noises with Videos.wav",beat_stretch: 12,amp: dice(4), rate: 2 if spread(17,24).tick
      sleep [0.5,1,2,4,16,48,96].choose
    end
  end
end
#end
```

### LiveCodingYoutube

```javascript
cats = "0HyO-c6z-8A"

create(1,2,cats) // youtube id is pasted when you click a thumbnail

play(all)

speed(0,-4)
speed(1,3)
jump(0,10,15)
jump(1,5,-3)
```
