si tu veux le faire en 2D :
tu mets des quads avec openGL... comme ça, tu le vois par dessus.
mais comme dit Kooki : le plus dur est de le générer et trouver la sortie...
Considere un tableau 2D booleen : soit un mur, soit un chemin.
Génération :
le meilleur algo est de creuser de façon réguliere des trous de 1 case dedans : telle que les murs fassent une grille.
Ensuite, tu selectionne 2 zones non connexes au hasard ( les zones de chemins) et tu regardes si elles sont séparées que par un mur : si c´est le cas tu l´enleve.
Cet algorithme glouton fini par rendre le labyrynthe connexe...
Une astuce : tu peux de façon préliminaire supprimer d´abord plusieurs murs au hasard sans te soucier de la connexité.
TROUVER LA SORTIE :
simple : c´est un algorithme récursif bourrin.