Munro

Munro

@munrowyman.bsky.social

Technical Artist | Retro Indie Dev | NYC munro.itch.io

227 followers106 following181 posts

Did an irl fishing trip for first time in a long time. Which led to the question: "What if you could use items as bait... any item" Totally not related to my playtesters' tendencies to chuck random junk in the lake. #pico8

CASELAKE Take to the lake and catch fish to fit into your oversized briefcase: using guns! Sell fish ashore to buy more guns, ammo, and upgrades. But remember: Some things are better thrown back. Early half-baked prototype for #summerslowjams: munro.itch.io/caselake

Hmm I have rotational item sprites and the enemies double as items. what if I just... yeah there's gas here. #pico8 #pixelart #indiedev

Testing out some improvements to the rotation system using seagulls. Plan is they'll try to steal your fish and are annoying to fit. #pico8 #pixelart

I may have started another inventory tetris game. It's about fishing. Using guns. To sell fish to buy more guns. Hoping to finish up a playable prototype, cross my fingers. #pico8 #pixelart #indiedev

Teaching a little #picoCAD 2 intro workshop at #ITPCamp2026 today. Doing a simple chest model as example but then got kind of into it. Can't wait to see what others make! #lowpoly

v=rnd n=0z=5s=v()m=2::g::u=0o,e=1srand(s)d={}for i=0,8do add(d,{x=9,s=v(),l=0,c=i+5})end srand(t()+s)q={}for i=0,m do add(q,del(d,v(d)))end m+=1?"debt" if(z<0)goto g ::_::p=btnp()if(e==c)o+=p\8%2-p\4%2

if(btn(5)and u>0)goto g if(btn(4)and e==c)e=1z-=5 cls()for i,f in ipairs(q)do r=cos(f.x/6)*2y=i*15x=f.x?"ᶜf◜ "..(f.u or o==i and"◀"or""),x+9+r,y+1 rrectfill(x,y+4,13+r,5,1)circfill(x,y,8,f.c)if(x>83and f.u==c)u+=1z+=u<2and o==i and m*5or 0f.u=u if(x<96and e)f.x+=v(f.s)end?"▒ "..z,99,1 flip()goto _

Continuing to address my longest running playtester feedback: the default pico8 font is hard to read. Finally made the switch over to the more legible large font for the patrons. #pixelart #pico8 #gamedev #screenshotsaturday

Continuing on tutorial and polish after playtesting. Designing it to be playable at a fast pace. Also accounting for the player going off script with a load of edge case checks. Ordered couple NES-style controllers to slap 🅾️❎ stickers on! #pico8 #pixelart #indiedev

Fun demaking a model that's already lowpoly. Worked out a semi-decent way to make reference layers. This speed up the modeling part, though is hacky. The animation portion was a bit painful between the rotating cylinder and recoil+6 shots, requiring a load of animation clips. Looks like DDR!

Animation tricks: Swap heads for emote For recoil, swap gun with movable parts with a merged one Charging animation is a scaling cube inside the gun Ponytail physics courtesy of mixing random rotations Easing curves! Begun to lag when all on screen so feels very nostalgic for picoCAD1 haha.

Working on an interactive tutorial to make the controls more immediate. Using highlights and fading out other walls to direct attention, will see how it all holds up in next playtest! #pico8 #pixelart #screenshotsaturday #indiedev

Tri-Tachyon function l(x,y,r,c)for i=0,r,2do circfill(x,y,i,c)flip()end end pal(1,-4,1)cls(1)l(63,64,59,7)l(63,64,54,1)for z=9,95do line(63-z*.57,z,63+z*.57,z,7)flip()end for z=61,9,-2do for a=0,1,1/3do l(63+sin(a)*z,64-cos(a)*z,2,1)end end l(63,63,22,1)l(63,63,15,7)::_::goto _ #starsector #pico8

poke(21-😐,2)::_::cls()if(t()%4<2)q={}?"\^t³z\#8iff system\nlevel 3 - disengaged",24,52,7 for i=1,#q do l=q[i]x=l[1]y=l[2]rect(x,y,x+16,y+16,8-i\#q)?i+666,x,y+18 circ(x+8,y+8,8,0)end add(q,{rnd(120),rnd(120)})for i=0,9do z=6^13+rnd(8192)memcpy(z,z+rnd(8)-4,64)end circfill(63,63,63,6144)flip()goto _

