# WCCC_Creatures

# BlobOfMass

For this week's Creative Code challenge by @sableRaph: ***" Creatures ”***, **BlobOfMass** is a creature/entity coded in **LiveCodeLab** with its soundtrack coded in **SonicPi.**

## Poetry

```ocaml
Blobs are blobbing
With hopes of their season
To perform their treason
But is there a way of it stopping?
Is there a way of it skipping,
Skipping a beat?
Or these blobs want to continue their treats
As they venture after their formation
Into the streets
Into the seas
Into the streams
To gather not only useful information
But to keep their blobbing
For more blobs to come in
And commence their flipping
as others prepare to slip in
```

## Video

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

## Code

### LiveCodeLab

```javascript
scale 0.05

ringDetail = (time % 40 + 1) * 3
ambientLight 255,150, 90
noStroke
fill gold
background black


time % 14 + 5 times with i
	ringDetail times with j
		rotate Math.hypot(sin(time)*i,cos(time)*i),Math.hypot(sin(time)*i,cos(time)*i),Math.hypot(sin(time)*i,cos(time)*i)
		move i/time, sin(i), i *wave(cos(i)*2)
			ball Math.hypot(j % i, sin(time))
```

### SonicPi

```ruby


live_loop :BassAttack do
  use_random_seed Time.now.to_i / 4
  use_bpm [40,120,240,480].choose
  
  with_fx [:echo,:ixi_techno].choose, mix: rrand(0,0.75) do
    sample :perc_snap if spread(2,3).reverse
    sample :bd_klub if spread(5,6).tick
  end
  
  sample :elec_blup if spread(4,7).tick
  sample :elec_blip if spread(1,2).tick
  sleep [1,4,2].choose
end

#shorter rest time
live_loop :BassAttackFast do
  
  use_random_seed Time.now.to_i / 5
  use_bpm [40,120,240,480].choose
  
  with_fx [:whammy,:echo].tick do
    sample :perc_snap if spread(2,3).reverse
    sample :bd_klub if spread(5,6).tick
    with_fx :bitcrusher, bits: rrand(0,16) do
      sample :elec_blup if spread(4,7).tick
      with_fx :slicer, phase: rrand(0,16) do
        sample :elec_blip if spread(1,2).tick
        sleep [1,2,4].tick
      end
    end
  end
  
end

#give that piano feeling
live_loop :piano do
  use_random_seed Time.now.to_i / 3
  use_bpm [40,120,240,480].choose
  
  with_fx :ping_pong, mix: rrand(0.25,0.76) do
    with_fx :echo do
      use_synth :pretty_bell
      bellTime = (scale :f3, :major).reverse
      play bellTime if (spread 10,24).tick
      sleep [1,2,4].choose
    end
  end
end

```
