Programmation de jeux vidéo avec Scratch

De Fab Labs Québec
Aller à :navigation, rechercher

Apport 2021 - 013

Type d'apport

Statut

Actif

Durée

Événement

Fab Festival (2021)

Portée

global

Promoteurs

Personnes :

Thomas Poulin

Fab Lab(s) et ateliers amis :

BennyFab

Organisations :

Liens externes

à venir

Programmation de jeux vidéo avec Scratch

Description

Il s'agit d'un atelier de programmation pour enfants 12-16 ans (flexible sur l'âge). Je considère que l'activité est de niveau intermédiaire mais elle est structurée pour être accessible pour des débutants (à condition qu'ils aient déjà un compte scratch pour remixer ou soient capables d'importer le projet localement, et qu'ils soient confortable avec l'utilisation de l'ordinateur). Si c'est possible j'aimerais faire l'activité physiquement au Benny Fab tout en la diffusant en direct en ligne. Je crois que sur place on va pouvoir recevoir un maximum de 6-8 personnes et je pensais limiter à une douzaine de plus en ligne (peut-être plus si j'ai de l'assistance pour gérer en ligne).

L'activité (basée sur une série de code club que j'ai faits en ligne ce printemps) s'intitule "Programmation de jeux vidéo avec Scratch". Il s'agit d'une activité d'exploration semi-dirigée structurée autour d'une série de défis et d'une durée de 2h. Les participants démarrent avec un projet contenant un personnage de Mario (tiré des tutoriels de Griffpatch qui ont inspiré en partie l'activité) dont les contrôle de plate-forme sont déjà programmés (gravité, saut, mouvement), une case 100x100 pour le niveau et un drapeau pour l'objectif. Le but de l'activité est de construire un niveau pour que Mario puisse se rendre au Drapeau.

Voici le déroulement que je prévois:

1) accueil et 1er défis (15 min) : Les participants remixent le projet de départ et explorent son comportement pour répondre à la question: "Comment ça marche?". Quand tous les participants sont prêts, l'animateur conduit un échange sur ce que les observations des participants. Guider la conversation vers 1) les 3 sprites (joueur, plancher, objectif), le code qu'ils contiennent et la relation entre eux 2) les mécaniques de jeux déjà en place (mouvement, saut, gravité, condition de victoire/défaite, détection des collisions avec le sol) et identifier les sections de code correspondant 3) les lacune du projet actuel (absence de niveau, impossibilité d'atteindre l'objectif.

2) Présentation du 2e défi (10 min) : Les participants doivent concevoir un niveau qui permet à Mario d'atteindre le drapeau tout en étant fun. L'animateur fournit quelques pistes de solutions en présentant le fonctionnement de certains blocs de base comme le drapeau vert, les mouvements ( avancer, changer x et y), les boucles, les clones, et estampiller. L'animateur invite également à réfléchir sur les facteurs qui rendent un niveau fun (difficulté, progression, clarté etc.).

3) Expérimentation libre (20 min) : Durant cette période, l'animateur encourage les participants à explorer différentes solutions possibles, à partager leurs idées avec le groupe et à les tester dans Scratch. Il les aide à verbaliser clairement leur stratégie, à cibler les bloc de code correspondant et à analyser le résultat de leurs expériences. Il s'assure que les apprentissages soient partagés à l'ensemble du groupe.

4) Présentation d'une solution (15 min): l'animateur présente et partage le lien de 1 ou 2 projets intéressants des participants et fait un retour sur les difficultés. Il présente ensuite une solution au défi (et partage le lien d'un projet avec cette solution) qui utilise une double boucle pour créer une grille de clones, une variable locale pour identifier les clones et une liste pour déterminer le contenu de chaque case. La solution permet d'approfondir les notions de variable, liste, boucle et fonction, en plus d'aborder les concepts d'abstraction et de représentation.

5) présentation du 3e défi (5 min): Les participants sont invités à concevoir un nouveau niveau avec la solution présentée et trouver des manières de faciliter la création de plusieurs niveaux. L'animateur guide les réflexions sur ce qui rendrait les niveaux plus facile à éditer et comment il serait possible de sauvegarder et charger des niveaux.

6) Expérimentation libre (20 min) : Durant cette période, l'animateur encourage les participants à explorer différentes solutions possibles, à partager leurs idées avec le groupe et à les tester dans Scratch. Il les aide à verbaliser clairement leur stratégie, à cibler les bloc de code correspondant et à analyser le résultat de leurs expériences. Il s'assure que les apprentissages soient partagés à l'ensemble du groupe.

7) Présentation d'une solution (15 min): l'animateur présente et partage le lien de 1 ou 2 projets intéressants des participants et fait un retour sur les difficultés. Il présente une solution qui utilise le bloc quand ce sprite est cliqué pour changer son état et l'élément de la liste correspondant pour éditer le niveau et qui enregistre la liste dans une variable pour le système de sauvegarde et de chargement des niveaux.

8) Question et exploration libre (20 min): L'animateur répond aux questions et invite à aller plus loin en concevant plusieurs niveaux, changer les dimensions du jeu, enchaîner le chargement de différents niveaux, créer des ennemis, modifier le code existant, etc. Souligner la réutilisabilité des systèmes construits pendant l'activité.

Planification de la récolte

Page(s) wiki
Page(s) web


Contributeurs

Contributeurs Types Contributions

Public visé

Enfant de 12-16 ayant déjà utilisé Scratch.

Défis et besoins

Besoin d'aide pour l'accompagnement des participant en ligne


Projets liés Vous pouvez utiliser l'outil de gestion des Projets interstructurant pour travailler le projet.



Autres notes