Bonjour,
Pour gérer un environnement dans un rpg en 2d, je me demande ce qui est le mieux :
-Il y a le sol, découpé selon un quadrillage, et le reste du décor ce n'est que des objets que le joueur ne peut pas prendre mais gérés comme objets pour le reste : on stocke le bazar en mémoire dans une liste liée à la zone où on se trouve, et à chaque pas d'un personnage on fait une détection de collision avec tout.
Avantage : Facilite le développement futur des interactions du joueur avec son environnement puisque les objets et le décor c'est pareil à une propriété près => gérer juste les interactions joueur-sol et joueur-objets.
Inconvénient : Nécessité de scanner tous les objets de la zone tout le temps => lourd ?
-Faire que le quadrillage ne contienne pas que le sol mais aussi les murs et les décors, stocker les objets dans une liste liée à la zone comme précédemment.
Avantage : Bien plus léger que la méthode précédente : pour le décor, on ne fait un test que quand le joueur empiète sur une nouvelle case du quadrillage, et seulement sur cette case-là.
Inconvénients : Problèmes liés à la détection de collision "carré" ou "losange" (=> mouvements peu naturels du personnage ou nécessité d'un quadrillage à mailles fines d'intérêt nul). Nécessite de différencier interactions avec le décor et intéraction avec les objets.
Les deux ont leurs avantages et leurs inconvénients, et j'avoue avoir du mal à me décider. Que me suggérez-vous ? Avez-vous d'autres solutions ?
Partager