JeuWeb - Crée ton jeu par navigateur
Génération d'un donjons aléatoire - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Génération d'un donjons aléatoire (/showthread.php?tid=4162)

Pages : 1 2 3


RE: Génération d'un donjons aléatoire - JauneLaCouleur - 12-07-2009

J'ignore si c'est un bug, mais en bas et à droite, le manoir presque toujours ouvert.

La première solution qui me vient à l'esprit, c'est d'identifier les pièces, et de crée une/des portes. C'est post-génération. En gros tu parcours ta carte, en passant de case adjacente ouverte. Je sais pas si c'est très clair...

Sinon, il faut revoir le façon de générer le labyrinthe, et/ou rajouter des contraintes.


RE: Génération d'un donjons aléatoire - kilhom - 12-07-2009

Oui c'est normal que en bas et à droite ce soit ouvert Smile

Et oui justement je cherche ces contraintes... et je vois difficilement d'autres façons de faire ce que je veux autrement. =/

Merci de ta réponse !


RE: Génération d'un donjons aléatoire - JauneLaCouleur - 12-07-2009

C'est un problème amusant, je vais m'y essayer...


RE: Génération d'un donjons aléatoire - kilhom - 12-07-2009

En effet JauneLaCouleur, j'y prend aussi un certain plaisir dans ce challenge ^^

Pour le moment j'ai une piste : on identifie les différentes "sales" qu'il peux y avoir dans le donjon par des chiffres (1,2,3,etc...)

Puis on relis ces salles. Mais bon c'est plus facile à dire qu'à faire Smile


RE: Génération d'un donjons aléatoire - Sakura - 12-07-2009

Problème intéressant en effet

La première chose qui me vient a l'esprit est de faire de la récursivité terminal la dessus. Je partirais d'un repère avec le centre en haut a gauche diriger vers la droite et le bas. La première case est choisi aléatoirement avec au moins deux entré, une sur le bord (entré du donjon) et une autre qui s'ouvre au reste du tableau a remplir (porte vers une autre salle). A partir de la tu lance une fonction, récursive.

Il faut un tableau Tab a deux dimension au dimension du tableau avec 0 si la case est vide ou l'ID de la case choisi le cas échéant. X et Y etant les coordonne de la case initialisé a 0/0 au début. Porte prend deux valeur, droit ou haut pour savoir ou est la jointure de la case précédente. Mon algo parcour le tableau avec un sens gauche/droite puis haut/bas.
La fonction aurait un prototype du genre:

function NewDonjon(X,Y,Porte)

SI X=0 et Y=0
---remplir Tab[0][0] avec une case ayant une porte en haut ou a droite et une porte a droite et/ou en bas//initialisation
SI Tab[X][Y]=0
---SI Porte=droite remplir Tab[X][Y] avec case ayant une porte a droite
---Si porte=haut remplir Tab[X][Y] avec une case ayant une porte en haut
SI num_case a une porte a gauche
---appelle de NewDonjon(X+1,Y,droit)
SI num_case a une porte en bas
---appelle de NewDonjon(X,Y+1,haut)
Fin fonction

Le probleme de cet algo est que toute les cases du tableaux ne seront pas forcement completer si les case choisi aléatoirement forme des cul de sac avant la fin. L'avantage c'est qu'en théorie tu est sur que toute tes salles seront relié entre elle.


RE: Génération d'un donjons aléatoire - Sloop - 13-07-2009

Cela t'intéressera peut-être :
http://www.siteduzero.com/news-62-30695-nouveau-concours-les-generateurs-de-labyrinthes.html
http://www.siteduzero.com/concours-654-52-generateurs-de-labyrinthes.html

Fais une recherche pour avoir le résultat du concours


RE: Génération d'un donjons aléatoire - NicoMSEvent - 21-07-2009

Si tu es toujours intéressé, j'ai retrouvé (et adapté les adresses) de cet ancien post, parlant de génération de labyrinthe au hazard : http://www.jeuweb.org/board/labyrinthe-t-1366.html


RE: Génération d'un donjons aléatoire - Delkaes - 21-07-2009

plop, pour moi le meilleur générateur de donjon est celui là : http://www.myth-weavers.com/dungeon.php

tu peux dl la version offline : http://www.suckyweb.com/darcphaze/Pangea/dungeon_win.zip

Ca peut te donner des idées, au moins pour ceux qui veulent avoir une map donjon rapide y a qu'a ^^


RE: Génération d'un donjons aléatoire - NicoMSEvent - 21-07-2009

excellent!!!! je garde les url sous le coude ^^


RE: Génération d'un donjons aléatoire - Argorate - 21-07-2009

Idem, bien que je n'en ai pas besoin pour mon MMO, c'est excellent pour les JDR sur table, ça permet de se faire une map en deux deux^^

Merci.