• [^] # Re: Tiled

    Posté par (site web personnel) . En réponse à la dépêche Je crée mon jeu vidéo E03 : la version zéro !. Évalué à 2.

    Je pense qu'il faut considérer les fichiers tmx créés par Tiled comme les xcf de gimp: non fiable comme format de stockage.

    Je suis tout à fais d'accord.

    Beaucoup de jeux (estimation pifaumetre) utilisent des formats spécialisés voir personnalisés :
    Quand je bossais dans le monde du jeu vidéo, on chargeait des assets directement au format utilisé par le moteur. Les graphistes travaillaient dans leurs formats et la conversion se faisait en même temps que la compilation. D’ailleurs ça faisait complètement partie de la compilation, les scripts généraient des fichiers c qui indexaient les assets (à coup d'enum et de tableau). (il faut aussi dire que l'on avait pas de système de fichier et qu'on précharger les assets par paquet pour éviter les io).

    Si le tmx change tout le temps, je pense que vous gagnerait à définir votre propre format qui colle à votre moteur et d'avoir un script de conversion qui transforme du tmx:

    • Ça peut vous simplifier le parsing au niveau du moteur.
    • Vous pouvez rajouter la fonctionnalité qui manque au tmx et d'on vous avez absolument besoin.
    • Un script de conversion écrit en langage de haut niveau (python puisque tiled le permettra) sera probablement plus facile à maintenir
    • Le script/compilation peut faire beaucoup de vérification en amont sur les assets. Ça évite que ce soit le jeu qui plante. (genre chargement d'un fichier inexistant)

    La contrepartie, c'est que c'est moins hackable mais vu que c'est du libre, c'est pas si contraignant.

    (C'est d'ailleurs ce que rewind fait avec son script es_make pour générer le système d'entités)
    (Ça vaut aussi pour la compilation svg/xcf => png)

    Matthieu Gautier|irc:starmad