Cycle 3 & 4 – Création d’un jeu vidéo avec SCRATCH

Auteur : Cyril RAMEAU (23/04/2018 – dernière révision 16/10/2018 ) pour les collèges Pierre Mendès France (La Rochelle), Marc Chagall (Dompierre sur Mer) et Samuel de Missy (La Rochelle)

Votre mission si vous l’acceptez est … en partant de là ci-dessous (le jeu de prise de balle ou Catch Game en anglais):

Catch Game

D’arriver à quelque chose comme ça … en mieux:

space-invaders-retro-plain.jpg

Voici les étapes à suivre :

  1. Démarrer SCRATCH (en ligne ou sur directement sur le PC)
  2. Cliquer sur « Conseils », puis choisissez le tutoriel du jeu Catch GameConseils
  3. Suivre les instructions du tutoriel jusqu’à la finTutoriel.JPG

Les conseils du professeur (à réciter par cœur) :

Conseil 1 : Vous pouvez (devezchanger la langue (de l’anglais au français et vice versa) à tout moment pour vérifier le bon choix des instructions, en cliquant sur le globe en haut à  gauche

globe

Conseil 2 : Pour comprendre les déplacements en X et Y, il faut savoir que l’écran de Scratch est un repère orthonormé (C’est un bon fond d’écran pour s’y habituer): Repérez l’axe et les limites des abscisses et des ordonnées. Apprendre et comprendre les mots abscisse (X) et ordonnée (Y) 

orthonormé

Conseil n°3 : Sauvegardez régulièrement votre programme en modifiant son indice (A, B, C, …) à chaque fois. Scratch plante régulièrement et vous pouvez faire une mauvaise manipulation qui détruirait tout votre travail. Il faut le mettre au choix sur le réseau dans son espace Perso, sur clé USB, ou dans un répertoire commun de restitution de la classe.

SauvegarderEnresgistrer son programme Scratch Off-line

Conseil n°4 : L’élégance d’un programmeur informatique consiste notamment :

  • A écrire des petits programmes courts, indépendants autant que possible, les uns des autres, afin qu’un autre programmeur puisse comprendre le code facilement. Dans Scratch, on peut aussi rajouter des annotations pour expliquer ce que chaque bout de programme fait.
  • Ne pas écrire deux fois la même chose : Par exemple « mettre Score à 0 », écrit une fois sur le gentil, n’a pas besoin d’être réécrit sur le méchant. ou encore, la variable « vitesse », calculée pour un lutin, n’a pas besoin d’être recalculée pour les autres, mais simplement à être utilisée.

 

Maintenant, c’est à vous de créer votre code pour améliorer votre jeu :

  • Suivez et respectez chaque étape (on ne passe pas au point 3 si le 2 n’est pas validé par exemple).
  • Signalez chaque étape franchie à votre enseignant.
  • Sauvegarder votre programme avec un indice différent à chaque progrès obtenu.

 

  1. Rajouter un « Méchant », c’est à dire un objet (lutin) qu’il ne faut pas attraper sous peine de perdre des points. (Astuce : il n’y a qu’une toute petite différence de programmation entre un « gentil » et un « méchant ». Laquelle? … une fois la réponse trouvée, il suffit de copier-coller…). C’est fait? Prévenez votre enseignant.
  2. Ne faire apparaître ce méchant que lorsque le score est supérieur à 3 : les événements « message » ou « Si…   » , montrer, cacher sont des solutions possiblesMontrer cacherC’est fait? Prévenez votre enseignant.
  3. Donner une fin au jeu : Le bol n’a que trois vies (il faut créer une nouvelle variable « Vies restantes ») et tout arrêter quand il n’y en a plus.Stop toutC’est fait? Prévenez votre enseignant.
  4. Faire évoluer la vitesse avec le scoreIndice vitesse initiale des pommesJusqu’à présent, les objets tombaient à vitesse constante. Désormais, plus le score est haut plus la vitesse des objets s’accélère.
    (il faut créer une nouvelle variable « vitesse » qui est calculée en permanence).
    Un indice : la vitesse initiale fixe des pommes était de -5 pixels par cycle du programme, comme indiqué dans l’image ci-dessus.
    La nouvelle vitesse pourra être calculée de la façon suivante, en utilisant la fonction mettre « vitesse » à  ….. et des opérateurs de calcul:mettre vitesse àmoinsdiviserVitesse = -5 – (Score/2).
    Insérer cette variable « vitesse » dans le programme du bon et du méchant pour qu’ils tombent à la même vitesse.
  5. (FACULTATIF en 6ème) Faire évoluer le fond d’écran avec le score tous les 5 points : Choisir quelques fonds d’écran et passer au suivant tous les 5 points… Plusieurs pistes possibles :
    1. Ne changer d’écran que lorsque le score est multiple de 5, c’est à dire que le reste de sa division par 5 est nul.
      1. Mémoriser à l’aide du nouvelle variable le dernier score qui a provoqué le changement de fond d’écran et ne changer d’écran que lorsque le score est supérieur de 5 à cette valeur mémorisée.
  6. Marquer une petite interruption du jeu à chaque vie perdue (DIFFICILE) : On pourra imaginer par exemple, de cacher les lutins pendant un petit moment, ou de les figer sur place avec une vitesse nulle, ou d’inhiber un moment la fonction « attraper ».
  7. Faire exploser ou disparaître lentement le bol lorsqu’il est touché (avec les fonctions apparence)pixeliser
  8. Créer le « SUPER méchant » : Celui-ci à la particularité, lorsqu’il apparaît en haut de l’écran, de s’orienter vers vous  (le bol) avant d’avancer lorsque le score est supérieur à 6S'orienter versavancer de
  9. Equiper le bol d’un laser : Lorsque la touche « espace » est cliquée : un éclair jaillit du bol et se dirige vers le haut de l’écran.
    Un indice : il faut commencer par positionner votre lutin laser à l’endroit du bol, avant de l’envoyer vers le haut.aller à
  10. Le laser qui touche un méchant le détruit en le faisant exploser
  11. Le laser qui touche 3 fois le super méchant le détruit en le faisant exploser (tiens, il faut peut-être créer une nouvelle variable)
  12. Le laser est rechargé par la collecte des points : 10 pommes ramassées permettent de tirer 10 fois. (encore une variable « munitions » à créer)
  13. Apparition du TRÈS SUPER MÉCHANT lorsque le score est supérieur à 9 : Plus gros que le super méchant, plus lent que les autres, il se dirige inexorablement vers vous et ne peut être détruit que par 5 tirs lasers réussis.
  14. Création du Missile à tête chercheuse : Activé par la touche « Flèche vers le haut », il se dirige vers le méchant le plus proche. 1 missile suffit pour abattre le « Super méchant ». 3 sont nécessaires pour abattre le TRÈS SUPER MÉCHANT
  15. La trajectoire des méchants n’est plus verticale mais légèrement inclinée au hasard lorsque le score est supérieur à 12. Ils rebondissent sur les bords.
  16. La trajectoire des méchants devient ondulée de façon aléatoire lorsque le score est supérieur à 15
  17. La vitesse et la couleur des méchants varie aléatoirement, tout en augmentant progressivement (ou par paliers en fonction du score)
  18. Donner un effet de perspective à tous les lutins : Très petits au fond de l’horizon (En haut de l’écran) et grossissent en s’approchant de vous (en bas de l’écran).
  19. Réduire la taille de tous les lutins
  20. Multiplier les lutins (gentils, méchants)
  21. Les faire apparaître progressivement
  22. Leur faire changer de costume à chaque fois que le score augmente de 10 points
  23. Enregistrer le meilleur score. L’afficher et relancer le jeu avec une touche du clavier sans cliquer sur le drapeau vert.
  24. Créer un générique au début du jeu, un interlude entre les niveaux …
  25. ….

Vous venez d’obtenir votre diplôme de programmeur informatique !

 

PS du 18/10/2018 : Si vous êtes perdu, il y d’autres professeurs comme ci-dessous. Mais mon reproche est qu’il vous donne la solution, sans recherche de votre part.

Si vous êtes passionnés, allez donc voir le code interne des jeux réalisés en Scratch. A vous  ensuite de publier le vôtre. Ici les Space Invaders

Publicités