Bonjour à tous,
Je suis en pleine conception de mon jeu par navigateur, plus précisément je suis actuellement en train de créer mon modèle relationnel de données afin d'y voir plus clair à ce niveau et de commencer le développement. Je me heurte alors à un problème de taille : la gestion des prérequis. Avant tout je tiens à préciser que j'ai déjà lu les sujets concernant les prérequis sur ce forum et d'autres, mais je voudrais vous proposer mon modèle afin de recueillir vos avis et vos propositions d'améliorations.
Ce système de prérequis n'est pas totalement basique. En effet, il y a 4 types de prérequis :
- ceux concernant les bâtiments (ex : avoir l'armurerie niveau 8)
- ceux concernant les objets (ex : avoir la faux du diable en sa possession)
- ceux concernant les quêtes (ex : avoir terminer la quête "tueur de soldats")
- ceux concernant les technologies (ex : avoir rechercher "économie")
Ces prérequis s'appliquent sur plusieurs domaines :
- les bâtiments (ex : pour construire ce bâtiment, il vous faut ...)
- les quêtes (ex : pour pouvoir commencer cette quête, il vous faut ...)
- les technologies (ex : pour pouvoir rechercher cette technologie, il vous faut ...)
- les objets (ex : pour pouvoir avoir cet objet, il vous faut ...)
- les troupes (ex : pour pouvoir former cette troupe, il vous faut ...)
Voila pour les présentations. J'ai donc tenter de créer un modèle permettant de prendre tout cela en compte et j'ai aboutit à celui-ci :
À savoir que le champ 'type' dans les tables prérequis serait par exemple 'quete' ou 'batiment', c'est-à-dire ce sur quoi porte le prérequis. Ce qui me permet ensuite de comprendre le sens du #id du champ suivant qui se réfère aux 'quete' ou 'batiment'. Donc par exemple si 'type' = 'batiment' alors 'id' portera sur le champ 'id_batiment' de la table Batiments.
Batiments (id_batiment, nom_batiment, description_batiment)
Objets (id_objet, nom_objet, description_objet, rarete_objet)
Quetes (id_quete, nom_quete, description_quete, recompenses_quete)
Technologies (id_technologie, nom_technologie, description_technologie, effet_technologie)
PrerequisBatiment (id_prerequis_batiment, type, #id, #id_batiment_requis, niveau_batiment_requis)
PrerequisObjet (id_prerequis_objet, type, #id, #id_objet_requis)
PrerequisQuete (id_prerequis_quete, type, #id, #id_quete_requise)
PrerequisTechnologie (id_prerequis_technologie, type, #id, #id_technologie_requise, niveau_technologie_requise)
Voilà, en attente de vos critiques ou améliorations. Je suis disponible pour répondre à toutes vos questions. Merci par avance !
Je suis en pleine conception de mon jeu par navigateur, plus précisément je suis actuellement en train de créer mon modèle relationnel de données afin d'y voir plus clair à ce niveau et de commencer le développement. Je me heurte alors à un problème de taille : la gestion des prérequis. Avant tout je tiens à préciser que j'ai déjà lu les sujets concernant les prérequis sur ce forum et d'autres, mais je voudrais vous proposer mon modèle afin de recueillir vos avis et vos propositions d'améliorations.
Ce système de prérequis n'est pas totalement basique. En effet, il y a 4 types de prérequis :
- ceux concernant les bâtiments (ex : avoir l'armurerie niveau 8)
- ceux concernant les objets (ex : avoir la faux du diable en sa possession)
- ceux concernant les quêtes (ex : avoir terminer la quête "tueur de soldats")
- ceux concernant les technologies (ex : avoir rechercher "économie")
Ces prérequis s'appliquent sur plusieurs domaines :
- les bâtiments (ex : pour construire ce bâtiment, il vous faut ...)
- les quêtes (ex : pour pouvoir commencer cette quête, il vous faut ...)
- les technologies (ex : pour pouvoir rechercher cette technologie, il vous faut ...)
- les objets (ex : pour pouvoir avoir cet objet, il vous faut ...)
- les troupes (ex : pour pouvoir former cette troupe, il vous faut ...)
Voila pour les présentations. J'ai donc tenter de créer un modèle permettant de prendre tout cela en compte et j'ai aboutit à celui-ci :
À savoir que le champ 'type' dans les tables prérequis serait par exemple 'quete' ou 'batiment', c'est-à-dire ce sur quoi porte le prérequis. Ce qui me permet ensuite de comprendre le sens du #id du champ suivant qui se réfère aux 'quete' ou 'batiment'. Donc par exemple si 'type' = 'batiment' alors 'id' portera sur le champ 'id_batiment' de la table Batiments.
Batiments (id_batiment, nom_batiment, description_batiment)
Objets (id_objet, nom_objet, description_objet, rarete_objet)
Quetes (id_quete, nom_quete, description_quete, recompenses_quete)
Technologies (id_technologie, nom_technologie, description_technologie, effet_technologie)
PrerequisBatiment (id_prerequis_batiment, type, #id, #id_batiment_requis, niveau_batiment_requis)
PrerequisObjet (id_prerequis_objet, type, #id, #id_objet_requis)
PrerequisQuete (id_prerequis_quete, type, #id, #id_quete_requise)
PrerequisTechnologie (id_prerequis_technologie, type, #id, #id_technologie_requise, niveau_technologie_requise)
Voilà, en attente de vos critiques ou améliorations. Je suis disponible pour répondre à toutes vos questions. Merci par avance !