Bonjour à tous,
je viens vous présenter un modeste générateur de map en Javascript basé sur des tiles.
Pourquoi ce post : si jamais quelqu'un a besoin d'une map, ou d'un générateur, ou d'un algo... ça peut lui être utile. Aussi, j'aimerais recevoir des critques (constructives évidemment) sur le code.
Le lien : https://jsfiddle.net/mrjenkins/6k56coka/17/
Le fonctionnement :
Tout d'abord, il faut instancier une nouvelle map et définir ses caractéristiques :
var map = new Map(taille, taille des tiles);
Puis, générer la map en tant que telle avec un seed, et un "zoom" :
map.generateMap(seed, 16);
Plus le zoom est élevé, plus le terrain est lisse. Plus il est petit, plus il y aura de différences de niveaux. Pour un seed et un zoom donnés, la map générée sera la même.
Et enfin, afficher la map :
map.render();
Vous pouvez également récupérer les valeurs de la map avec :
map.printTiles();
Je me suis amusé à faire ce générateur, et je trouve qu'il rend pas mal. Qu'en pensez-vous ?
C'est rigolo, et ca fonctionne en ligne. Sympa!
Bravo.
Merci
Voici quelques possibilités d'utilisation :
- une simple map avec des tiles différentes
- une heightmap, pour générer un terrain en 3D (il faudrait sûrement affiner les hauteurs puisque j'en ai implémenté que 5)
- une map de température, associée à une map d'humidité pour la création de biomes : http://i.stack.imgur.com/da7Kt.png
C'est cool en effet , super boulot !
Salut,
C'est cool ce que tu as fait, je vais m'inspirer de ton code ( ) et essayer de le refaire en C# (ça ne devrait pas être insurmontable), ça fait un certain temps que je voulais implémenter une telle chose, sans résultat.
Donc bravo pour le travail accompli.
Merci à vous.
J'ai mis à jour pour s'assurer d'avoir les différents niveaux d'altitude.
Ainsi on est sur d'avoir à la fois des zones profondes et des zones très hautes.. Tout en gardant une évolution réaliste.
(pour accéder à la version A jour il suffit d'enlever le 17 à la fin de l'url)
A+