"Biometric" (300 chars) “We can model the future facial structure and- and thus predict probability of-” stammered the lone face in a sea of silent black boxes. #pixelart #postcart #indiedev #pico8

function r(i)srand(i+s)x=ord(q,i)-13y=ord(q,i+1)-13return x,y,x<63and x-rnd(8)or x-4,y-rnd(8)end q='𝘲…?웃𝘲{3y𝘥u𝘲q0b𝘲b𝘣[𝘫𝘱-𝘯4𝘧𝘪𝘤𝘱7-07-𝘨"7•𝘦⁘𝘲⁙'::_::cls()poke(13-😐,5)s=t()for z=3,11,8do for i=1,#q,2do c,d,e,f=r(i)for v=1,#q,2do a,b,g,h=r(v)if(abs(c-a)+abs(d-b)<32)line(e,f,g,h,z)end flip()end end goto _

pal({-15,-4,12},1)e=circfill::_::k="\^c1\^$"for i=1,704do k..=i%6-t()*4%24<-9and("_clear")[i%6+1]or chr(rnd(74)+48)end ?k,0,0,0 poke(63-😐,242)for i=0,9do for l=9,61do c=63+l*sin(i/5)s=68-l*cos(i/5)if(i<5and l>26)e(c,s,sin(l/100+.5)*9+6,2) if(i>4and l<20)e(c,s,2,0)end end e(63,67,9,2)flip()goto _

"Sefirot" function s(i)return(("1020210211")[i]*32-32)*a+63+a*20,("1224456679")[i]*13end pal({-14,2,-8,-7,9,10},1)cls(1)::_::for r=0,49do a=sin(r/350+t()/8)for i=1,10do n,m=s(i)circ(n,m,5,r/7)for j=0,7do if(ord(('そh@𝘩@`𝘩(「▮ ')[i])-16&2^j>0)f,g=s(i+j-2)line(n,m,f,g)end end end flip()goto _ #postcart

Munro reposted

"The Thief's Journal" My fellow prisoners were moths. They danced frantically beneath the light, blinded by that dangerous urge to disregard the risks. Stupid bastards. source in a post below #pico8 #codeart #tweetcart #postcart #generative #sizecoding

function f(y,x,r,n)poke(63-😐,240|n)for i=0,r do circfill(63+k*x,69-j*y,i,255)flip()end end j=0k=0pal({[0]=9,0,9,9,0,0,1,0,9,0,1,9,9,0,0,9},1)cls()f(0,0,31,4)f(0,0,24,8)f(0,0,8,2)for a=0,1,1/3do j=cos(a)k=sin(a)f(28,28,32,1)f(36,36,25,2)f(-28,-28,13,8)f(10,-10,2,2)end::_::goto _

b=0j=9k=63pal({-14,2,-3,-2,-1,15},1)cls()r=rnd::_::if(a==o or e>6)x=j y=k a=b e=0j=r(99)+15k=r(99)+15b=r() for u=0,8,.1do q=mid(0,e+u/8-1,1)f=1-q l=a*f+b*q c=cos(l)s=sin(l)n=x*f+j*q+r()m=y*f+k*q+r()o=u+32line(n-c*9,m-s*9,n+c*o,m+s*o,u)c=cos(l+1/4)*4s=sin(l+1/4)*4line(n-c,m-s,n+c,m+s)end e+=.03goto _

"Segmented" (300 chars) “I want to live forever!” she spat at the clock. “y0:UR W1:5H 5E:t5 31:nE L1:FE Fr:EE” the silent laughter howled back. #pixelart #pico8 #postcart #indiedev

pal(2,-14,1)b=stat::_::cls()for f=0,3do z=t()*9\10^(3-f)%10for e=0,8do for i=0,7do n=ord(("シ𝘥ゆモmネリ𝘧◝フuは➡️7uオ0ね7w𝘭𝘸uは➡️➡️")[t()%9<7and z+1or f+11+t()/8%4\1*4])a=i/4+1/8w=f*29+24h=i\4*13+20x=w-cos(a)*9j=w-cos(a-.25)*9line(x-e,sin(a)*9+h+x/2,j-e,sin(a-.25)*9+h+j/2,n&2^i>0and 8or 2)end end end flip()goto _

