06-11-2016, 02:25 AM
Bonjour,
Je crée actuellement un jeu par navigateur et je suis en train de m'intéresser à la map actuellement. Je me heurte cependant à différentes questions concernant la méthode à utiliser afin d'obtenir une map jolie, rapide et pratique à utiliser (un doux rêve j'imagine :p).
Alors tout d'abord la map de mon jeu sera composé de continents séparés par de l'eau. Un continent a une forme relativement aléatoire (ni carré, ni rectangle, ni rond, ...) et sera composé d'environ 750 "cases" (qui seront répartis entre villes de jouer, oasis, village PNJ, cases vides, fleuves, etc...). Disons pour commencer qu'il y a 4 continents ce qui fait tout de même une map conséquente en terme d'espace.
C'est à partir de la que je me pose des tas de questions :
- Comment représenter le continent sur la carte ? au début ce pourra être des cases d'un tableau html qui je colorie d'une certaine couleur, cependant je voudrais obtenir quelque chose de beaucoup plus graphique : pourquoi créér une image pour chaque continent et ajouter par dessus cette image une grille virtuelle (pour avoir un système de cases et donc des positions x|y cohérentes) et dans cette grille ajouter les images pour chaque élément de la map (une ville, un oasis, etc...). On aurait donc une grande image avec les 4 continents avec chacun des éléments qui viennent par dessus. Ce système pourrait-il fonctionner ? (on parlera algo plus tard, car je pense que j'aurais besoin d'aide :p)
- En considérant que je prenne cette méthode-ci, je ne pense pas que ce soit très optimisé de charger, à chaque ouverture de la map, les images des 4 continents et de leurs éléments. Du coup comment faire en sorte de ne charger que les cases aux alentours la vue du joueur se situe (exemple : ma vue est en x:20|y:12, alors je vais charger le bout de continent+les éléments des positions x+2 et y+2). Et si le joueur se déplace sur la map alors on charge les nouveaux éléments et du coup on ne charge à chaque qu'une petite zone afin de gagner en rapidité non ?
- En parlant de déplacement sur la carte, comment faire en sorte que le joueur puisse naviguer sur la map avec un drag et que la vue se change en temps réel (c'est-à-dire pendant que l'utilisateur bouge sa souris, pas seulement lorsqu'il relâche le clique) ?
- Un problème découlant du précédent : lorsque le joueur arrive par exemple dans le coin en bas à droite de la map, est-il préférable de charger tous les autres coins pour donner une impression de map "infinie" ou alors est-il plus ergonomique qu'il butte contre le coin de la map et qu'il doive remonter toute la map pour voir le haut ?
Voilà les principales questions qui me viennent en tête quand je pense à la création d'une map, j'espère avoir été assez clair dans mes questions/explications, n'hésitez pas à demander si vous voulez des précisions. Pour le principe général, je vois grossièrement quoi faire mais seulement dans ma tête :p J'imagine que ca va être un assemblage de Js, PHP et Ajax pour obtenir un résultat dynamique.
Merci pour votre aide. Cordialement.
Je crée actuellement un jeu par navigateur et je suis en train de m'intéresser à la map actuellement. Je me heurte cependant à différentes questions concernant la méthode à utiliser afin d'obtenir une map jolie, rapide et pratique à utiliser (un doux rêve j'imagine :p).
Alors tout d'abord la map de mon jeu sera composé de continents séparés par de l'eau. Un continent a une forme relativement aléatoire (ni carré, ni rectangle, ni rond, ...) et sera composé d'environ 750 "cases" (qui seront répartis entre villes de jouer, oasis, village PNJ, cases vides, fleuves, etc...). Disons pour commencer qu'il y a 4 continents ce qui fait tout de même une map conséquente en terme d'espace.
C'est à partir de la que je me pose des tas de questions :
- Comment représenter le continent sur la carte ? au début ce pourra être des cases d'un tableau html qui je colorie d'une certaine couleur, cependant je voudrais obtenir quelque chose de beaucoup plus graphique : pourquoi créér une image pour chaque continent et ajouter par dessus cette image une grille virtuelle (pour avoir un système de cases et donc des positions x|y cohérentes) et dans cette grille ajouter les images pour chaque élément de la map (une ville, un oasis, etc...). On aurait donc une grande image avec les 4 continents avec chacun des éléments qui viennent par dessus. Ce système pourrait-il fonctionner ? (on parlera algo plus tard, car je pense que j'aurais besoin d'aide :p)
- En considérant que je prenne cette méthode-ci, je ne pense pas que ce soit très optimisé de charger, à chaque ouverture de la map, les images des 4 continents et de leurs éléments. Du coup comment faire en sorte de ne charger que les cases aux alentours la vue du joueur se situe (exemple : ma vue est en x:20|y:12, alors je vais charger le bout de continent+les éléments des positions x+2 et y+2). Et si le joueur se déplace sur la map alors on charge les nouveaux éléments et du coup on ne charge à chaque qu'une petite zone afin de gagner en rapidité non ?
- En parlant de déplacement sur la carte, comment faire en sorte que le joueur puisse naviguer sur la map avec un drag et que la vue se change en temps réel (c'est-à-dire pendant que l'utilisateur bouge sa souris, pas seulement lorsqu'il relâche le clique) ?
- Un problème découlant du précédent : lorsque le joueur arrive par exemple dans le coin en bas à droite de la map, est-il préférable de charger tous les autres coins pour donner une impression de map "infinie" ou alors est-il plus ergonomique qu'il butte contre le coin de la map et qu'il doive remonter toute la map pour voir le haut ?
Voilà les principales questions qui me viennent en tête quand je pense à la création d'une map, j'espère avoir été assez clair dans mes questions/explications, n'hésitez pas à demander si vous voulez des précisions. Pour le principe général, je vois grossièrement quoi faire mais seulement dans ma tête :p J'imagine que ca va être un assemblage de Js, PHP et Ajax pour obtenir un résultat dynamique.
Merci pour votre aide. Cordialement.