Bonjour,
Je travail toujours sur la carte de mon jeu et et suis actuellement en train de réfléchir à la meilleure manière de gérer tout ça.
Le premier problème qui m'occupe est le placement aléatoire sur cette carte des nouveaux joueurs.
Donc pour réaliser cette première étape j'ai imaginé une sélection aléatoire dans une table où seraient stockés tous les types de terrains de manière à pouvoir déterminer si l'emplacement est libre où non.
*par type de terrain on entend
si c'est une cité du jeu ou d'un joueur une zone habitable ou non ... ou un emplacement libre.
la table ressemblerait à ça:
Ce qui me pose question c'est que la carte complète fait 960px de côté et qu'il y a une info à enregistrer tous les 3px, soit 102400 entrées exactement.(j'ai fais un petit script qui marche très bien pour gérer le remplissage de la table donc de ce côté là pas de problème)
Mais cette table me semble énorme et je me demande si en terme de gestion, des requêtes, recherches dans la table notemment, ça ne va pas poser problème par la suite et je suppose que cette table à elle seule va consommer beaucoup d'espace ?
Elle devrait être utilisée pour le placement des joueurs donc,lors des déplacements sur la carte pour déduire les actions possibles et les évènements en fonction du type de terrain, et l'affichage des cités.
A priori c'est tout.
Mais elle sera donc sollicitée souvent pour les déplacements et l'affichage cités sur la carte.
Pourriez vous me dire ce que vous en pensez ? Est-ce gérable ou non ?
Sinon la carte est conçue de telle manière qu'elles peut être découpée en neuf parcelles donc cette table pourrait être divisée en neuf tables de 11236 entrées chacune.
Ce qui ne change rien en terme d'espace mais par contre les recherches simultanées elles sont répartie sur plusieurs tables.
Par contre ça alourdi un peu le code puisqu'il faut alors déduire pour chaque déplacement la parcelle sur laquelle se trouve le joueur avant de faire toutes les autre recherches.
ça complique également la requêtes pour l'affichage des cités du jeu.
Une requêtes sur neufs tables ?
Pensez vous que c'est mieux ainsi ?
Merci pour votre aide.
Je travail toujours sur la carte de mon jeu et et suis actuellement en train de réfléchir à la meilleure manière de gérer tout ça.
Le premier problème qui m'occupe est le placement aléatoire sur cette carte des nouveaux joueurs.
Donc pour réaliser cette première étape j'ai imaginé une sélection aléatoire dans une table où seraient stockés tous les types de terrains de manière à pouvoir déterminer si l'emplacement est libre où non.
*par type de terrain on entend
si c'est une cité du jeu ou d'un joueur une zone habitable ou non ... ou un emplacement libre.
la table ressemblerait à ça:
Code :
CREATE TABLE `carte` (
`id` mediumint(9) unsigned NOT NULL auto_increment,
`type` tinyint(3) unsigned NOT NULL,
`nom` varchar(60) NOT NULL,
`x` smallint(5) unsigned NOT NULL,
`y` smallint(5) unsigned NOT NULL,
`description` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
Ce qui me pose question c'est que la carte complète fait 960px de côté et qu'il y a une info à enregistrer tous les 3px, soit 102400 entrées exactement.(j'ai fais un petit script qui marche très bien pour gérer le remplissage de la table donc de ce côté là pas de problème)
Mais cette table me semble énorme et je me demande si en terme de gestion, des requêtes, recherches dans la table notemment, ça ne va pas poser problème par la suite et je suppose que cette table à elle seule va consommer beaucoup d'espace ?
Elle devrait être utilisée pour le placement des joueurs donc,lors des déplacements sur la carte pour déduire les actions possibles et les évènements en fonction du type de terrain, et l'affichage des cités.
A priori c'est tout.
Mais elle sera donc sollicitée souvent pour les déplacements et l'affichage cités sur la carte.
Pourriez vous me dire ce que vous en pensez ? Est-ce gérable ou non ?
Sinon la carte est conçue de telle manière qu'elles peut être découpée en neuf parcelles donc cette table pourrait être divisée en neuf tables de 11236 entrées chacune.
Code :
CREATE TABLE `carte1` (
`id` smallint(5) unsigned NOT NULL auto_increment,
`type` tinyint(3) unsigned NOT NULL,
`nom` varchar(60) NOT NULL,
`x` smallint(5) unsigned NOT NULL,
`y` smallint(5) unsigned NOT NULL,
`description` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
Ce qui ne change rien en terme d'espace mais par contre les recherches simultanées elles sont répartie sur plusieurs tables.
Par contre ça alourdi un peu le code puisqu'il faut alors déduire pour chaque déplacement la parcelle sur laquelle se trouve le joueur avant de faire toutes les autre recherches.
ça complique également la requêtes pour l'affichage des cités du jeu.
Une requêtes sur neufs tables ?
Pensez vous que c'est mieux ainsi ?
Merci pour votre aide.