Guide d'animation
Last updated
Last updated
Introduction
La programmation
Conception
Code de modulation de paramètre : couleur
Code de collision avec un objet : obstacle
Temps supplémentaire
Code de points de sauvegarde
Lors de la dernière séance, les jeunes ont modélisé des obstacles à partir de blocs mobiles disponibles sur Roblox Studio. Cette séance vise à ajouter des obstacles en attribuant des codes à des blocs de leur parcours. Les codes correspondent à des instructions particulières attribuées à des blocs choisis. Ces codes dicteront à ces blocs quoi faire lorsque le ou la joueur·euse va interagir avec eux. Il existe beaucoup de codes différents, mais nous en verrons deux à trois principaux dans cette séance.
La programmation permet à vos pièces de prendre vie. Cela leur permet de répondre à la façon dont vous voulez qu'elles se comportent!
Dans l'univers des jeux vidéos, les codes sont cruciaux et sont présents partout, même si vous ne les voyez pas.
Les jeux sont programmés à partir de différents codes qu’on ne voit pas, mais qui nous permettent d’agir dans le jeu. Dans Among Us (schéma 1), les codes sont utilisés par exemple pour attribuer les rôles, comme les imposteur·rice·s qui correspondent aux ennemi·e·s de la partie.
Dans Mario, ils sont là pour signaler qu’on a gagné et qu’on peut passer au prochain niveau lorsqu'on touche le drapeau (schéma 2), ou pour sauvegarder le jeu à un certain endroit (checkpoint) (schéma 3).
Roblox utilise un langage qui s’appelle Lua. On verra plus en détail la logique de cette langue lorsqu’on l’appliquera avec un objectif concret, comme pour la création d’un obstacle par exemple!
Roblox, comme bien d’autres plateformes de ce type, utilise la notion d’objet parent-enfant (parent-child) comme on peut bien le voir dans l’explorateur (schéma 4). Par exemple, le spawnpoint contient une décalcomanie. La décalcomanie est l’enfant du bloc spawnpoint, qui est son parent.
Roblox va identifier automatiquement l'objet au sein de la liste de l'explorateur lorsque vous cliquez sur un bloc dans votre jeu.
La programmation nous permet de créer des objets qui ont un comportement dynamique. Pour avoir un effet, il faut avoir une cause.
Les causes/variables possibles :
Une action causée par le·la joueur·euse (on a touché un objet)
Un événement (un autre objet est rentré en contact avec l’objet)
un facteur indépendant (le temps)
Il est possible d'ajouter un script avec un facteur de temps pour qu'il réponde à une fonction de changement de couleur automatique. Le bloc passera d'une couleur à l'autre à une vitesse qu'on lui attribuera.
Copier et coller le code ci-dessous à un bloc choisi dans votre jeu et passez en mode test pour confirmer que le code a bien fonctionné.
Si on interprète ce script afin de mieux le comprendre, on pourrait le lire de cette manière :
Variable brique Variable vitesse Pendant que le jeu est actif, fais:
Un cycle qui augmente selon la vitesse
Change la couleur de la brique
attends() fin fin
Ca fait encore peu de sens si vous n'avez jamais vu la notion de code. Il est seulement important de comprendre qu'en attribuant ce script à un objet, celui-ci agira dans le sens du code. Dans ce cas-ci, le bloc choisi qui est codé changera de couleur à la vitesse qu'on lui donne.
Qu’arrive-t-il lorsqu’on augmente ou diminue cette variable ? Au lieu de mettre 1 à la deuxième ligne du script, augmentez le chiffre et observez comment l'objet réagit.
Le prochain script permet de créer un obstacle. En appliquant un script de collision à nos blocs, la personne qui joue perdra sa vie simplement en touchant à ces blocs codés.
Le deuxième obstacle de notre obby sera interactif en utilisant la programmation au lieu des contraintes physiques comme au dernier atelier.
Si on interprète ce script afin de mieux le comprendre, on pourrait le lire de cette manière :
Vérifie si il y a eu des collisions Si l’objet frappé est humanoïde, alors Brise les articulations de celui-ci()
fin
fin)
Encore une fois, cette interprétation semble étrange, mais le script est simplement une manière de dicter aux blocs qu'ils sont des obstacles. Si le·la joueur·euse touche ces obstacles iel recommencera au dernier point de sauvegarde.
De la majuscule à l'espace en trop, le langage du code est très sensible aux erreurs. Si ca ne fonctionne pas, vérifiez bien qu'une erreur ne s'est pas glissé dans le Script lorsque le copier-coller a été fait.
Le point de sauvegarde évite au·à la joueur·euse de recommencer du début lorsqu'iel a été tué par un obstacle. En passant sur le point de sauvegarde programmé, Roblox se souviendra de vous faire recommencer à celui-ci.
Les points de sauvegarde sont également disponibles dans le Toolbox. Cherchez simplement "checkpoint" et ajoutez-le dans votre parcours.
Cette notion est importante, parce qu’on veut mettre le code (enfant) dans le bon contenant (parent). Pour ajouter du code à un objet, on n’a qu’à glisser la souris sur le bloc qui sera notre prochain point de sauvegarde dans l’explorateur et cliquer sur le bouton « plus » qui apparaît. Ensuite on sélectionne « script », qui est une autre façon de dire « code ».