I haven't read the whole thread so I don't know what system you are using but maybe you could fire out the equivalent of some Unity raycasts to hit the environment around your character so that you could roughly calculate the ammount of free air his is in and possibly dynamically alter the slight echo so it fits his environement perfectly. Maybe even just play the footstep sounds twice at half volume each(with a very tiny delay) and dynamically alter the timing between them to create dynamic echo.
Thanks for the feedback, something to consider, there's a million other things to do first - but I'll keep it in mind.
Thought I'd post an update of some stuff I've been up to.
One major thing I did was delete half of the map. The area I took out was too empty and large, I was just trying to force it to be big for the sake of it. It also had no real mechanical flow (something that's pretty difficult to get right in a non-linear environment). Anyway I deleted that area, and started again with a plan and it's coming together very well, ended up being a very good decision.
I also re-factored the start of the game a bit; although not finished, it's a lot more interesting now.
I've started to wrap my head around the cool and difficult aspects of design, mostly realising the things I need to consider. I've been thinking about braid and VVVVVV a lot, and how their designs work.
Braid shows the player a shiny jigsaw piece in segmented puzzles in levels. It says "solve this, and you get this". With an exploration based game, primarily the reward will be access to the next area/room. VVVVVV had a hybrid approach, predominantly you'd solve a room and move to the next, with the addition of trinkets in places to add an extra layer of challenge and another thing for the player to aim for.
If you look at the level structure for VVVVVV it's got a large main area which allows for exploration, with paths coming off that funnel into a more linear level system, which is pretty genius. At the moment I'm going down this route, but with the added complication of not making it too linear. There's currently not many dead end nodes, you can wander around, come across a little gap you decide to check out if you want, and that could lead somewhere important. I think that's a pretty important element when focusing on the exploration side of things, the feeling of being able to go anywhere.
Anyway, this part is hard to balance so it's interesting to think about. How can I teach the player what new mechanics do if I don't know how much of the other mechanics they've seen? I think the game will be challenging overall, I just need to maintain perspective on how accessible some of it is.
Also here's a picture: