JeuWeb - Crée ton jeu par navigateur
Conseils pour modelisation bdd. - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Conseils pour modelisation bdd. (/showthread.php?tid=2201)

Pages : 1 2


RE: Conseils pour modelisation bdd. - Ogham - 06-01-2008

Bonjour,

ok je vais expliquer:

Citation :pourquoi il y a id_metier et type_metier
id_metier => comme un habitant ne peut exercer qu'un seul métier à la fois je me suis dit que ça pouvait figurer dans cette table.
mais je ne suis pas sur de le garder ainsi ça dépendra du modèle que j'adopte finalement.

type_metier => dans mon jeu il y a 5 types de métiers différents qui ne se gèrent pas du tout de la même manière.

des producteurs lambdas (produisent des ressources)
des artisans lambdas(transforment ces ressources pour en faire d'autres)
ces travailleurs sont gérés de manière automatique à la manière d'un batiment de production.

je pensais lier ces deux là à une même table ressources en disant qu'un bout de bois est une ressources tout comme un manche d'outils fabriqué avec un bout de bois et qui servira lui même a fabriquer un outil qui est également une ressource

des producteurs évolués (collectent des ressources particulières qui ont des caractéristiques différentes)
ex:un bout de bois peut être
un bouleau élément feu qualité 50%
ou
un bouleau element feu qualité 20%
ou
un if élément air qualité 30% etc ...
des artisans évolués qui produisent des items avec ces ressources en utilisant des outils aux caractéristiques particulières un marteau en fer fabriqué par tel artisan n'est pas forcément le même qu'un autre marteau en fer produit par un autre artisan et l'item fabriqué à l'aide de ce marteau aura donc lui aussi des caractéristiques différentes.
Un système de craft donc.

je pensais lier ces deux là à une table ressources_particulières et peut être une table items
Eux sont gérés "à la main" par le joueur surtout les artisans puisque c'est le joueurs qui bidouille ses ingrédients pour fabrique un item.

enfin
des aventuriers qui sont gérés comme un perso de jeu de rôle.

donc en fonction du type de métier ses différent habitants doivent subirent une simple mise à jour de production ou êtres gérés par le joueurs au coup par coup il faut donc que je puisse les reconnaitre.

Citation :J'aimerais que tu m'expliques l'utilité de localiser un joueur, et la différence avec la localisation d'un habitant. Selon moi, la localisation dans la table joueurs est de trop, sauf si ça s'explique.

la localisation dans la table joueur est la position de sa cité dans la table habitant c'est la position de cet habitant là en particulier sur la carte.
Les habitants n'exerce pas forcément leur métier au sein de la cité ça dépend de la disponibilité des ressources sur place ou non, les aventuriers se déplacent également et il faut pouvoir savoir où ils se trouvent.

Citation :J'aimerais que tu m'expliques la différence entre un bâtiment d'un joueur & un bâtiment d'un habitant.
Il y a deux types de batiments:
des batiments collectifs qui appartiennent à la cité => entrepots, places de marché, tavernes etc
des bâtiments qui appartiennent aux habitants => maisons ateliers etc
j'aurais pu les mettre dans une même table mais plutôt que de faire un champs vide (id_habitants) lorsqu'il s'agit d'un batiment collectif j'ai préféré diviser la table en deux.
si un entrepot s'écroule par manque d'entretient cela impacte sur tout le clan si une maison est détruite cela impacte seulement sur son propriétaire.

voilà Smile


RE: Conseils pour modelisation bdd. - Plume - 06-01-2008

Y a-t-il une relation entre id_metier & type_metier ?

Ensuite, il faudrait revoir la représentation des bâtiments, ça ne colle pas. Quel est le lien entre un bâtiment et un joueur ?


RE: Conseils pour modelisation bdd. - Ogham - 06-01-2008

Bonsoir

Citation :Y a-t-il une relation entre id_metier & type_metier ?
non pas vraiment, type_métier me sert à déterminer quel script il faut exécuter pour la mise à jour et à répartir mes habitants en "castes" pour pouvoir les différencier.

- soit un bête mise à jour de production
- soit une mise à jour un peu plus complexe pour les artisans
- soit une progression des compétences métier (xp) pour les producteurs évolués et la mise à jour de leur production qui se fait différemment des premiers.
- soit rien pour les artisans évolués puisque ça dépend de l'action du joueur.

plutôt que de dire si bidule est bucheron ou chasseur ou mineur exécuter le script bidule
si marchin est un cordonnier un forgeron un éleveur => le script truc
si truc est un aventurier exécuter script machin etc
j'ai préféré classer mes métiers en catégories qui déclenchent chacune un traitement approprié.
mais il est vrai que cette catégorie peut tout aussi bien figurer dans
une table_metiers
id_metier
type_metier ou caste_metier
description.
etc

Citation :Quel est le lien entre un bâtiment et un joueur ?
Il lui appartient, à lui et pas à un autre joueur c'est le seul lien que je vois.