Set up a few command blocks to create a scoreboard based on the speed of your movement. Based on a certain number( I prefer 0), when your scoreboard drops to that registered base number parts of the floor will disappear (/setblock command). This could also be used to complete levels. No food means Hunger bar goes down. you cannot run at 3 food bars which makes you walk. This triggers the 0-1 scoreboard status opening a door or even spawning more food in. My Second Idea is to create a non-euclidean maze. Based on the direction you walk certain portions of the map will open up or close( Direction command). This could be tagged along with a slender esc variable. Certain directions lead to certain areas. If you look behind you a mob spawns and only by staring at it, will it stay in place. Turn around and the direction you are facing will trigger a comparator which outputs to let the slowness on the mob wear off( set slowness to 1000 and they wont move.) Hope this helped!