Note : L'exemple montré ci-dessous est un jeu de plateforme effectué par un élève de seconde.
Un framework est une source de documents préfabriqués. Le framework Phaser est une source préfabriquée dans le but de faire gagner du temps lors de la création d'un jeu.
Il n'y a pas de restriction, vous pouvez utiliser n'importe quel programme qui puisse écrire du code. Cependant, certains sont payants. En cours d'ICN, vous serez amené à utiliser Notepad++ qui est un logiciel d'édition de code simple et gratuit.
Évidemment, vous pouvez consulter différents exemples de jeux vidéos qui ont été faits lors des séances d'ICN. Vous pouvez vous rendre sur cette page : Page de jeux vidéos afin de découvrir les créations des élèves ayant effectué leur année en ICN. Par ailleurs, il est mis en disposition un jeu qui est fait par le même auteur de ce site : Voir ce jeu
Il existe des vingtaines de façons de faire un jeu vidéo, tout dépend du type de jeu à faire. En ICN, l'élève sera amené à suivre le processus d'un jeu de plateformes en 2D. Ci-dessous, un didacticiel pour démontrer nos manoeuvres.
Pour commencer, il est important de créer ce qu'on appelle une " maquette ". Il s'agit en d'autres termes, d'un croquis du jeu. Sans croquis, vous ne saurez pas complètement comment vous imaginez votre jeu et sans cesse, vous effacerez votre travail pour en commencer un autre si le précédent ne vous satisfait pas. Ce pourquoi il est fortement conseillé de mettre sur papier ou sur le numérique, une maquette de votre jeu. Imaginez le scénario, le décor puis comment le joueur peut perdre et gagner la partie.
Ci-dessous, une présentation de mon personnage avec deux poses supplémentaires
Après avoir pris le temps de créer le personnage, vous pourrez le télécharger en appuyant sur le bouton bleu " Download spritesheet ". La position par défaut de votre personnage se trouve dans le dossier ' default ' et le dossier ' 0 ' le nom du fichier s'appellera : Stand1_0.png
Un spritesheet est autrement dit, une image qui contiendra les différentes positions de votre personnage lors de son animation. Dans un jeu quelconque, le personnage s'anime grâce à un spritesheet qui lui est défini. En ICN, vous apprendrez à faire le vôtre.
Dans le spritesheet, nous verrons qu'il existe plusieurs " frames " autrement dit des vignettes. Vous pouvez comptez jusqu'à 7 vignettes. Mais l'ordinateur, lui compte jusqu'à 6 vignettes. En effet, le chiffre 0 est aussi un chiffre à ne pas oublier.
Le " background " autrement dis, le fond ou bien l'arrière-plan, est essential quant à l'esthétisme de votre jeu. Une fois avoir choisi celui qui convient le mieux à votre maquette, il vous faudra utiliser des tiles (élements de décorations) pour les placer sur le background. Un logiciel d'édition d'images gratuite conseillé pour cet exercice : Photofiltre cependant vous être libre d'utiliser un autre.
Dans ce background, j'ai inclus plusieurs plateformes avec quelques élements de décorations que vous trouverez facilement sur internet en cherchant le mot " tile " ou bien " tilesets " pour chercher un ensemble de tiles.
Dans un jeu de plateformes, la physique est un élement primordiale. En parlant de physique, nous parlons en réalité de collisions avec le joueur. L'objectif étant d'empêcher le joueur de passer à travers une plateforme.
Pour se faire, nous allons écrire ceci dans la fonction de 'preload' :
Puis nous aller écrire juste en dessous mais avant la fonction 'create' :
Puis dans la fonction 'create' :
Puis dans la fonction 'update' :
Car le personnage ne se déplacera pas selon le mouvement du curseur, nous allons devoir lui assigner les touches directionnelles du clavier pour le faire déplacer.
Pour commencer, il faudra écrire dans la fonction 'create' :
Nous allons devoir écrire dans la fonction 'update' :
Nous allons par la suite créer dans la fonction 'create' le système de gravitation :
Après avoir créé une collision passive sur lequel le joueur peut sauter sur les plateformes sans risquer sa vie, nous pouvons désormais nous concentrer à créer une collision qui tuera le joueur au contact d'un élement.
Écrivons dans la fonction 'create'
Nous allons maintenant mettre dans la fonction 'update' :
Nous allons devoir créer une fonction personnalisée car " killcollision " n'est pas une fonction officielle.
Les étapes démontrées ci-dessus sont essentielles au jeu vidéo. Mon objectif étant, non pas de faire un didacticiel mais de fournir aux intéressés une démonstration des pratiques exercées en ICN. Il est judicieux de souvent continuer le travail chez soi étant donné du peu de temps attribué dans l'emploi du temps scolaire.