Je suis en train de développer un RTS basé sur des tuiles en temps réel. Voici un exemple de carte:
Cette carte se compose de 4 régions avec 256 tuiles chacune. Les tuiles bleues représentent des obstacles. Les unités peuvent se déplacer dans les huit directions standard. Les unités sont liées aux tuiles; une tuile peut contenir une unité.
Ce sont quelques exemples des chemins idéaux que je recherche. Trucs A * typiques:
Ma question est: un maillage de navigation est-il applicable à un RTS basé sur des tuiles? Je n'ai vu que des cartes de navigation utilisées dans des jeux où les unités se déplacent librement et ne sont pas liées à une grille de tuiles. À quoi ressemblerait le maillage de navigation sur cette carte particulière? Un exemple d'image serait excellent.
la source
Réponses:
Oui, les maillages de navigation sont toujours applicables aux jeux basés sur des tuiles. Bien qu'ils soient principalement utilisés comme optimisation. Par exemple, j'ai converti le coin inférieur gauche de votre image pour utiliser un maillage de navigation:
Dans ce cas, chaque carré vert serait un nœud de navigation. Comme vous pouvez le voir, cela réduit considérablement le nombre de nœuds que A * doit traiter. Les unités peuvent alors simplement se diriger vers le centre de chacun de ces nœuds.
La génération de ces nœuds est un problème différent. Il peut être complexe de décider comment former les nœuds. Il y a quelques questions sur le site où vous pourriez trouver des idées sur la façon dont vous souhaitez mettre en œuvre cela:
Subdiviser un polygone en boîtes de taille variable
Identification des motifs quadruples dans un tableau à deux dimensions
/programming/20220215/minimum-number-of-rectangles-in-shape-made-from-rectangles
Ce maillage de navigation peut également être essentiellement utilisé comme recherche de chemin "de premier passage". Si un chemin est trouvé dans le maillage de navigation, vous savez qu'un chemin existe. Il s'agit d'un test plus rapide pour voir si deux points sont connectés.
la source