Genuary 2023 Day 7 - Sample a color palette from your favorite movie/album cover

January 07, 2023
pico-8 open-source
Genuary 2023 Day 7 - Sample a color palette from your favorite movie/album cover
-- genuary #7 2023
-- sample a color palette from your favorite movie/album cover
-- by carson kompon
_set_fps(60)
pal({[0]=0,136,8,137,9,132,143,7,128,4,129},1)
wiggles={}
for i=0,127 do
	for j=0,127 do
		c=sget(i,j)
		if c>0 then
			add(wiggles,{
				x=i,y=j,
				tx=i,ty=j,
				hs=rnd()-.5,vs=rnd()-.5,
				c=c
			})
		end
	end
end
cls()
::_::
	for i=1,40 do
		circfill(24+rnd(80),rnd(128),1,1)
	end
	for i=1,10 do
		for j=1,10 do
			xsep=10
			ysep=16
			tx=t()*16
			ty=tx
			if(i%2==0)tx*=-1
			if(j%2==0)ty*=-1
			circfill(
				24-xsep+(tx+(i*xsep))%(80+xsep*2),
				-ysep+(ty+(j*ysep)+sin(t()+i/5)*8*sgn(xsep))%(128+ysep*2),
				sin(t()+(i+j)/8)*2*sgn(xsep), 2+rnd(2)\1
			)
		end
	end
	rectfill(24,90,104,128,5)
	rectfill(24,94,104,124,4)
	rectfill(24,80,75,128,8)
	rectfill(26,100,73,104,7)
	for i=0,14 do
		xx=28+i*3
		rect(xx,100,xx+1,101,0)
	end
	
	for w in all(wiggles) do
		ang=atan2(w.tx-w.x,w.ty-w.y)
		w.hs+=cos(ang)/50
		w.vs+=sin(ang)/50
		w.x+=w.hs
		w.y+=w.vs
		circfill(w.x,w.y,1,w.c)
	end
	
	rectfill(0,0,24,128,0)
	rectfill(104,0,128,128,0)
	txt="pico-8"
	print(txt,64-#txt*2,12,7)
	txt="𝘵𝘩𝘦 𝘧𝘢𝘯𝘵𝘢𝘴𝘺"
	print(txt,64-#txt*2,24,7)
	txt="𝘵𝘩𝘦 𝘤𝘰𝘯𝘴𝘰𝘭𝘦"
	print(txt,64-#txt*2,36,7)
	txt="carson kompon"
	print(txt,64-#txt*2,120,7)
	flip()
goto _