Interactive piece created with code in Hydra (hydra.ojack.xyz). Move the mouse to move the ship and avoid obstacles.
Hydra is a toolkit for live coding of network visuals created by Olivia Jack (ojack.xyz).
/*
Galaxy Race
by Daniel Oropeza
Tw: @ferdoropeza
*/
window.wr = innerHeight / innerWidth
obs = () => shape(4, 0.05, 0).scale(1, 0.5, 1)
var r = Math.random({time});
solid()
.add(
shape(4, 0.1, 0)
.scale(1, 1, 0.6)
.add(shape(3, 0.08, 0).color(1,1,1).scale(1, 0.5, 0.75).rotate(-11.0).scroll(-0.01, 0.03))
.add(shape(3, 0.08, 0).color(1,1,1).scale(1, 0.5, 0.75).rotate(7.85).scroll(-0.01, -0.03))
.scroll(
() => mouse.x / 1000,
() => mouse.y / 1000
)
)
.diff(o1)
.luma()
.diff(voronoi(128, 0).scrollX(0,0.03).scale(1, wr).thresh(0.8), 0.8)
.diff(o2)
.out()
solid()
.layer(src(o1).scale(4, 0.3).rotate(-1, 1, 2, 4))
.modulate(noise(3), 0.01)
.layer(osc(2, 0.01, 2).rotate(1))
.mask(noise(1))
.colorama(-0.01)
.saturate(3)
.hue(()=>time/100)
.modulateScrollX(o1, 0.1)
.modulateScale(o1, 6)
.modulate(osc(3))
.shift()
.blend(o1)
.blend(o1)
.blend(o1)
.out(o1);
solid()
.add(obs().repeat(2, 2).scroll(r, r).scrollX(0, -0.02))
.add(obs().scroll(-r, -r).scrollX(0, -0.01))
.add(obs().scroll(r, -r).scrollX(0, -0.03))
.add(obs().scroll(r, r).scrollX(0, -0.05))
.add(shape(4,0.05).rotate(3).pixelate(50,50).scroll(r, r).scrollX(0, -0.05).scrollY(0,-0.1))
.rotate(()=>time/10)
.scroll(()=>time/PI, ()=>time/PI)
.kaleid([2, 1,3,5,2])
.pixelate(50, 50)
.out(o2);
render(o0);