Route du Rhum

Dans cette activité, les makers vont réaliser un jeu autour de la célèbre course de la Route du Rhum. Ils vont coder les déplacements d’un voilier ainsi que les vents qui vont influencer ses déplacements, en s’inspirant des vents réels qui guident les décisions des navigateurs lors de cette course légendaire.

Objectifs pédagogiques

Compétences techniques

  • Conditions 
  • Gestion des Collisions
  • Variables
  • Apprendre à créer un effet de poussé 

Compétences design

  • Aucun les sprites sont déjà tous dans le projet

Compétences projet

  • Apprendre à récupérer un projet à remixé

La place dans le module

3 séance de 1h30

Jour 1

Jour 2

Jour 3

Jour 4

Jour 5

1h

30 min

30 min

1h

Ressources

Matériel

  • Un compte scratch
  • Les comptes scratch makers que tu as créés pour les activités précédentes
  • Un studio

Déroulé de l'activité

Segmentation de l’activité

Détail de l’activité

Segment 1 (1H) : Récupération du projet et déplacement

1/ Présentation et récupération du projet (20 min)

Commence par présenter le projet aux makers demande leur tout ce qu’ils connaissent de la Route du Rhum :

  • la Route du Rhum est une course internationale où des navigateurs de différents pays traversent l’océan Atlantique en bateau.
  • les bateaux partent de Saint-Malo, en Bretagne.
  • les navigateurs doivent rejoindre Pointe-à-Pitre, en Guadeloupe.
  • chaque navigateur pilote son bateau tout seul, sans équipage !
  • les navigateurs doivent comprendre les vents et choisir la meilleure route pour avancer le plus vite possible.

Puis fais récupérer le projet aux makers à cette adresse, et fais-leur faire un remix, si tu peux venir en avance dans ton atelier en présentiel tu peux préparé en amont les remix sur les ordinateurs des makers.

Explique à tes makers que vous récupérer un projet vide qu’il va falloir faire fonctionner ce projet vide va permettre de gagner du temps pour ne pas avoir à passer une séance à trouver de belles images pour notre jeu

2/ Déplacements du Bateau (30 min)
Explique aux makers que nous allons reproduire les mouvements d’un voilier : 
il pourra avancer dans la direction vers laquelle il est orienté et tourner pour changer de cap. Nous ajouterons également la marche arrière, même si un voilier ne peut pas reculer de cette manière dans la réalité. Cela permettra aux makers de se débloquer s’ils foncent dans un obstacle.

Avant de coder ces déplacements, prends le temps d’expliquer comment détecter qu’une touche du clavier est pressée. L’ordinateur devra vérifier en permanence si une touche est maintenue enfoncée et déclencher l’action correspondante. Il est important que les makers comprennent les notion de boucle infinie et de conditions prend donc bien le temps de les expliquer.

Pour commencer, demande-leur de coder la rotation du bateau. Une fois cette étape réussie, ils pourront s’attaquer à son déplacement vers l’avant et vers l’arrière.

Cet ordre permet d’introduire progressivement les notions de programmation et de réserver la vitesse négative au deuxième exercice, lorsqu’ils coderont les déplacements du bateau.

 

 

Segment 2 (30min) : Hitbox

1/ Explication (10 min)

Demande à tes makers si certains connaissent le terme de hitbox.

Une hitbox est une zone invisible dans un jeu vidéo, placée autour d’un personnage ou d’un objet. Elle permet au jeu de détecter les collisions et de savoir quand deux éléments se touchent.

Dans notre projet, une hitbox a déjà été créée pour le port de Saint-Malo. Elle est nécessaire, car le port est intégré à l’arrière-plan, qui ne permet pas de détecter les collisions.

Pendant tes explications, montre cette hitbox aux makers et précise bien qu’il ne faudra jamais ajouter de code dedans ! Le code déjà présent sert uniquement à la rendre invisible au début de la partie.

2/ Réaction à la collision (20 min) 

Demande ensuite aux makers quel comportement le bateau devrait avoir lorsqu’il touche la hitbox. Ils risquent de ne pas savoir quoi répondre, tu peux donc les guider avec quelques explications.

« Quand le bateau touche la hitbox, c’est qu’il a effectué un mouvement interdit : il est arrivé dans une zone où il ne devrait pas pouvoir aller. »

Demande-leur ensuite ce qu’on pourrait faire pour corriger la situation.

S’ils manquent d’idées, aide-les à comprendre qu’on peut annuler le dernier mouvement en effectuant le mouvement inverse.

  • Si le bateau avance dans un mur, on le fait reculer pour simuler qu’il est bloqué.
  • S’il tourne à droite et touche un mur, on le fait tourner à nouveau vers la gauche.

Segment 3 (30min) : Déplacement du Vent de Saint malo

1/ Déplacement du vent (30 min) 

Demande aux makers ce que le vent devrais faire dans leur jeu : « il faut qu’il se déplace et qu’il puisse pousser le bateau« 

Demande ensuite aux makers de quelle information le bateau aura besoin pour savoir comment il doit être poussé par le vent.

