Add overlap checks to room generation