👽 Lee Tusman

← Nosebook 👃📓

Programming a lil dungeon 👹🕹️

14 May 2025

Four-minute read

Lil Dungeon

=> Lil Dungeon on itch.io

This is a game created for the TweetTweetJam 10 to make a game in 500 characters of code or less. I used 499 characters.

This was my first attempt at sizecoding in Pico-8/Lua and I found this quite a challenge. I attempted to balance my ambition (make a dungeon crawler) within the constraints. That said, the game is closer to something like the old Chase / Daleks / Robots game than a true roguelike.

Goal

You are a cat descending levels in the dungeon. Try to reach the stairs ▒ (yellow cross-hatch symbol) to go down one level. You will die if you get eaten by any of the red demons. See how many levels of the dungeon you can descend before getting eaten! That’s it!

Your only control is the arrow keys. Reload the page to begin a new game.

High Scores

15 and above: God-level.

10 and above: True catpunk.

5 - 10: Not bad, kittypunk.

Less than 5: You’re not too good at this.

Code

Current updated code as of 2026-05-14.

r,x,y,f=rnd,3,3,1function _init()
e={}a=r(8)\1b=r(8)\1
for i=1,5do repeat e[i]={x=r(8)\1,y=r(8)\1}until e[i].x!=x or e[i].y!=y end m()end
function _draw()v=btnp()
if(v==2)x+=1m()
if(v==1)x-=1m()
if(v==4)y-=1m()
if(v==8)y+=1m()end function m()d=16for y=0,114,d do for x=0,114,d do
fillp(r())rectfill(x,y,x+d,y+d,2)end end
?"▒",a*d+4,b*d+5,9
?"🐱",x*d+4,y*d+5
?f,2,2,6
for j in all(e)do
j.x+=r(3)\1-1
j.y+=r(3)\1-1
?"😐",j.x*d+4,j.y*d+5,8
if(j.x==x and j.y==y)stop()
if(x==a and y==b)f+=1_init()
end end

Comments/questions

If you have any further sizecoding suggestions, or better yet, some solutions to the following bugs/unfair things that would keep me within 500 characters, let me know!

known bugs/limitations

  • update: due to some sizecoding tips from a comment on the game page, i shrunk my code which freed me up to be abl e to add in code that prevents monsters from spawning on top of the player. The monster spawner is not very smart. When it creates a new level a monster could spawn on top of you, killing you. I wasn’t able to fit a correction to this in within the strict limits
  • Technically the monsters can walk offscreen and then back on, so they could kill you if you’re on the outer ledge and they walk into you
  • The monsters can move 8 directions orthogonally while the player cannot. Again, this was a limitation based on my inability to fit in an either/or X/Y movement mechanism for the monster within the code length limitations.
  • The left-behind screen residue/artifacts are a result of not redrawing the screen background, and I think are both visually interesting and make the game slightly harder. I like it!