Bem, a maneira mais simples de pensar começa por garantir que todos os quartos estejam conectados por pelo menos 1 corredor:
- Comece com o último ou o primeiro quarto.
- Pegue uma sala aleatória a uma distância, que ainda não está conectada a alguma sala (todas as salas começam desconectadas, portanto você acompanhará isso à medida que avança).
- Se não houver espaço, vá para a distância +1. Se não há problema em passar por cima / embaixo de outra sala, isso é mais fácil, supondo que você não queira conectar corredores.
- Faça o seu caminho pseudo-aleatoriamente até que todos os quartos estejam conectados.
Agora sabemos que você pode chegar a todos os quartos, mas agora, se quiser mais do que este labirinto estritamente linear, basta percorrer os quartos e criar aleatoriamente um novo caminho para conectar os quartos, até um limite por quarto de 2 a 3, ou até que uma certa porcentagem de quartos atinja o máximo de conexões - etc.
Como etapa final, você pode adicionar regras que alterariam seus resultados para acomodar várias situações. Por exemplo, você pode observar que qualquer sala com apenas 1 corredor é, por definição, um beco sem saída; Você pode criar mais becos sem saída ou eliminá-los, garantindo que tudo tenha pelo menos 2 conexões. Você pode fazer com que becos sem saída tenham uma passagem secreta. Você pode garantir que a sala dos chefes seja um beco sem saída. Você pode garantir que sua sala inicial seja um beco sem saída, mas verifique se a segunda sala possui um mínimo de X conexões. Ao infinito.
Cada suposição e regra pode mudar radicalmente a aparência dos seus níveis, mas isso faz parte da diversão! Isso deve pelo menos levar você a uma colméia / caverna para começar.