Ja bym stworzył gotowe większe kawałki korytarzy i pomieszczeń i układał je w całośc jak puzzle. Wtedy np. zawsze do danej strefy może być max. 4 wejscia (północ, południe, wschód, zachód), ale nie muszą - nie mniej ustawiając jeden losowy klocek na starcie który ma wejścia na górze i z prawej wiesz, że z lewej i na dole musisz ustawić fragment mapy który wejśc z tej strony mieć nie będzie. To raptem 4 instrukcje if ;)
Ew. algorytmy na znajdywanie drogi które są w GM, mogą posłużyć za rysowanie korytarzy pomiędzy takimi pomieszczeniami (wtedy gdy np. masz każdy blok wielkości 200x200 pikseli, wcale nie muszą być one ułożone w siatce tej wielkości - mogą być na różnych wysokościach, żeby korytarz trochę skręcał).