« On a besoin de connaître sa direction, c’est-à-dire son angle ! »

Demande ensuite aux makers de programmer le vent en décomposant le travail en plusieurs étapes :

  • Téléporter le vent à sa position de départ.
  • L’orienter dans la bonne direction.
  • Enregistrer son angle.
  • Le faire avancer.
  • Répéter toutes ces étapes en boucle 
 

Explique ensuite aux makers que pour enregistrer la valeur de l’angle du vent. nous allons devoir utiliser une variable.

Prends le temps de leur expliquer ce que c’est puis montre-leur ensuite comment créer cette variable dans Scratch et comment y enregistrer la valeur de l’angle.

Conclue en leur expliquant que nous n’allons pas utiliser cette information tout de suite, mais qu’elle nous sera très utile dans quelques minutes pour programmer le comportement du bateau face au vent.

Une fois le code terminé, le vent devrait commencer à avancer, mais seulement sur une très courte distance. C’est le moment idéal pour introduire le bloc « répéter X fois ». Explique aux makers qu’il permet de répéter une même action plusieurs fois. En l’utilisant pour répéter le déplacement du vent, celui-ci pourra avancer jusqu’à l’endroit souhaité.

Si tu as le temps, invite les makers à modifier certaines valeurs pour créer des vents personnalisés et observer comment ces changements influencent leur déplacement.

Segment 4 (1H) : L’Atlantique

1/ Poussé le bateau (20 min)

Explique aux makers que maintenant que le vent est prêt, il faut aller dans le code du bateau pour que celui-ci puisse être affecté par le vent.

Pour cela, il va falloir tourner le bateau dans le sens du vent, le pousser, puis le remettre dans son ancienne orientation.

Pose-leur la question :

« Mais comment, une fois tourné, mon bateau va pouvoir se rappeler dans quel sens il était avant ? »

Grâce à une autre variable !

  Décortique le code à réaliser avec les makers :

  1. Dans une boucle infinie, vérifier si le bateau touche le vent.
  2. Enregistrer l’orientation du bateau dans une variable.
  3. Tourner le bateau dans le sens du vent.
  4. Le faire avancer pour simuler la poussée du vent.
  5. Remettre le bateau dans son ancienne orientation grâce à la variable.
2/ Sortir de Saint Malo pour l’altantique (15 min)

Après ces étapes assez complexes, demande à tes makers de trouver comment passer de l’arrière-plan de Saint-Malo à celui de l’Atlantique lorsque le bateau touche la flèche rose.

Normalement, la plupart devraient y arriver sans ton aide. Profites-en pour accompagner ceux qui se sentent perdus et revoir avec eux les notions qu’ils n’ont pas encore assimilées.

3/ Vent de l’atlantique (25 min)

Explique aux makers que les vents de l’Atlantique, appelés alizés, tournent en rond au milieu de l’océan et que nous allons essayer de reproduire ce phénomène dans notre jeu.

Mais avant de créer un nouveau code de déplacement pour le vent, il va falloir arrêter l’ancien pour éviter que les deux codes fonctionnent en même temps.

Nous allons donc utiliser le bloc « stop », puis positionner et orienter le vent comme souhaité avant de programmer son nouveau déplacement.

Pour que notre vent tourne en cercle, demande aux makers comment ils pourraient s’y prendre.

« Il faut avancer et tourner en même temps ! »

Grâce à une simple boucle « répéter indéfiniment », les makers vont pouvoir créer ce nouveau code de déplacement.

Attention cependant : il faudra bien penser à enregistrer dans la boucle la direction du vent dans la variable, car son angle change constamment lorsqu’il tourne.

Segment 5 (1H) : Terminer la course

Chrono (15 min)

Il ne reste plus qu’un élément à ajouter, mais il est primordial dans une course : le chronomètre !

À ce stade, les makers devraient être capables de trouver comment le coder par eux-mêmes. Je te conseille néanmoins de le réaliser en partageant ton écran et en les laissant te guider. Cela permettra aux plus dégourdis de montrer ce qu’ils savent faire et de prendre confiance, tout en rassurant ceux qui sont moins à l’aise.

Projet libre (45 min)

Il est temps de laisser les makers pratiquer avec un peu plus d’autonomie, en améliorant leurs projets. Leur laisser du temps pour personnaliser leurs projets, les peaufiner pour les rendre plus joli, et éviter les speedrun augmentera leur satisfaction personnelle lors du rendu final. 

Tu peux t’inspirer des bonus faisable ici

Segment 6 (30min) : Amélioration et partage de projet

Projet libre – suite (15 min)

Tourne autour de tes makers, vois leurs projets, regarde si il n’y a pas de difficultés rencontrés sinon aide-les. C’est le bon moment pour les complimenter sur tout ce que tu trouves original, bien fait, leur bonus, etc.. 

Assiste les dans leur gestion du temps et leur debug.

Show (15 min)
C’est l’heure de présenter tous les projets, laisse les makers présenter leurs projets, et se mettre par 2 pour les tester et y jouer!

Tips et REX

 

Retour en haut