For this game jam, the prompt was to build a game with an engine, you haven't used before. I decided to make a game in Bitsy. Then decided to use Hydra & SonicPi to make a glitched version that can be played in real-time.
To get the glitch version, copy and paste the Hydra into another window and enjoy. If you want the audio, play the file located in this blog post.
live_loop :dosagedo
use_bpm 20
use_random_seed (Time.now.to_i)/2
with_fx [:echo,:wobble,:krush].choose, mix: rrand(0.25,0.55) , amp:1do
sample [:ambi_drone,:ambi_glass_hum,:elec_fuzz_tom,:elec_beep].choose,beat_stretch: [1,0.5,0.8].choose, rate: [0.5,0.4,0.3,0.2,0.3,0.4].tick
sleep [0.5,1,2].choose
endend
sample
live_loop :belldo
with_fx [:ixi_techno,:flanger,:ping_pong].choose, mix: rrand(0.2,0.7) do
use_random_seed (Time.now.to_i)
use_bpm [120,80,220].choose
sample [:perc_bell,:elec_bell,:loop_electric].choose, rate: (rrand 0.125,1.85)
sleep rrand(0.2,2)
endend
live_loop :rollback2do#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,:distortion].choose, mix: rrand(0.1,0.6) do
with_fx [:ping_pong,:distortion,:krush].choose, mix: rrand(0.1,0.9) do
sample [:perc_swoosh,:perc_swoosh,:perc_snap].choose ,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
endend
sleep [0.5,1,2].choose
end
live_loop :rollback3do#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,90,90,90,135].tick
puts Time.now.to_i
with_fx [:echo,:whammy,:distortion,:pitch_shift].choose, mix: rrand(0.1,0.6) do
with_fx [:ping_pong,:distortion,:krush].choose, mix: rrand(0.1,0.9) do
sample [:loop_mehackit1,:perc_swoosh,:glitch_robot2,:glitch_robot1].choose ,beat_stretch: [1,2,3,0.5].tick, sustain:4, rate: Math.sqrt(dice(25) + 1)/3
sleep [0.5,1,0.25].choose
endend
sleep [0.5,1,2].choose
end