Bonjour,
Bon, ce n'est pas du chemin auto-évitant comme demandé, mais du bruit pseudo aléatoire généré à partir de lignes :
http://www.gamasutra.com/view/feature/33...php?page=4
ces lignes
donnent une carte de ce type
Pour ma part j'utilise un algorithme de génération pseudo aléatoire ("pseudo" = reproductible pour pouvoir reproduire la même carte à vonlonté à partir d'une même graine) proposé dans l'article de gamasutra, avec au lieu des lignes d'initialisation une grille de valeurs qui donne les "grandes lignes" de la carte. En gros c'est simplement de la génération de terrain 3D de type "bruit de perlin", dont je ne prend que 2 dimensions ! Ca date une peu (codé en aout 2009 et plus amélioré depuis), mais voici en gros comment j'avais procédé :
A partir d'une grille prédéfinie manuellement pour dessiner les grandes lignes des planètes à souhait (ici grille de 16 * 32, les valeurs intermédiaires sont calculées linéairement)
Le bruit pseudo aléatoire généré sans la grille (echelle 1:16) :
Le résutat donne ce type de carte (avec des couleurs tout à fait arbitraires fonction de l'altitude pour l'instant, représentant grossièrement eau profonde, eau peu profonde plage et terres intérieures) à l'échelle 1:16 :
A l'échelle 1:1 (un pixel = 1 case dans le jeu) voilà ce que ça donne le détail d'une côte :
(L'inconvénient est qu'on a toujours des côtes assez lisses, il n'y a pas de "falaises", l'avantage est que cette carte de 16384 * 8192 = 134217728 cases ne prend en mémoire que 500 octets environ !!)
(04-07-2010, 01:01 PM)Harparine a écrit : Ensuite, voulais générer des cartes de régions, en traçant les lignes d'une côte.
Bon, ce n'est pas du chemin auto-évitant comme demandé, mais du bruit pseudo aléatoire généré à partir de lignes :
http://www.gamasutra.com/view/feature/33...php?page=4
ces lignes
donnent une carte de ce type
(04-07-2010, 01:01 PM)Harparine a écrit : De même , je pense tester la génération aléatoire de polygones, dont les côtés seraient rendus de plus en plus irréguliers.
Pour ma part j'utilise un algorithme de génération pseudo aléatoire ("pseudo" = reproductible pour pouvoir reproduire la même carte à vonlonté à partir d'une même graine) proposé dans l'article de gamasutra, avec au lieu des lignes d'initialisation une grille de valeurs qui donne les "grandes lignes" de la carte. En gros c'est simplement de la génération de terrain 3D de type "bruit de perlin", dont je ne prend que 2 dimensions ! Ca date une peu (codé en aout 2009 et plus amélioré depuis), mais voici en gros comment j'avais procédé :
A partir d'une grille prédéfinie manuellement pour dessiner les grandes lignes des planètes à souhait (ici grille de 16 * 32, les valeurs intermédiaires sont calculées linéairement)
Le bruit pseudo aléatoire généré sans la grille (echelle 1:16) :
Le résutat donne ce type de carte (avec des couleurs tout à fait arbitraires fonction de l'altitude pour l'instant, représentant grossièrement eau profonde, eau peu profonde plage et terres intérieures) à l'échelle 1:16 :
A l'échelle 1:1 (un pixel = 1 case dans le jeu) voilà ce que ça donne le détail d'une côte :
(L'inconvénient est qu'on a toujours des côtes assez lisses, il n'y a pas de "falaises", l'avantage est que cette carte de 16384 * 8192 = 134217728 cases ne prend en mémoire que 500 octets environ !!)