14-03-2008, 11:22 AM
Coucou,
Moi j'ai 2 type de carte :
- La carte générale (où les gens se déplace souvent, sur laquelle on gère l'altitude, etc...)
- la carte donjon (ben des donjons, une sorte de zoom de la case.)
La carte générale fait du 256*256. Les cases sont dans la table carte (pos_x, pos_y, altitude, id_ville_dominante, taux_humidite, etc.)
La clé primaire est sur le couplet des positions X et Y.
L'affichage de la case ne dépent pour l'instant que de l'altitude.
La carte donjon fait au plus 8000*8000 (habituellement 50*50). Les case sont dans la table map (x,y, id_donjon, id_type_terrain).
L'id_type_terrain fait référence à une table de terrain qui indique si le terrain est franchissable et l'image associée.
l'id_donjon fait référence à la table liste_donjon qui donne des infos sur le donjon (dont la taille d'une case, utilisé pour calculer le coùt de déplacement.
La clé primaire est sur le triplet des positions X, Y et id_donjon.
Dans les donjons la liste de type de terrain sont en Variable de Session (donc copiée qu'une fois)
Le fait de bien choisir la clé primaire permet en outre d'avoir l'unicité de terrain sur un point géographique donné, mais aussi accélère les calculs de type BETWEEN.
Mon choix de conserver les données en BDD au lieu du XML vient du fait que les joueurs peuvent être amené à modifier la carte. Dans le cas du XML, la simplicité veut qu'on supprime le fichier XML pour en recréer un modifié, ce qui peut être catastrophique si : la fonction ne marche correctement (perte du fichier complet si le cas d'erreur n'est pas traité); un joueur se déplace au moment où la carte se recréé; si la carte est très grande, le fichier à parser sera immense. Tout ces lacunes technique n'existent pas dans le cas de la BDD -> moins de boulot, plus d'efficacité ^^.
Maintenant Séphi, tu dois aussi avoir tes avantages, surtout sur de toutes petites cartes (< 80 cases de côté.)
Kéké qui parle beaucoup de parsing XML ... étrange.
Moi j'ai 2 type de carte :
- La carte générale (où les gens se déplace souvent, sur laquelle on gère l'altitude, etc...)
- la carte donjon (ben des donjons, une sorte de zoom de la case.)
La carte générale fait du 256*256. Les cases sont dans la table carte (pos_x, pos_y, altitude, id_ville_dominante, taux_humidite, etc.)
La clé primaire est sur le couplet des positions X et Y.
L'affichage de la case ne dépent pour l'instant que de l'altitude.
La carte donjon fait au plus 8000*8000 (habituellement 50*50). Les case sont dans la table map (x,y, id_donjon, id_type_terrain).
L'id_type_terrain fait référence à une table de terrain qui indique si le terrain est franchissable et l'image associée.
l'id_donjon fait référence à la table liste_donjon qui donne des infos sur le donjon (dont la taille d'une case, utilisé pour calculer le coùt de déplacement.
La clé primaire est sur le triplet des positions X, Y et id_donjon.
Dans les donjons la liste de type de terrain sont en Variable de Session (donc copiée qu'une fois)
Le fait de bien choisir la clé primaire permet en outre d'avoir l'unicité de terrain sur un point géographique donné, mais aussi accélère les calculs de type BETWEEN.
Mon choix de conserver les données en BDD au lieu du XML vient du fait que les joueurs peuvent être amené à modifier la carte. Dans le cas du XML, la simplicité veut qu'on supprime le fichier XML pour en recréer un modifié, ce qui peut être catastrophique si : la fonction ne marche correctement (perte du fichier complet si le cas d'erreur n'est pas traité); un joueur se déplace au moment où la carte se recréé; si la carte est très grande, le fichier à parser sera immense. Tout ces lacunes technique n'existent pas dans le cas de la BDD -> moins de boulot, plus d'efficacité ^^.
Maintenant Séphi, tu dois aussi avoir tes avantages, surtout sur de toutes petites cartes (< 80 cases de côté.)
Kéké qui parle beaucoup de parsing XML ... étrange.