Le tout c'est de préparer l'avenir de manière a faciliter la transition quand vous aurez un système de perso évolué.
Le genre de structure de Perso que j'emploie est de ce type:
Code :
array (
'id' => new MongoInt64(3099),
'template_id' => new MongoInt64(49),
'owner' => 'Sharu',
'campaign_id' => new MongoInt64(0),
'_data' =>
array (
'Name' => 'Halvard Björnsson',
'Class' => 'Barbare',
'FavClass' => 'Barbare',
'Race' => 'Ulfe (Humain)',
'Alignment' => 'Loyal Neutre',
)
)
Au plus haut niveau les informations d'ordre général qui sont indépendantes du type de jeu: le joueur, le modèle de fiche, le numéro de fiche etc... à un niveau plus bas les données elles-mêmes de la fiche de perso qui pour le coup dépendent du jeu/modèle de fiche employé (En pratique il y en a nettement plus que ça).
Ce que je veux souligner c'est qu'il peut être dangereux de trop vouloir intégrer dans le système du fofo lui même, car ce n'est pas super souple et ça devient vite galère à développer/maintenir et qu'ensuite si les feuilles de persos ne viennent pas rapidement l'effort de migration pourrait-être conséquent. D'où la nécessité de penser déjà en terme de structure de données cible pour éviter un important effort de migration ou de maintenance.
Je le sais car j'ai fait exactement la même chose tout au début de mon fofo. Les feuilles de perso étaient gérées de la même manière mais au final c'est vite devenu galère dès qu'il a fallu gérer plusieurs types de fiches.