Intressting stuff, i'm at that same crossroad it seems.
In my "Men at War" I use a system like this:
256 color mode so 8 bitplanes
4 lower bitplanes for everything that is background like walls and floor.
4 higher bitplanes for men, bombs and bullits.
So walking men it test before I step with bit test, so if bittest is lower than 16 then it is ground or wall.
If it is more then 16 I have a collition with other item like bomb or men.
Bullit works the same way, <16 walls/ground >16 mem or bomb.
Further more I can look this way as in:
color 0 till 3 ground , so I can walk on
color 4 till 10 wall so I have to stop if I walk into it.
color 11 till 16 special effect like bounce back or killed by...
It works okay but has a drawback. Certain colors can only be used in one way which makes
drawing a pain in the .ss, because for example the green color I can would like to use for a tree.
But if that same color also kills it can't be used that way. It limits more then I expected.
The idea of a seperate collitions detection map is one I have in mind too. So simple said
if its 0 you walk and if its 1 you stop. In thats map you can make all kind of hidden features or
usefull features, also killer walls which in de gfx don't have to show.
I guess I have to make a picture to make it more clear (I guess ??) but I'm afraid that I have
to do a lot of re-coding since this is the better way. Also for a level editor you now have 2
different maps. The one you see and play in and the one hidden that takes care of the collition.
I wish I knew that logic years ago