I'd use an array-based grid system. You initialise an array the size of the level, i.e say you divide the level into 100x100 squares, you'd use dim level(100,100). To make a boolean type system to check for objects, you'd use something like dim level(100,100,10), which means that on each square, there could be 10 possibilities, defined by boolean logic, i.e 0=no object on that square, 1=object on that square. Now lets say level(x,y,1) stands for character on square x,y, so if level(x,y,1)=1 then your character inhibits the square, if 0 he doesnt. Then 2 could be an obstacle, i.e if level(x,y,2)=1 theres an obstacle on square x, y. So you could test if you want to move right, if level(characterX+1,characterY,2)=1, i.e the square to the right of the character is occupied by an obstacle, you cant move there. I hope this helps you
Whatever I did I didn't do it!