Ce tutoriel explique comment réaliser un jeu vidéo inspiré du classique « Space Invaders », avec le logiciel Scratch.

Convient pour
Elèves (école primaire), Elèves (école secondaire), Jeunes en décrochage scolaire
Age
Adolescents, Enfants
Niveau de compétence i
Niveau 2
Format
Fiche d'activité
Droits d'auteur i
Creative Commons (BY-SA)
Langue(s)
Français , Anglais

Objectif général

Compétences

Temps de préparation pour l'animateur

moins d'une 1 heure

Domaine de compétence

3 – Création de contenu

Temps requis pour compléter l'activité (pour l'apprenant)

0 – 1 heure

Nom de l'auteur

BSF Belgique

Matériel supplémentaire

Ordinateur avec Scratch ou connexion internet

Ressource originellement créée

Français
Déroulé

Introduction

Le but de ce tutoriel est de guider dans la création d’un jeu de tir inspiré du jeu Space Invaders. Un vaisseau spatial doit protéger la Terre contre des hordes d’extraterrestres hostiles qui défilent à l’écran. Pour cela, il doit tirer des missiles sur ces ennemis pour les éliminer jusqu’au dernier. Si un extraterrestre atteint le bas de l’écran, la Terre est perdue et la partie finie.

Cette réalisation étant un peu complexe à comprendre, à cause de l’utilisation de clones et de code dupliqué, elle est à réserver à un public déjà habitué à Scratch.

Créer le décor

Aller dans « scène » et choisir un nouvel arrière-plan en cliquant le bouton paysage :

Choisir un arrière-plan, par exemple « moon » dans la catégorie « autre ». Puis aller dans l’onglet « arrière-plan » (au-dessus de la palette de blocs), et dessiner une barre rouge en bas de l’image.

Créer un vaisseau, un alien et une munition

Il faut maintenant ajouter les différents lutins qui vont servir au jeu.

Cliquer sur l’icône lutin à côté de « nouveau lutin », et choisir un vaisseau dans la bibliothèque (par exemple dans la catégorie « transport »). Il est aussi possible d’utiliser l’icône pinceau (pour dessiner librement le vaisseau), ou l’icône fichier pour charger une image depuis l’ordinateur.

Répéter cette étape pour ajouter aussi un alien et une munition. Cliquer sur le I bleu de chaque lutin pour les renommer en « vaisseau », « alien » et « munition ».

Diriger le vaisseau

Le vaisseau doit pouvoir se déplacer de gauche à droite uniquement, à l’aide des flèches du clavier. Pour cela, ajouter les trois ensembles de blocs ci-dessous, dans le script du lutin « vaisseau » :

Explication du code : quand le jeu commence (le drapeau vert est cliqué), le vaisseau apparaît (« montrer ») et prend sa position de départ. Quand la flèche droite est appuyée, le vaisseau va s’orienter à droite (90°) et avancer (10 pas). Quand la flèche gauche est appuyée, le vaisseau va s’orienter à gauche (-90°) et avancer (10 pas).

Cliquer sur le drapeau vert et tester le résultat. Ajuster les valeurs pour que le vaisseau soit bien placé en bas de la scène au début du jeu, et avance à une vitesse correcte.

Projeter les munitions

La munition ne doit pas être là dès le début du jeu ; commencer par ajouter les blocs suivants à son script :

Le vaisseau a besoin de savoir tirer des munitions. Pour simuler cela, faire apparaître la munition et lui donner un mouvement, grâce aux blocs suivants :

Explication du code : quand on appuie sur la touche espace, la munition va apparaître (« montrer »), se placer à sa position de départ (« aller à vaisseau »), puis avancer vers le haut (« orienter à 0° ») jusqu’à rencontrer soit le bord soir un alien.

Cliquer sur le drapeau vert et tester le résultat.

Animer un alien

Pour le moment, l’alien ne bouge pas; on ne sait donc pas perdre (il n’arrivera jamais en bas) et est très facile à vaincre. Il faut qu’il bouge le long de l’écran tout en descendant, et que le jeu s’arrête s’il atteint la Terre (la barre rouge).

