Nous sommes actuellement le 19 Sep 2018, 11:37

Le fuseau horaire est UTC+1 heure [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 7 messages ] 
Auteur Message
 Sujet du message: outils et processus des cartes 2D
MessagePublié: 13 Mai 2014, 10:01 
Hors-ligne

Inscrit(e) le : 24 Juin 2012, 18:53
Message(s) : 457
Les scripts utilisés pour la création automatique des cartes 2D sont disponibles sur github: le-2d-map-pack

J'ai aussi mis en ligne les images de base nécessaires: base_images-le184_20140525.tar.xz (14.20 Mo)

Les scripts qui génèrent les images ont besoin de:
  • bash, awk, sed, bc
  • Perl
  • ImageMagick
  • elm2pov.pl
  • elmhdr
  • elm-draw-tiles
  • elm-render-notes
Ces quatres derniers se trouvent dans el-misc-tools.

Pour faciliter la modification des marques, j'ai créé un logiciel, elm-annotate, également disponible dans el-misc-tools.

Finalement il faut gimp (je conseille la version 2.8) pour les images de base, et surtout les continents.

Je vais détailler l'utilisation des outils spécifiques ci-dessous quand j'aurai le temps.


Dernière édition par Crayona le 25 Mai 2014, 09:23, édité 4 fois.

Haut
 Profil  
 
 Sujet du message: cartes 2D: vue d'ensemble
MessagePublié: 15 Mai 2014, 23:32 
Hors-ligne

Inscrit(e) le : 24 Juin 2012, 18:53
Message(s) : 457
En faisant cette collection de logiciels je voulais remplir certains besoins:
  • Que les cartes 2D soient facilement mise à jour lorsque les cartes 3D changent.
  • Que toute erreur trouvée soit facilement corrigée.
  • Que les données nécessaires saisies par les humains soient minimisées et non répétées.
  • Que toute action répétitive soit automatisée, et que l'automation ne refasse que le nécessaire touché par les changements.
  • Que le système soit facilement adapté aux nouvelles idées.
En tenant compte de ceci les composants sont faits de façon modulaire et chacun n'est pas très compliqué en lui-même. Les données sont transmises de l'un à l'autre; voici un schéma approximatif du flux:
Image

Le script regenerate_all.sh dirige la création et régénération des cartes 2D, continents, et la légende, une fois que les images PNG de base existent. Le fichier input_maps.txt liste les cartes 3D à traiter, et leurs options de rendu.

Il faut que le dossier des cartes 3D soit accessible; on peut modifier la variable map_dir dans les scripts, mais c'est probablement plus commode de créer un symlink dans le dossier où on les exécute:
Code :
$ ln -s ton_dossier_des_données_du_jeu/maps maps

Plus de détails dans la suite.


Haut
 Profil  
 
 Sujet du message: Re: outils et processus des cartes 2D
MessagePublié: 16 Mai 2014, 17:49 
Hors-ligne
Avatar de l’utilisateur

Inscrit(e) le : 11 Déc 2011, 23:34
Message(s) : 24
Super réflexion. J'ai hâte de mettre le nez dans ton script.

_________________
Fait partie de la team Viperr, une distribution basée sur Fedora inspirée par CrunchBang http://viperr.org
Un petit jeu PHP pour passer votre temps http://predalia.free.fr

Le wiki des EN http://thcom.no-ip.org/wiki


Haut
 Profil  
 
 Sujet du message: cartes 2D: images de base
MessagePublié: 17 Mai 2014, 20:26 
Hors-ligne

Inscrit(e) le : 24 Juin 2012, 18:53
Message(s) : 457
Les images de base paper.xcf, grid.xcf, et legend_paper.xcf ont été faites avec gimp.

Faire des jolis graphismes est difficile, surtout si l'on n'a pas eu la formation requise. Pour la création de l'image du papier, j'ai suivi les instructions fournies dans ce tutoriel "How To Create An Old Paper Texture In Gimp 2.8" [anglais] par johnnybevo.

Pour la bordure et quadrillage j'ai adapté des techniques du tutorial "Making Map Borders in GIMP" [anglais] par Arsheesh, trouvé sur le site excellent Cartographers' Guild [anglais]. Je le conseille vivement si vous vous intéressez à la création de cartes et le design graphique.

Les images saisies paper.png, grid.png, et legend_paper.png ont été créées avec la fonction exporter (export) de gimp.


Haut
 Profil  
 
 Sujet du message: cartes 2D: elm-annotate
MessagePublié: 17 Mai 2014, 22:54 
Hors-ligne

Inscrit(e) le : 24 Juin 2012, 18:53
Message(s) : 457
Bien que l'on puisse tout faire avec gimp, c'est un peu lourd si l'on n'a besoin qu'une petite partie de la fonctionalité totale, les actions sont assez répétitives, et il faut souvent faire des ajustements. (Et gimp plante parfois :(.) Alors pour optimiser l'entretien des marques, les symboles, titres, et noms des régions, j'ai créé un logiciel elm-annotate.

Pour le compiler il faut cmake et SFML [français!]:
Code :
$ cd el-misc-tools/elm-annotate
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install

