C’est avec des petits pas que nous gravissons des montagnes. C’est une chose que j’ai apprise en allant au sommet du mont Fuji. Pour réaliser un jeu c’est pareil. Le développement avance lentement … Mais surement.
Au moment ou j’écris ces lignes j’en suis à la 10em version d’essai de mon jeu, avec un compteur d’heures de travaille qui dépasse les 100. Mais le travaille en vaut certainement la chandelle !!
Space PiouPiou est maintenant un vaillant Oiseau à bord de son vaisseau ! Il bouge tout seul (ou plutôt le décors derrière lui), et les ennemis apparaissent (ils Spawn dans le jargon) et arrivent sur lui . Une des problématiques soulevée très tôt par le Spawn fut l’allocation de mémoire. Quel est le lien ? Explication :
SpacePiouPiou in his CanarShip ! Bon faut imaginer les sons et les bruits …
Dans un jeu, il faut que seul les éléments utiles soit affichés à l’écrans. Mais en réalité, il y a tout les autres éléments du jeu qui sont en mémoire. Pour limiter cette consommation de mémoire, il faut par exemple faire en sorte que leurs graphismes ne soient réellement calculés une fois que le joueur les rencontre. En extrapolant, il faut aussi qu’ils disparaissent si le joueur les évite et qu’ils quittent la caméra (normalement on ne les rencontrera pas à cause du défilement automatique). Soit on détruit l’objet (dans mon cas), soit on dit dans le code que ses propriétés ne s’appliquent pas une fois que l’objet a quitté la caméra du joueur (comme pour un Mario par exemple, si vous revenez en arrière il reste des méchants que vous n’avez pas battu). Pareil pour les briques, les cases « ? », les items. Imaginez maintenant ce problème étendu à un niveau complet et rajoutez les tirs, les particules, les éléments du décors : tout ceci sont des objets à coder avec leurs conditions, leurs mouvements, leurs actions ! Et rien ne doit mouliner comme un glandu dans le vide: c’est de la mémoire perdue ! Optimisation …
Un des meilleurs jeux de plate forme ! Il n’a pas vieilli 🙂
Autre chose à coder, ce sont les conditions de destructions d’un objet : une collision, des points de vie, un chrono … Tout cela est à coder. Dans mon cas j’ai suivi le tutoriel et j’ai fait un compteur de vie : un tir enlève 1pv et si le compteur tombe à zero : ChatBoom !!
Je suis mort aussi T.T
Et… c’est déjà beaucoup. Avec un script que j’appelle quand mes pv sont à zéro, j’affiche un écran qui me permet de choisir entre recommencer ou retourner au menu. Mais c’est très sommaire, je peux surement faire mieux plus tard. Cette V0.0.2 n’en est que là : pas d’animations autre que les explosions, les tirs sont très sommaires, les sons … rudimentaires (je ne suis pas sound designer). Le défilement du décors pourra être amélioré, il n’y a pas de dégâts de collision… J’apprend à peine les bases d’Unity. La musique de fond et les polices d’écritures sont 100% libres de droit et utilisable commercialement, il y a des limites à ne pas franchir non plus.
Rendez vous bientôt pour la suite !