User blog comment:Randomouscrap98/Adventures in Village 1/@comment-14600979-20130820232656/@comment-50.135.48.118-20130821131846

They have 16x16 background tiles that correspond to them,  and my current method is to for every time a movement is made, gosub to a section that says IF bgx > _ And bgx< _... then bgx-R   Where R is pixelwise speed of movement

and so on to make invisible nonwalkable rectangles all over the map. And, now that I think about it, the way I'm doing it doesn't need sets of nonwalkables for each direction, So I can shave down 50ish lines.