Bonsoir, je suis actuellement en pleine conception d'un jeu par navigateur et je me heurte à un petit problème lors de la conception de la base de données.
Je dispose d'unités et de champions qui ont chacun des caractéristiques qui leur sont propres (ex : attaque, défense, etc...). Chaque joueur dispose des mêmes unités cependant ayant mis en place en système d'arbre d'améliorations permettant d'augmenter par exemple l'attaque d'une unité, je me pose une question :
Pour une unité donnée, les caractéristiques peuvent changer en fonction de l'arbre d'amélioration du joueur, ainsi comment procéder ? deux solutions selon moi :
- Devrais-je stocker ses caractéristiques de base (donc valable pour tous les joueurs du serveur) et ajouter les bonus conférés par l'arbre d'amélioration à cette unité à chaque affrontement ?
Avantages : on ne stocke que les caractéristiques de base de l'unité
Inconvénient : à chaque affrontement, je dois calculer les caractéristiques de chaque unité en récupérant les caractéristiques de base + les améliorations de l'arbre modifiant les caractéristique de chaque unité
- Ou alors stocker les caractéristiques de bases de l'unité et stocker en plus de ça les caractéristiques de l'unité pour chaque joueur en fonction de son arbre d'améliorations ?
Avantages : lors des affrontements je n'ai qu'à aller chercher les caractéristiques de l'unité en question pour chaque joueur sans avoir à faire de calcul savant :p
Inconvénient : j'encombre ma base de données qui va devoir stocker pour chaque unité et pour chaque joueur les caractéristiques de cette dernière (ce qui ferait environ 15-20 lignes par joueur)
Quelle méthode utiliseriez-vous pour implémenter cela en base de données ? n'hésitez pas à proposer vos propres méthodes si les miennes ne vous comblent pas
Cordialement
Je dispose d'unités et de champions qui ont chacun des caractéristiques qui leur sont propres (ex : attaque, défense, etc...). Chaque joueur dispose des mêmes unités cependant ayant mis en place en système d'arbre d'améliorations permettant d'augmenter par exemple l'attaque d'une unité, je me pose une question :
Pour une unité donnée, les caractéristiques peuvent changer en fonction de l'arbre d'amélioration du joueur, ainsi comment procéder ? deux solutions selon moi :
- Devrais-je stocker ses caractéristiques de base (donc valable pour tous les joueurs du serveur) et ajouter les bonus conférés par l'arbre d'amélioration à cette unité à chaque affrontement ?
Avantages : on ne stocke que les caractéristiques de base de l'unité
Inconvénient : à chaque affrontement, je dois calculer les caractéristiques de chaque unité en récupérant les caractéristiques de base + les améliorations de l'arbre modifiant les caractéristique de chaque unité
- Ou alors stocker les caractéristiques de bases de l'unité et stocker en plus de ça les caractéristiques de l'unité pour chaque joueur en fonction de son arbre d'améliorations ?
Avantages : lors des affrontements je n'ai qu'à aller chercher les caractéristiques de l'unité en question pour chaque joueur sans avoir à faire de calcul savant :p
Inconvénient : j'encombre ma base de données qui va devoir stocker pour chaque unité et pour chaque joueur les caractéristiques de cette dernière (ce qui ferait environ 15-20 lignes par joueur)
Quelle méthode utiliseriez-vous pour implémenter cela en base de données ? n'hésitez pas à proposer vos propres méthodes si les miennes ne vous comblent pas
Cordialement