"Xenos" (293 chars) We tried signal communication at first but their glyphs were strange and incomprehensible. No matter, once we teach them YNXUWPZ and OXRJOO, they’ll be screaming IPQHEEECYE like the rest of us. #pico8 #pixelart #postcart #indiedev

poke(24415,16)pal({[0]=-16,0,0,-5},2)l=1::_::cls() for y=9,116,30do for x=16,112,12do if(rnd()>.1)then for h=0,1do for i=0,1,1/8do f=y+h*8c=mid(-4,cos(i)*8,4)s=mid(-4,sin(i)*8,4)if(rnd()>.7)line(x,f,c+x,s+f,3) end memset(81-😐,85*l,16)l=3-l?chr(rnd(26)+65),x-1,y+14 flip()end end end end goto _

"Stained" (249 chars) e=63n=circfill::_::u=t()cls()srand(u\4)for i=0,99do a=rnd()r=rnd(e)n(cos(a)*r+e,sin(a)*r+e,u%4*30,i%6+7)end spr(0,0,0,u%4*e,e)poke(21-😐,2)n(e,e,e,54^11)for a=0,1,.1do for i=0,1do circ(e+cos(a)*e+i,e+sin(a)*e,90)end end memcpy(0,6^13,4^7)flip()goto _ #pico8 #pixelart #postcart

"Nixie" (300 chars) It was a cold day when the clocks began ticking up again, faster still. Time would have her due. #pico8 #pixelart #indiedev

::_::cls()for w=0,3do for b=9,0,-1do z=b==t()*9\10^(3-w)%10and 1or 0for a=0,z,.1do for f in all(split"q‖wクq,‖ク,𝘳⁘𝘸カシ,■7sほカ,ケ◀qw,▶⁙q𝘸コ➡️,‖➡️シ𝘷➡️,■▶キ,7■シね7,ケ𝘸‖1s𝘸"[b+1])do d=ord(f)-16x=(d&7)*4-cos(a)+w*32y=(d>>5&7)*9+sin(a)+32if(m==u)m=x n=y line(x,y,m,n,a*2+z*7+1)m=x n=y end m=h end end end flip()goto _

"Arcana" (300 chars) Each forecast accented the same message. But you couldn't accept that so they kept on shuffling. #pixel_dailies #pico8 #pixelart #postcart

m=split"0,i,ii,iii,iv,v,vi,vii,viii,ix,x,xi,xii,xiii,xiv,xv,xvi,xvii,xviii,xix,xx,xxi"s=rnd()::_::srand(s)cls(9)for i=1,3do x=i*40-33y=35+min(t()-i)*99rrectfill(x,y,33,56,2,0)n=rnd(22)\1+1w=?m[n],0,-6,7 ?"\^t"..m[n],x+17-w/2,y+40 ?"\^t\^w"..sub("웃⧗▥みホキ♥➡️🐱⬅️🅾️りすシ▤ヨエ★●✽⬆️❎",n,n),x+9,y+16 end flip()goto _

"Lichen" (197 chars) pal({-15,-13,3,-5,11,-6},1)cls()?"◆",60,60,7 h=rnd::_::x=h(128)y=h(128)c=pget(x,y)if(c<1)goto _ i=h()j=(x+cos(i))%128k=(y+sin(i))%128if(pget(j,k)<1and c>6)pset(j,k,7) if(h()>.7)pset(x,y,c-1) goto _ #pico8 #indiedev #pixelart #postcart

"Washout" (300 chars) Your pa said you'd never amount to much. He was dumbfounded when Sud Nouveau came into vogue. #indiedev #pico8 #postcart

cls(4)poke(24365,1)w=128h=rrectfill::_::if(c)sspr(0,0,w,w) x=stat(32)y=stat(33)for i=0,700do n=rnd(w)m=rnd(w)c=0for g=-1,1do for h=-1,1do e=pget(n+g,m+h)if(e<5or e>8)c+=1end end if(c>2and pget(n,m)>6)pset(n,m,12)end h(x,y,24,12,3,7)memcpy(0,24576,8192)h(x,y,24,12,1,10)h(x,y-2,24,12,1,3)flip()goto _