Bonjour,
Je compte essayer de faire un jeu au tour /tour, avec une partie forum et l’autre pour l’interface du jeu proprement dit.
La BDD sera en Mysql.
Le développement devrait se faire avec le Framework ROR. Tous les noms des tables se terminent par un s et ont pour identifiant primaire un attribut id auto-incrémentable pour respecter les règles de ROR.
La BDD peut être divisé en 2, une pour le jeux proprement dit et une pour le forum. Elles sont reliées par les tables joueurs et persos suivant le principe un joueur peut avoir zéro ou un perso(0/1) et un perso est à un seul joueur(1/1).
J’ai commencé le mcd et j’utilise power AMC 9, mais j’ai quelques doutes et interrogation, Merise est un peu beaucoup oublié, car je ne pratique pas en temps normal.
J’ai donc essayé de traduire le schéma en texte pour vous donner une idée et j’ai aussi le schéma du MCD de la partie jeux.
C’est volontaire s’il n’y a aucun attribut pour l’instant, ça ne ferait qu’alourdir les explications et surtout le schéma.
Section Jeux
Les joueurs pourront se déplacer sur la map, produire des objets, faire des groupes avec d’autre joueurs, créer des communauté, construire des bâtiments, créer des objets avec les bâtiments, attraper des animaux et des maladies (), utiliser des véhicules et s’envoyer des messages. Et aussi accessoirement, avoir des armes, s’attaquer, se trucider etc …
Bien évidemment il y aura des échanges possibles entre joueurs, groupes et communautés, mais je pense pas que ça fasse intervenir d’autre tables.
Cases : 0/n joueurs, 0/n groupes, 0/n comms, 0/n animals, 0/n objets, 0/n véhicules
Persos : 1/1 cases, 0/1 groupes, 0/1 comms, 0/n objets, 0/n animals, 0/1 véhicules, 0/1 maladies, 0/n messages
Groupes : 1/1 cases, 1/n persos, 0/1 comms
Comms : 1/1 cases, 0/n persos, 0/n groupes, 0/n batiments, 0/n animals, 0/n véhicules, 0/n objets
Batiments : 1/1 comms
Objets : 0/1 cases, 0/1 persos, 0/1 comms, 0/1 animals, 0/1 véhicules
Animaux : 0/1 cases, 0/1 persos, 0/1 comms, 0/1 maladies
Maladies : 1/1 persos, 1/1 animals
Véhicules : 1/n persos, 0/n objets
Messages : 1/1 persos , groupes ? comms ?
Problème des messages = bien qu’on puisse envoyer un message à un groupe ou une communauté, le message au final doit être envoyer à tous les membres du groupe ou de la communauté. Est-ce qu’il y a des liens avec les tables groupes et comms ? Moi j’ai du mal à voir comment.
Les messages du jeu ne seront pas lu dans la partie forum mais uniquement IG.
Problèmes des véhicules = ils sont fait de plusieurs objets, roues(0, 2 ou 4 roues), châssis(1 obligatoire) et moteur(animal, thermique ou éolien). Je ne vois pas bien les cardinalités avec la table objets. Par contre les véhicules servent aussi à transporter des objets. Ils ont des places en fonction du modèles de véhicules.
Problème des animaux = les animaux de base peuvent être transformé en animaux de monte, ils deviennent donc des véhicules mais sans moteur, c’est la seule différence et c’est pourquoi j’ai voulu les garder dans la table animals. Mais en y réfléchissant il me semble qu’il suffit de modifier un attribut pour les faire passer d’un état à l’autre sans qu’il y est besoin de lier ses 2 tables ensembles. Par contre un animal peut être libre sur une case (avec d’autre de ses congénères d’ailleurs) mais il peut appartenir à un perso(s’il est attrapé) et il peut aussi appartenir à une communauté (dans un bâtiment), les animaux transformer peuvent aussi transporter des objets.
Problème des persos = les persos pourront avoir des objets avec eux, certain sont des outils ou des armes et pourront être équiper pour être utiliser dans l’action de jeu, d’autre sont des ressources de base qui pourront être récolter, et certain seront utilisés par les persos pour être consommer, nrt, eau, boissons diverses ou drogue par exemple.
Je pense donc rajouter des attributs pour chaque emplacement disponible, mais mon problème c’est que ces emplacements pourront changer en fonction de l’utilisation d’un sac à dos.
Ex : sans sac à dos 10 places, avec un petit sac 20 places, avec un grand sac 35 places
Je ne vois pas trop comment gérer ça. Est-ce qu’il faut une autre table sacados, sachant qu’elle serait dans ce cas liée par les cardinalités 1/1 et 1/1 ce qui les rend caduques
Problème des tables persos, groupes, comms et cases = Tout ça est lié mais je trouve mes relations un peu lourde, je m’explique, si le rapport entre joueurs et cases est évident, celui entre comms et cases aussi, celui entre groupes et cases me parait en trop, car on a déjà le lien avec les persos par une autre association, de même le lien entre groupes et comms. Qu’en pensez-vous ? Sachant que j'ai mis ses associations sur le MCD acuel, en attendant de savoir si ça tenait la route.
Section Forum
J’aurai pu "pomper" une BDD d’un forum PhpBB mais je ne vois pas bien les cardinalités sur BDD toute fini et de surcroit tout en anglais et puis surtout je n’ai pas besoin de trop de fonctionnalité non plus, poster des messages dans des forums et sous forum, éditer +-, supprimer +-, déplacer+- (donc des droits, utilisateur, modo, admin), signature, la visibilité sur certain forum ou sous forum en fonction des droits. Voilà les actions principales dont j'ai besoin. MP sur le forum aussi, mais ça alourdit.
Si quelqu’un à une BDD assez simple et bien je prend, sinon il faut me donner quelques pistes pour pouvoir la créer.
Je vous remercie d’avance d’avoir tout lu car c’est assez long et j’attends vos commentaires ou questions avec impatience pour pouvoir finaliser mon projet et passer à l'étape suivante.
Partager