Graphisme procédural

Générer du graphisme de manière procédurale

Sur ce site, de nombreuses cartes de jeux sont présentes. Aucune n'a été réalisée manuellement via un logiciel utilisateur de dessin, toutes ont été générées par un automate programmé de manière procédurale.

Principe

D'un point de vue conceptuel, les étapes de réalisation ont été les suivantes :

  • Création d'une base de données de contenus de cartes
    • Conception d'un fichier Excel décrivant le contenu des cartes (les éléments texte)
    • Conversion Excel en SQLite
  • Création d'un modèle de carte et ses découpes en éléments graphiques unitaires
  • Implémentation du code procédural qui génère le graphisme des cartes
    • Codage des procédures en PHP , la procédure lit les contenus des cartes dans la base de données, et empile les éléments graphiques à l'aide de la librairie graphique de génération et traitement des images appelée lib GD .
    • Tests sur le résultat
  • Encapsulation du code dans un plugin Grav CMS sous la forme d'une extension Twig
    • Adaptation du code PHP nécessaires : namespaces et chemins d'accès aux ressources

Exemples de résultat obtenu

Briskars

Cartes de Briskar

Le format par défaut est format carte "Magic".

Dans une page web, l'insertion d'un markdown d'extension Twig relativement simple :

 AENBriskarsBriskar("Pisteur", "Roger le")

provoque la génération et l'affichage du graphisme voulu de ce pisteur promu en mode campagne :

Dans une page web, l'insertion d'un markdown d'extension Twig relativement simple :

 AENBriskarsBriskar("Big Pongo", "")

provoque la génération et l'affichage du graphisme voulu de Big Pongo :

Dans une page web, l'insertion d'un markdown d'extension Twig relativement simple :

 AENBriskarsBriskar("Big Pongo", "", "tarot")

provoque la génération et l'affichage du graphisme voulu de Big Pongo au format carte de tarot :

Cartes de références

Dans une page web, l'insertion d'un markdown d'extension Twig relativement simple :

 AENBriskarsGame("Saigné")

provoque la génération et l'affichage du graphisme voulu :

Dans une page web, l'insertion d'un markdown d'extension Twig relativement simple :

 AENBriskarsGame("Activation du Briskar")

provoque la génération et l'affichage du graphisme voulu :

Blessures

Dans une page web, l'insertion d'un markdown d'extension Twig relativement simple :

 AENBriskarsWound("Potion étrange")

provoque la génération et l'affichage du graphisme voulu :

Compétences de carrière

Dans une page web, l'insertion d'un markdown d'extension Twig relativement simple :

 AENBriskarsCompetence("Pas de mauvaise surprise")

provoque la génération et l'affichage du graphisme voulu du sort :

Équipements

Dans une page web, l'insertion d'un markdown d'extension Twig relativement simple :

 AENBriskarsEquipment("Dirk")

provoque la génération et l'affichage du graphisme voulu du sort :

Lieux

Dans une page web, l'insertion d'un markdown d'extension Twig relativement simple :

 AENBriskarsLocation("Cadie")

provoque la génération et l'affichage du graphisme voulu du sort :

Évènements de voyage

Dans une page web, l'insertion d'un markdown d'extension Twig relativement simple :

 AENBriskarsVoyage("Titan des mers")

provoque la génération et l'affichage du graphisme voulu du sort :

Sorts

Dans une page web, l'insertion d'un markdown d'extension Twig relativement simple :

 AENBriskarsSpell("Totem de glace")

provoque la génération et l'affichage du graphisme voulu du sort :

AT-43 Refresh

Dans une page web, l'insertion d'un markdown d'extension Twig relativement simple :

 AENAT43RefreshSingle("Gunmen")

provoque la génération et l'affichage du graphisme voulu :

Confrontation

Initialement développé et hébergé sur ce site, le code source a été fourni de bon coeur à ceux qui continuent de maintenir et de faire évoluer le jeu Confrontation à travers ses versions Conf'Light et Conf'Fédé. Les cartes de profils Confrontation sont générées à partir de ce code.

Visitez le portail Conf'light

Pastilles

Dans une page web, l'insertion d'un markdown d'extension Twig relativement simple :

 AENNaviaDratpPastillesSingle("Tanhoizer")

provoque la génération et l'affichage du graphisme voulu :

Cartes de profils

Dans une page web, l'insertion d'un markdown d'extension Twig relativement simple :

 AENNaviaDratpCardsSingle("Tanhoizer", "en")

provoque la génération et l'affichage du graphisme voulu en anglais :

Pirates

Dans une page web, l'insertion d'un markdown d'extension Twig relativement simple :

 AENPiratesSingle("El San Jose")

provoque la génération et l'affichage du graphisme voulu :

En cours d'écriture