Room-based depth first traversal

Lots of hacks that will be taken out later when there is more structure