Ajouter les blocs ci-dessous dans le script de l’alien :

Explication du code : quand le jeu commence (quand le drapeau vert est cliqué), l’alien va prendre sa position de départ (« aller à… »), apparaître (« montrer »), puis, sans s’arrêter (« indéfiniment »), changer sa position, attendre, et avancer.

A présent, ajouter les blocs suivants, toujours dans le script de l’alien :

Explication du code : quand le jeu commence (quand le drapeau vert est cliqué), l’alien vérifie en permanence (« répéter indéfiniment ») s’il touche du rouge. Si oui, alors le jeu s’arrête (« stop tout »). Comme nous avons mis une barre rouge en bas du décor, le jeu se terminera donc quand l’alien sera arrivé tout en bas.

Il ne reste plus qu’à faire que l’alien disparaisse lorsqu’il est touché par une munition. Compléter le même script avec les blocs suivants :

Explication du code : outre ce qui a déjà été expliqué, l’alien va aussi vérifier en permanence s’il a touché une munition. Si oui, il attend 0,1 seconde puis il disparaît (« cacher »).

Cliquer sur le drapeau vert et tester le résultat.

Multiplier les aliens

Avec un seul alien, le jeu est trop facile. Il y a plusieurs solutions pour obtenir plusieurs aliens.

La plus simple est de dupliquer le lutin alien. Dans chaque copie ainsi obtenue, il faudra changer la position de départ (« aller à … »), pour que chaque alien démarre à un endroit différent.

Une solution plus complexe est d’utiliser le bloc « créer un clône », en modifiant le script principal de l’alien comme ci-dessous :

Chaque clone ainsi créé possède le même code que l’alien d’origine. Mais comme ils sont créés après que le drapeau vert soit cliqué, leur code n’est jamais déclenché, et ils ne bougent pas. Cliquer le drapeau vert pour observer le phénomène.

Il faut donc changer le code des clones, pour qu’ils utilisent « quand je commence comme un clone » à la place de « quand le drapeau vert est cliqué ». Comment faire ? En ajoutant du code à l’alien ! Puisque c’est ce code-là qui sera possédé par les clones. Faire un clic droit sur le code principal de l’alien et cliquer « dupliquer », puis changer le premier bloc pour utiliser « quand je commence comme un clone ». Comme le code sera identique pour l’alien et pour ses clones, ils bougeront tous en même temps, en étant superposés. Il faut donc que le code utilisé par les clones soit différent. Il suffit d’insérer un bloc qui change sa position : « ajouter -80 à x », comme ceci :

Les blocs « si couleur bleue touchée, alors ajouter -80 à x » permet de séparer les clones entre eux. Essayer le jeu avec et sans ce code pour voir la différence.

En testant, on voit que les clones sont invincibles. C’est parce que la partie du code qui les fait disparaître, comme celle qui les fait bouger, utilise encore le drapeau vert. La solution est la même que pour le code qui les fait bouger : dupliquer le code, puis changer le premier bloc en « quand je commence comme clone » :

Cliquer le drapeau vert et vérifier que tout fonctionne comme prévu.

Pour aller plus loin

Quelques pistes pour améliorer le jeu :

  • augmenter le nombre d’aliens
  • ajouter différents aliens qui bougent à des vitesses différentes
  • ajouter des points de vie au vaisseau
  • ajouter des points de vie aux aliens
  • créer différents types de munitions
  • ajouter un compteur de points et le faire monter quand des aliens sont éliminés
  • ajouter plusieurs niveaux
  • etc.
  • pour les plus aguerris, vous pouvez essayer d’optimiser le code donné en exemple, car certaines instructions ne sont pas placées de la meilleure façon possible.

Pour aller plus loin

Conseil médiation 

Pour aller plus plus loin sur le sujet, nous vous conseillons de vous référer à la fiche outil « Guide de présentation de Scratch«