J'écris un moteur isométrique en c ++. J'ai décidé d'adopter une approche plus réaliste et de faire en sorte que les murs occupent l'espace entre deux tuiles, pas une seule tuile entière, comme le montre l'image ci-dessous (comme dans Les Sims).
Mon problème est que je ne sais pas comment stocker les données liées à la carte de tuiles dans quelque chose qui n'est pas une grille. Dans cette situation, je suppose que je devrai le rendre compatible avec A *, donc il y aura des nœuds et des bords entre les carreaux non divisés par des murs. Voici une autre photo montrant ce que je veux réaliser:
Voici donc la (les) question (s):
Comment devrais-je:
- stocker toute la carte, les carreaux et les murs
- l'optimiser pour le rendu
- l'utiliser pour A * et d'autres algorithmes plutôt simples à implémenter sur une grille simple mais en utilisant maintenant des murs (bords) pour déterminer la visibilité, la collision, etc.?