02-07-2008, 10:11 PM
Bonjour,
J'espère avoir posté dans la bonne section, au cas où déplacez si besoin.
Cette fois-ci je me suis définitivement décidé pour un jeu de stratégie-gestion et j'ai décidé de commencer par ce qui est le plus embêtant à coder...
Comme vous l'aurez compris, il va falloir que je crée une map pour mon monde virtuel. IL n'est pas ici question de graphisme, parce que pour le moment le graphisme je m'en fiche royalement (je ferai assez parler de moi à ce sujet quand le jeu sera à peu près fonctionnel, si tant est qu'un jour il le soit...).
Non, je parle bien de map d'un point de vue logique de fonctionnement.
Pour situer les choses : chacune des « cases » de la map peut être soit de la terre (=1), soit de la mer (=2), ou alors les deux à la fois (la côte) (=3). Toutes les cases peuvent être utilisées.
Idéalement j'aimerais avoir au final une fonction php qui prend les coordonnées et qui me renvoie en retour le type correspondant à la case demandée.
J'aimerais savoir, selon vous, comment générer et stocker une telle map, au mieux possible.
En base, le problème que je vois c'est que si je veux faire une map de 200 * 200, ça me fait d'entrée 40K lignes, je ne sais pas si c'est très judicieux, ça me paraît un peu crétin.
En plus après si je veux faire de la recherche de chemin avec un algo genre dikjstra, ça sera un vrai bordel à faire à moins qu'on puisse faire des requêtes récursives, et encore...
- Avec un fichier, ça me paraît déjà mieux, quoique ça me paraît aussi relativement crétin de regénérer un array de 200 * 200 à partir d'un fichier qui fera au mieux 40 Ko. Au moins une fois que la map sera chargée, elle sera chargée pour de bon et pour faire des algo de recherche de chemin, c'est plus facile.
La troisième solution que j'entrevoyais était de définir la map avec des formes géométriques. Par exemple : « tous les points inclus dans le cercle de centre 50 ; 75 et de rayon 20 sont de l'eau ». Là le problème c'est que le temps de calcul est un peu plus long pour un résultat moins sympa. Et à part avec des cercles, je suis incapable de savoir si un point se trouve dans une autre figure quelconque.
Peut-être utiliser la troisième proposition pour générer un fichier ou une table remplie utilisables ensuite serait une solution ?
Je me creuse pour avoir un truc simple à utiliser une fois que la map est crée...
N.B. Les dimensions 200 * 200 sont é titre indicatifs
J'espère avoir posté dans la bonne section, au cas où déplacez si besoin.
Cette fois-ci je me suis définitivement décidé pour un jeu de stratégie-gestion et j'ai décidé de commencer par ce qui est le plus embêtant à coder...
Comme vous l'aurez compris, il va falloir que je crée une map pour mon monde virtuel. IL n'est pas ici question de graphisme, parce que pour le moment le graphisme je m'en fiche royalement (je ferai assez parler de moi à ce sujet quand le jeu sera à peu près fonctionnel, si tant est qu'un jour il le soit...).
Non, je parle bien de map d'un point de vue logique de fonctionnement.
Pour situer les choses : chacune des « cases » de la map peut être soit de la terre (=1), soit de la mer (=2), ou alors les deux à la fois (la côte) (=3). Toutes les cases peuvent être utilisées.
Idéalement j'aimerais avoir au final une fonction php qui prend les coordonnées et qui me renvoie en retour le type correspondant à la case demandée.
J'aimerais savoir, selon vous, comment générer et stocker une telle map, au mieux possible.
En base, le problème que je vois c'est que si je veux faire une map de 200 * 200, ça me fait d'entrée 40K lignes, je ne sais pas si c'est très judicieux, ça me paraît un peu crétin.
En plus après si je veux faire de la recherche de chemin avec un algo genre dikjstra, ça sera un vrai bordel à faire à moins qu'on puisse faire des requêtes récursives, et encore...
- Avec un fichier, ça me paraît déjà mieux, quoique ça me paraît aussi relativement crétin de regénérer un array de 200 * 200 à partir d'un fichier qui fera au mieux 40 Ko. Au moins une fois que la map sera chargée, elle sera chargée pour de bon et pour faire des algo de recherche de chemin, c'est plus facile.
La troisième solution que j'entrevoyais était de définir la map avec des formes géométriques. Par exemple : « tous les points inclus dans le cercle de centre 50 ; 75 et de rayon 20 sont de l'eau ». Là le problème c'est que le temps de calcul est un peu plus long pour un résultat moins sympa. Et à part avec des cercles, je suis incapable de savoir si un point se trouve dans une autre figure quelconque.
Peut-être utiliser la troisième proposition pour générer un fichier ou une table remplie utilisables ensuite serait une solution ?
Je me creuse pour avoir un truc simple à utiliser une fois que la map est crée...
N.B. Les dimensions 200 * 200 sont é titre indicatifs
html, javascript, blagues, midi, etc. => http://quentinc.net/