# WCCC_Landscape

# ForestBuildUp

For this week's Creative Code challenge by @sableRaph: "***Landscape“,ForestBuildup*** takes ***Locomotion, SonicPi & Hydra*** code to make a glitchy forest that is being rendered for the user to explore

## Poem

```ocaml
Which colors of the leaves
Represent your mood?
Which content of this time,
You want to view?
Want to witness
So it adds extra value
Acts as as glue
```

## Video

%[https://youtu.be/ITWoujiTH4k] 

## Code

### Locomotion

```haskell
dancer { url = "test_proto_nograss.glb", size = range 0.35 4 (osc 0.075)};
dancer { url = "Garden.glb", size = range 0.35 4 (osc 0.075)};
dancer { url = "Garden.glb", size = range 0.15 2 (osc 0.1375)};
dancer { url = "Garden.glb", size = range 1 6 (osc 0.075), z = 13};
dancer { url = "Garden.glb", size = range 2 8 (osc 0.075), z = 14};
dancer { url = "Garden.glb", size = range 3 9 (osc 0.0175), z = 4};
```

### SonicPi

```ruby
#l stands for line of poetry



l1 = ("under".to_i(32) - "&".to_i(32) + "beneath".to_i(32) - "the".to_i(32) + "sea".to_i(32) ) % 2024
l2 = ("what".to_i(32) - "is".to_i(32) + "in".to_i(32) - "this".to_i(32) + "deep".to_i(32) - "void".to_i(32) ) % 2024
l3 = ("below".to_i(36) - "to".to_i(32)  - "join".to_i(32)) % 2024
l4 = ("or".to_i(36) + "willing".to_i(33) - "to".to_i(32) + "flee".to_i(27)) % 2024


live_loop :dance do
  use_random_seed Time.now.to_i / 3
  with_fx :ping_pong do
    use_bpm l4/l3
    sample [:glitch_perc1,:glitch_perc3,:glitch_bass_g].tick, amp: 1.5, rate: [l3/l4,l4/l3,l1/l4,l2/l3].tick + 0.1 if spread(l2,l1).look
    sleep [0.5,1,2,4,8].choose
  end
end

live_loop :dance1 do
  use_random_seed Time.now.to_i / 2
  with_fx :ping_pong do
    sample [:bd_zome,:ambi_piano,:elec_bong].choose, amp: 1.5, rate: [l3/l4,l4/l3,l1/l4,l2/l3].choose + 0.1 if spread(l2,l1).look
    sleep [0.25,0.5,1,2].choose
  end
end

live_loop :dance2 do
  use_random_seed Time.now.to_i
  with_fx :ixi_techno do
    sample [:guit_e_fifths,:elec_chime,:bd_boom].choose, pitch: 7, pitch_stretch: [1,2].tick, amp: 1.5, rate: [l3/l4,l4/l3,l1/l4,l2/l3].choose + 0.1 if spread(l2,l1).look
    sleep [0.25,0.5,1,2,4].choose
  end
end
```

### Hydra

```javascript
s0.initScreen()

src(s0).modulatePixelate(src(s0).scale(0.5),1145).modulateRotate(src(s0).scale(0.25)).out()

speed = 0.0025
```