L'interface graphique comprend une image sur laquelle on peut placer et éditer les marques avec la souri (clic gauche), les supprimer (clic droit), et les déplacer (cliquer-glisser). Pour faciliter le transfert des noms, la fenêtre peut aussi être divisée et une image source y affichée. Par exemple:
Image
Cette organisation est obtenue avec:
Code :
$ cd DOSSIER_DES_DONNÉES/maps
$ mkdir originals
$ mv 2_idaloran.jpg originals
$ elm2pov.pl -r -s 1024 -m -a -o 2_idaloran.png
$ convert 2_idaloran.png 2_idaloran.jpg
$ cd QUELQUE_PART/le-2d-map-pack
$ ln -s DOSSIER_DES_DONNÉES/maps maps    # si pas encore fait
$ elm-annotate -n notes -r maps/originals maps/2_idaloran.elm.gz

(La production des cartes brutes avec elm2pov.pl est documentée dans ce fil.)

Il y a d'autres fonctionnalités aussi; elles sont détaillées par --help et --controls sur la ligne de commande.

Une explication du texte des marques dans le prochain post.


Haut
 Profil  
 
 Sujet du message: cartes 2D: elm-render-notes
MessagePublié: 19 Mai 2014, 03:44 
Hors-ligne

Inscrit(e) le : 24 Juin 2012, 18:53
Message(s) : 457
Le logiciel elm-render-notes lit les marques créées avec elm-annotate et en fait une image des étiquettes fantasie pour les cartes finales.

La compilation nécessite Pango et Cairo:
Code :
$ cd el-misc-tools/elm-render-notes
$ make
$ cp elm-render-notes /usr/local/bin   # ou où vous voulez
$ chmod a+rx /usr/local/bin/elm-render-notes


Les fichiers de marques (1_illumen-notes.txt par exemple) sont des fichiers texte UTF-8. Je voulais qu'ils soient aussi facile à éditer avec un éditeur texte qu'avec elm-annotate, et souvent un éditeur suffit pour les petits changements si l'on connaît les coordonnées particulières.

La police utilisée est Black Chancery, trouvée sur le site utile dafont. (Aussi à jeter un œil, si ce genre de chose vous intéresse.)

Chaque ligne dans un fichier de marques est de la forme:
Code :
X,Y SYMBOLE
X,Y sont les coordonnées des cases marchables comme utilisées dans le jeu. SYMBOLE peut être "=" et le titre de la carte, ou "." et un nom d'un trait géographique, ou ">" et le nom abérgé d'une carte accesible de là, ou finalement une lettre qui correspond à un cercle coloré:
Code :
  w - blanc  - temples
  l - rouge  - vendeurs de livres
  o - orange - tavernes
  r - jaune  - magie et runes
  m - vert   - magasins centraux
  t - cyan   - portails
  f - violet - forgerons
  p - rose   - herboristes
  d - brun   - dépôts
  a - gris   - apothicaires

L'option -n sur la ligne de commande décrit également le format, et l'option -l affiche la liste des abréviations possibles.


Haut
 Profil  
 
 Sujet du message: cartes 2D: continents
MessagePublié: 20 Mai 2014, 21:56 
Hors-ligne

Inscrit(e) le : 24 Juin 2012, 18:53
Message(s) : 457
Le plus exigeant c'est la création des cartes de continents. Malheureusement les cartes 3D actuelles ne s'emboîtent pas exactement, et parfois pas du tout, ce qui nécessite beaucoup de réglage à la main pour faire l'image finale. Les étapes en gros:
  1. Redimensionner les cartes 2D rendues render_map-*.png avec make_continent_parts.sh produisant les pièces part-*.png.
  2. Importer les pièces dans gimp (Open as Layers) comme un group des couches nommé parts (parts-*.xcf).
  3. Positionner les pièces.
  4. Créer le fond d'eau.
  5. Combler les éspaces entre les régions (couche fill).
  6. Retoucher les bords, chemins, etc. (couche fix).
  7. Lancer gimp-export-elm-bounds-fr.py (via Filters/Utility/Export ELM...).
  8. Mettre à jour les coordonnées d'encadrements dans mapinfo.lst avec update_mapinfo_lst.pl.
  9. Fusionner les pièces et l'eau et ajouter la bordure et texture de papier (merged-*.xcf).
  10. Exporter l'image comme merged-*.png.
  11. Créer les marques avec elm-annotate. (Les coordonnées sont de 0 à 1023, +x = est, +y = nord.)
  12. Et finalement lancer regenerate_all.sh pour compléter la carte finale.
Pour installer le script gimp-export-elm-bounds-fr.py comme un plugin de gimp, mettez-le dans ~/.gimp-2.8/plug-ins et changez les permissions pour que le fichier soit exécutable (chmod u+x).


Voilà, maintenant vous devriez avoir la plupart des connaissances requises pour créer vous-mêmes la collection des cartes 2D si jamais besoin. Je sais que j'avais passé un peu rapidement sur quelques détails, si vous avez des questions, ou quelque chose ne fonctionne pas, ou vous avez des idées pour améliorer le processus, n'hésitez pas à laisser un message dans ce fil.


Haut
 Profil  
 
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 7 messages ] 

Le fuseau horaire est UTC+1 heure [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum

Recherche de:
Aller vers :  
Powered by phpBB® Forum Software © phpBB Group
Traduit par Maël Soucaze et Elglobo © phpBB.fr