Ecriture de jeux vidéo éducatifs sous Unity3D
A l’occasion de l’université d’été de Ludovia, 14ème édition, de nombreux enseignants et autres membres de la communauté éducative vont venir présenter leur expérience avec le numérique sur le thème de l’année, « Partages, échanges & contributions avec le numérique ». Ludomag se propose de vous donner un avant-goût de ces ateliers jusqu’au début de l’évènement, mardi 22 août.
Frédéric Drouillon présentera « Ecriture de jeux vidéo éducatifs sous Unity3D » sur la session II : Ressources, jeux & contenus, sur un format Workshop.
Problématique pédagogique :
Cet atelier pourrait prolonger l’intervention que j’ai proposée sur le thème de la programmation informatique comme écriture avec l’idée d’encourager une dynamique de création de jeux vidéo éducatifs. Pour ce faire il propose une sensibilisation à la programmation de jeux vidéo afin de susciter ensuite une réflexion sur l’élaboration des jeux vidéo pour l’éducation.
Il réunit ainsi trois opérations :
– Considérer la programmation informatique comme une écriture qui peut être partagée et pratiquée par tout un chacun. Dans cette perspective l’atelier peut d’ailleurs accueillir des publics d’âges différents : jeunes à partir de la 5e, adultes, professionnels de l’éducation…
– S’initier à la programmation informatique de jeux vidéo 3D sous Unity3D.
– Réfléchir et imaginer des applications qu’il serait possible d’écrire pour soutenir en particulier les apprentissages premiers (GS) et fondamentaux (CP, CE1, CE2).
L’atelier porte le message que les applications s’écrivent et qu’il serait judicieux d’élargir l’offre des moyens informatiques ludiques d’aider les enfants dans certains apprentissages fondamentaux comme le calcul, la lecture, l’écriture, l’orthographe, la grammaire… Les programmes de GS, CP, CE1 semblent s’y prêter tout particulièrement. Il existe déjà de nombreuses propositions mais c’est un enjeu qui mérite d’être approfondi et les possibilités de création semblent inépuisables.
Sur des jeux bien pensés, les enfants s’entrainent sans éprouver d’ennui ou de découragement, ils échappent au côté inquiétant parfois menaçant et pesant du travail. D’un point de vue émotionnel c’est sans conteste efficace et ils acquièrent la compétence en pratiquant avec plaisir.
Organisation de l’atelier :
– Une dizaine de personnes (ou davantage selon le nombres des ordinateurs)
– Les participant-e-s viennent avec leurs ordinateurs portables et nous en prêtons à ceux et celles qui n’en n’ont pas (je dispose d’au moins 4 ordinateurs, peut-être 8). Les ordinateurs doivent être dotés d’un processeur Corei3 au minimum et disposer de plusieurs gigas d’espace disque. Unity3D et éventuellement Visual Studio Community 2017 doivent y être installés préalablement.
– Selon le public réuni, les deux premiers tiers du temps de l’atelier se consacreraient à la découverte de Unity, le dernier tiers consisterait à échanger et envisager des créations ludoéducatives originales et pertinentes.
Technologie utilisée :
Unity3D est un environnement de développement programmé en C++ pour la production de jeux vidéo 2D et 3D (Site Unity3D). Il permet de créer des applications pour pratiquement toutes les plateformes PC, tablettes, téléphones, et même consoles de jeux :
Il s’agit de programmation par composants. Le programmeur dispose d’une scène et de différents types de « GameObject » qui sont des formes de base préprogrammées (cubes, sphère etc.). Chaque GameObject résulte lui-même d’un assemblage de composants qui le dotent de propriétés spécifiques selon ce qui est souhaité pour son fonctionnement. Le programmeur dispose également d’une galerie d’« Assets ».
Les Assets sont des éléments plus complexes incluant graphismes, animations et codes sources opérationnels et disponibles pour l’utilisation dans un projet (Beaucoup sont gratuits accessibles sur internet et il existe un important marché des Assets).
Le programmeur commence par définir les GameObjects dont il a besoin et il les assemble sur la scène. Ensuite il programme leurs comportements, c’est-à-dire tout ce qui dans le scénario du jeu les relie entre eux et se trouve à la base du déroulement du jeu.
La programmation des comportements et des actions utilise essentiellement le langage C# (un dialecte C++ très élégant). Eventuellement on peut aussi utiliser le langage javascript. Par défaut Unity3D intègre l’environnement de développement et le compilateur libre Monodevelop. Il est également possible d’utiliser Visual Studio de Microsoft qui est extrêmement puissant et disponible gratuitement dans sa version Communauty 2015 ou 2017. Unity3D propose plusieurs licences dont une accessible gratuitement.
Relation avec le thème de l’édition :
Le programme informatique apparait comme un support de messages et c’est bien visible dans les jeux vidéo. La programmation se présente ainsi comme une écriture qui produit des récits sous forme de scénarios d’actions algorithmiques. Ces récits sont à l’origine des partages et des échanges que cette écriture permet de structurer et de formuler. Véritable moyen d’expression cette écriture permet d’exprimer des points de vue sur toutes sorte de sujets et constitue le socle fondamental de l’immensité des réalisations numériques.
Nous proposons un atelier d’écriture avec la volonté de réunir jeux vidéo et monde éducatif dans un temps de partage et d’échange autour de la réalisation d’application ludoéducatives pour les enfants. Se faisant il s’agit de solliciter et de motiver des contributions et des participations pour l’imagination de programmes en proposant une visite à la source dans l’acte même d’écriture du programme.
Synthèse et rapport d’usage :
L’idée de regrouper dans un même atelier la programmation de jeux vidéo avec une réflexion sur la création de jeux éducatifs est très expérimentale et probablement sans précédent. En revanche il existe déjà des ateliers de programmation de jeux 3D sous Unity. Avec l’université d’Arras dans le nord nous avons mis en place un atelier Unity pour des étudiant-e-s en troisième année de lettres modernes.
Dans le cadre d’un cours de littérature comparée il invitait les participant-e-s à entrer dans la création des mondes numériques. Depuis une année en Bourgogne avec les municipalités de La charité sur Loire et de Nevers, j’en anime un autre qui est hebdomadaire adressés à des collégien-ne-s et des lycéen-ne-s (une majorité de collégiens). Par ailleurs Unity3D s’intègre très bien dans des enseignements de la programmation par composants en première et seconde année de licence d’informatique.
Pour tous ces publics Unity met en valeur le rôle indispensable de l’imagination dans la programmation informatique, que celle-ci est accessible sans mathématique et qu’elle se relie à la culture. Du pont de vue technique la richesse et le nombre des possibilités offertes pour la création par cet environnement constituent finalement la difficulté majeure rencontrée par les débutants. Au départ on ne sait pas trop par où commencer ni dans quelle direction avancer et il est indispensable de trouver ou d’imaginer un cheminement afin d’élaborer une progression, exactement comme s’il s’agissait d’explorer un espace. La progression devient en général assez rapidement solidaire du désir de mettre en scène un imaginaire ou une réflexion personnalisée.
Pour les apprentissages spécifiquement liés à la maitrise du langage C# il est préférable d’être accompagné d’un bon guide sachant que l’environnement ne se prête pas forcément à un apprentissage de la programmation orientée objet (POO). En effet dans Unity3D le programmeur utilise des objets existants qu’il organise entre eux et qu’il dote de comportement mais il ne les programme pour ainsi dire jamais directement. La plupart du temps il paramètre et assemble des objets déjà programmés un peu comme des briques lego.
Retrouvez tous les articles sur Ludovia#14 et toutes les présentations d’ateliers sur notre page www.ludovia.com/tag/ludovia-2017
Qui est Frédéric Drouillon ?
(Atelier annulé)