It's actually really simple. 1. I use my own map editor to make the maps, and it comes with a MAP_LOAD function. I set up my maps like so: layer 0 is collision, 1 is below the player, and 2 is above the player. 2. Then, if the player tries to move, it checks if there is a tile in the direction that they're moving in. If there isn't a tile, move there. Finally, I use some SPANIM to make it lookgood