Genuary 2023 Day 20 - Art Deco

January 20, 2023
pico-8 open-source
Genuary 2023 Day 20 - Art Deco
-- genuary #20 2023
-- art deco
-- by carson kompon
bits={}
z=0

function get_radius(i)
	return (i*8+z)%88+1
end

for i=1,11 do
	for j=1,4 do
		add(bits,{
			layer=i,
			ang=rnd(),
			rotspd=(rnd()-.5)/100
		})
	end
end

pal({[0]=7,6,5,0},1)

cls()
::_::
	
	for i=0,127do
		for j=0,127do
			pset(i,j,max(pget(i,j)-1))
		end
	end
	
	for b in all(bits) do
		local _cos=cos(b.ang)
		local _sin=sin(b.ang)
		local r=get_radius(b.layer)+1
		local bx=63+_cos*r
		local by=63+_sin*r
		line(
			bx,by,
			bx+_cos*7,
			by+_sin*7,
			3
		)
		b.ang+=b.rotspd
	end
	for i=1,11 do
		local r=get_radius(i)
		circ(63,63,r,3)
		circ(63,63,r+.5,3)
		circ(63,63,r+1,3)
	end
	flip()
	z+=1
goto _