It is very possible, in fact, that’s how most RPGs work…
I would think of it like this… imagine your game to have different layers… you’ve got the first layer, which is what the environment looks like, so you could make a matrix to determine which tiles will be displayed.
example:
1=Grass, 2=water, 3=building, 4= Doorway
3,3,3,3,3,3,3,3,1,1,1,1,2,2,2,2
3,3,3,3,3,3,3,3,1,1,1,1,1,2,2,2
3,3,3,3,3,3,3,3,1,1,1,1,1,1,1,2
1,1,1,1,3,4,4,3,1,1,1,1,1,1,1,1
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
This should be soley for visual purposes.
Then there is your second layer, which has all your item/object/hotspot info.
You should have each item in the grid have its own ID number:
0=Empty, 1=Unpassable, 2=Water, 3=Door to inside building, 4=Chest with potions, 5=Event Starts when character steps here, 6=Chest with money
1,1,1,1,1,1,1,1,0,0,0,0,2,2,2,2
1,1,1,1,1,1,1,1,0,0,0,0,0,2,2,2
1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,2
4,0,0,0,1,3,3,1,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,5,5,5,0,0,0,0,0,0
0,0,0,0,0,0,0,5,5,5,0,0,0,0,6,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
You can really go as deep as you want with layers, but this is generally how I would do it