Les plateformes sont très courantes dans les jeux en 2d. Cependant, même si elles sont très nombreuses, elles ne causent jamais (ou presque) de ralentissements. Alors je me suis demandé ce qu’étaient exactement les plateformes. Des sprites ? Des tiles ? Autre chose ?
Des sprites ou des tiles, peut importe, ça dépend du jeu.
Ce qui est couteux en ressources, c’est de détecter les collisions avec ces plateformes : C’est là qu’un jeu basé sur des tiles va être assez rapide car il s’agit de parcourir un tableau en gros décrivant si une tile est un obstacle ou non. Avec des sprites, les tests de collisions peuvent être plus complexes, mais c’est aussi intéressant car on peut créer des jeux beaucoup moins rigide.
La prochaine version de Game Develop possèdera un automatisme “Platforme” permettant de définir des objets comme étant des plateformes, et un objet comme se déplaçant sur ces plateformes.
Pour un maximum de flexibilité, l’automatisme se base sur les masques de collisions et peut s’appliquer à tous les objets ( On peut avoir des plateformes tournées/pas droite/qui se déplaçent… ). Pour les performances, l’important est ici de limiter le nombre de tests de collisions, ce qui est fait en ne considérant que les plateformes autour de l’objet qui se déplaçe.
C’est clair, super idée que ce nouvel automatisme! Même si ça ne me sera pas utile dans mon projet actuel, ça peut fortement m’intéresser pour le suivant.
J’y pense, est-ce que l’automatisme plateforme pourra travailler de concert avec l’automatisme moteur physique ? Pour faire des plateformes gérées par le moteur physique par exemple.
C’est toujours une assez mauvaise idée de mélanger physique avec non physique.
Mais ça pourrait marcher sans donner des résultats trop dégeulasses ( pas trop de glitchs ) en appliquant la physique qu’à un nombre restreints de choses, genre uniquement les plateformes et pas l’objet qui se déplace dessus.