- La première image du jeu avec explications
- L'envers technique
ATTENTION : Le design des personnes et des décors sont temporaires, ils nous permettent simplement de pouvoir travailler, nous aurons de vrais graphismes lors de la sortie du jeu.
Le personnage a posé ses deux bombes.
On voit sur cette image les éléments du décors :
les blocs non destructibles (gris) et les blocs destructibles (marron).
Le personnage se déplace "normalement", pas de case en case et son pseudo est inscrit au dessus de lui.
Et les bombes sont déposées avec la touche espace.
On voit sur cette image les éléments du décors :
les blocs non destructibles (gris) et les blocs destructibles (marron).
Le personnage se déplace "normalement", pas de case en case et son pseudo est inscrit au dessus de lui.
Et les bombes sont déposées avec la touche espace.
Partie technique :
- Les outils
Pourquoi le choix de ce langage ?
- C++ est un langage orienté objet, indispensable dans le domaine vidéo-ludique car il permet une grande modularité, et une meilleure structuration du programme que les langages procéduraux (C, Pascal, etc.).
- Quant à la SFML, c'est simplement le pendant objet de la SDL qui inclue la gestion du son, du réseau, des threads et bien d'autres choses.
- La Map
Au chargement du jeu, une fonction est appelée pour parcourir ce tableau et mettre à l'écran les sprites qui correspondent aux chiffres : on a ainsi une jolie map prête à l'emploi.
- Les collisions
Lors d'un déplacement, on vérifie si l'endroit où l'on veut aller est bien vide, c'est-à-dire s'il correspond à une case égale à 0 dans le tableau. On obtient un système de collisions robuste qui permet de modifier facilement la tableau d'entier pour ajouter ou retirer des éléments du décor car le système d'affichage de la map et le système de collisions sont entièrement dynamiques.
- Les bombes
Nous avons donc créé une "super classe" qui contient tous les personnages et toutes les bombes du jeu.
On stocke ces objets dans des vector, ce qui permet de connaître à tout moment et surtout dans n'importe quelle partie du code, l'emplacement des personnages, des bombes et l'état de ces dernières.
Lors de l'appui sur la barre d'espace, une bombe est instanciée et ajoutée dans le vector de la "super classe" et à cet instant un timer propre à la bombe est déclenché.
Dans la boucle du jeu (là où l'on intercepte les évènements clavier et où l'on affiche la map) on appelle pour chaque bombe contenue dans la "super classe" leur fonction afficher().
- Conclusion
Près de la moitié de ce moteur est maintenant réalisé, dans le prochain article on vous parlera de la création d'un système de largage d'item (il y aura des proba à la clé ^_^).
Si vous avez des suggestions ou des questions, n'hésitez pas à le faire dans les commentaires ou par mail.
Restez connectés ;-)

Aucun commentaire:
Enregistrer un commentaire