Conception d’un jeu sérieux de STR pour l’apprentissage de la programmation

Télécharger le fichier pdf d’un mémoire de fin d’études

Composantes d’un jeu sérieux

Les quelques jeux sérieux présentés dans la section 1.2.1 utilisent le divertissement pour atteindre différents objectifs : America’s Army est un outil de recrutement ; Tactical Language & Culture a pour but d’enseigner ; Darfur is dying tente de sensibiliser ; Moonshield est utilisé à des fins de communication. Dans tous les cas, ces jeux ont su habilement équilibrer les deux composantes : « jeu » et « sérieux ». En effet, un jeu sérieux n’est pas seulement un logiciel, un scénario et une interface graphique. Il implique une pédagogie pour atteindre son objectif. Cet ajout, sans subordonner l’histoire, rend le jeu sérieux. La dimension pédagogique est donc un point important qui doit être intégrée dès les premières phases de conception du jeu sérieux.
Dans un contexte de jeu sérieux éducatif, Johnson et al. [JVM05] détaillent l’ensemble des composantes propres aux jeux vidéo et précieuses pour maximiser l’apprentissage :
– le gameplay est l’une des principales caractéristiques d’un jeu réussi. Johnson et al. définissent le gameplay comme toutes les activités et stratégies employées par les concep-teurs de jeux pour obtenir et garder le joueur engagé et motivé durant tout le jeu. Le gameplay ne résulte pas que du graphisme. Deux aspects du gameplay sont importants : engager le joueur à chaque instant et relier chaque action aux objectifs futurs ;
– un feedback (retour d’information) doit être généré par le jeu suite aux actions du joueur pour lui permettre de chercher à améliorer ses performances. Ces retours sont très impor-tants pour les jeux sérieux, car ils indiquent au joueur s’il réussit ou non ;
– une interface simple, bien définie, qui supporte les interactions entre le joueur et le jeu (l’affordance) est gage de qualité. Par exemple, elle peut suggérer ou guider les actions de l’utilisateur. Ces ajouts d’informations ne correspondent pas à une scène réelle, mais sont nécessaires pour maintenir une interaction fluide entre le joueur et le jeu (voir figure 1.8) ;
– les difficultés à surmonter doivent être adaptées à l’expérience du joueur. S’il y a un trop grand décalage entre les capacités du joueur et la difficulté demandée, le jeu perdra de son intérêt. Il est donc souhaitable de proposer une version allégée du jeu réel où la complexité du gameplay est limitée. Ceci permet au joueur de développer ses compétences avant de rencontrer les défis du jeu complet ;
– dans les jeux sérieux modernes, l’utilisation du scénario est fondamentale pour maintenir l’intérêt du joueur et l’encourager à s’identifier au personnage ;
– enfin, un bon jeu doit être ludique. Cet aspect permet de maintenir l’intérêt et une attitude positive du joueur.

Définition générale des jeux de STR fondée sur le jeu Dune 2

Dune 2 est une adaptation en jeu vidéo du roman de Frank Herbert, Dune. Dans ce jeu, trois Maisons (les Atréides, les Harkonnens et les Ordos) s’affrontent pour le contrôle de la planète Arrakis. Le joueur incarne le rôle d’un commandant appartenant à l’une des trois Maisons. Il devra livrer bataille contre les autres Maisons à travers plusieurs missions. Son objectif consiste à développer une base militaire en vue de lever une armée pour éliminer les troupes et bases ennemies.
Pour expliciter le fonctionnement de Dune 2, une analogie avec le jeu d’échec s’avère perti-nente. En effet, les échecs font partie des jeux de stratégie, il est donc possible d’effectuer un certain nombre de comparaisons entre les échecs et les jeux de STR. Le jeu d’échec est composé d’un plateau et d’un ensemble de pièces. Le plateau est de topographie plane composé de 64 cases où chacune d’elle peut être repérée par un chiffre compris entre 1 et 8 (lignes) et une lettre comprise entre « a » et « h » (colonnes). Chaque pièce possède un certain nombre d’attributs tels que son apparence, sa position et son mode de déplacement.
De même, Dune 2 propose au joueur de réaliser les parties sur un certain nombre de cartes géographiques (équivalentes au plateau du jeu d’échec) avec un ensemble d’unités de départ (équivalentes aux pièces du jeu d’échec). Au même titre que les pièces du jeu d’échec se dépla-cent sur le plateau de jeu, les unités de Dune 2 évoluent sur une carte où les positions des unités sont repérées par des coordonnées x et y. La carte peut contenir du relief, différents types de sols ainsi que des éléments de décors tels des impacts d’obus, des bâtiments, des ressources, etc. Généralement, les ressources jouent un rôle important dans les jeux de STR, car, présentes en quantités limitées (l’épice pour Dune 2), elles sont nécessaires et convoitées par tous les joueurs. Les unités sont dotées également d’un certain nombre d’attributs tels qu’une apparence, une position, un mode de déplacement, mais aussi un capital santé, un champ de vision, un coût, une force, etc. L’ensemble de ces attributs caractérise le type d’une unité.
Chaque nouveau jeu de STR tente d’introduire des innovations afin de surprendre les joueurs. Ces innovations peuvent porter sur la qualité des graphismes, l’univers du jeu (médiéval, futur-iste, etc.), le scénario, les caractéristiques des unités, le nombre d’unités, etc.

Architectures réparties

L’architecture répartie détermine l’organisation physique des différentes machines ainsi que leur rôle. L’emplacement des données et leur gestion dépendent également de cette architecture. Les deux grands principes s’articulent autour de la présence ou non d’un serveur, il sera alors question de systèmes centralisés et de systèmes sans serveur.

Systèmes centralisés

Ils s’organisent autour de deux entités : le serveur (une machine généralement très puissante en termes de capacités d’entrée-sortie qui fournit des services) et le client (une machine où s’exécute un programme qui communique avec le serveur pour récupérer des informations). Ces systèmes peuvent être découpés en trois sous groupes : l’architecture client-serveur centralisée, l’architecture client-serveur distribuée et l’architecture client-serveur distribuée avec plusieurs serveurs :
– architecture client-serveur centralisée (voir figure 2.4) : la base de données représentant le monde virtuel est entièrement gérée par un seul serveur. Lorsqu’un client se connecte à ce serveur, il exige des ressources (mémoire, CPU (Central Processing Unit), bande passante) mais plus le nombre de clients augmente plus cette exigence sera difficile à satisfaire. Ce modèle d’architecture est évidemment peu extensible et permet de gérer au mieux une cinquantaine d’utilisateurs en même temps dans le cas de communications purement textuelles (MUD par exemple) ;
– architecture client-serveur distribuée : la base de données représentant le monde virtuel est répartie sur les différents clients. Seules les communications entre les clients sont gérées par le serveur. Cette amélioration réduit l’utilisation de la bande passante, mais le serveur reste un goulot d’étranglement ;
– architecture client-serveur distribuée avec plusieurs serveurs : Pour gérer ce problème plusieurs sont mis en place et communiquent. Ces serveurs sont organisés et peuvent gérer les clients de diverses façons : partitionnement basé sur la localisation physique ou virtuelle des clients. Concernant la localisation physique, chaque serveur doit avoir une image du monde virtuel dans son ensemble, ce qui est donc difficilement exten-sible. La localisation virtuelle est plus facilement extensible car chaque serveur ne gère qu’une partie du monde virtuel. Cependant, comme les clients sont inégalement répartis dans le monde virtuel, certains serveurs peuvent être rapidement surchargés. Il devient donc nécessaire de mettre en place une gestion des clients en vue d’équilibrer la charge des différents serveurs. Le problème de distribution de charges est résolu par des algo-rithmes statiques, dynamiques et adaptatifs où les algorithmes adaptatifs sont considérés comme une classe spéciale des algorithmes dynamiques. Les algorithmes de distribution de charges dynamiques sont encore classés en algorithmes de partage de charges et en algorithmes de mise en correspondance de charges. L’équilibrage des charges n’est pas la seule difficulté à surmonter dans ce type d’architecture. En effet, l’augmentation du nombre de serveurs rend le maintient d’une base de données cohérente plus difficile. D’autre part, les messages envoyés par les clients peuvent traverser plusieurs serveurs avant d’aboutir au destinataire ce qui a pour conséquence d’augmenter la latence 22 et donc de réduire le niveau d’interactivité. Cependant, cette architecture a pour avantage de diminuer l’impact de l’ajout de nouveaux clients. L’architecture client-serveur distribuée avec plusieurs serveurs est couramment utilisée pour supporter les MMOG (Duong et al. [DZ03] en présentent un exemple). Steinkuehler [Ste04] qualifie de MMOG tout jeu qui satisfait une accessibilité en ligne à un très grand nombre de joueurs et qui assure une persistance du jeu qu’il y ait des joueurs connectés ou pas. En raison de leur grande interactivité, la migration des clients est une tâche très lourde, car des milliers de person-nes sont gérées par le jeu.

Découpage et points communs des disciplines informatiques

Le rapport ACM/AIS/IEEE-CS [AAIC05] explicite le panorama des différentes branches de l’informatique à l’université. Ce rapport divise l’informatique en cinq disciplines majeures :
1. Computer Engineering (CE) dont l’application dominante concerne les systèmes embar-qués (développement de dispositifs tant sur le plan logiciel que matériel) ;
2. Computer Science (CS) qui fournit des bases complètes pour permettre aux diplômés de s’adapter aux nouvelles technologies et aux nouvelles idées ;
3. Information Systems (IS) pour lesquels les jeunes diplômés doivent être performants en spécification, conception, et implémentation afin de déterminer les besoins d’une organi-sation ;
4. Information Technology (IT) qui a pour objectif de comprendre les systèmes informa-tiques et leurs logiciels et s’engage à résoudre tous les problèmes en rapport avec ces systèmes ;
5. Software Engineering (SE) dont l’objectif est de former un personnel capable de gérer des projets de logiciels importants, complexes et fiables.
Ces cinq disciplines couvrent l’ensemble des thèmes et domaines d’applications liés à l’infor-matique. Bien que chacune ait un objectif de formation propre, de nombreuses connaissances et aptitudes sont transversales à l’ensemble d’entre elles.
Les programmes d’études en informatique sont des combinaisons d’un ensemble de thèmes ayant des poids différents en fonction de la spécialité enseignée. Le rapport ACM/AIS/IEEE [AAIC05, chap. 3] définit 40 thèmes et indique leur poids dans chacune des cinq disciplines informatiques. Le poids est caractérisé par deux valeurs comprises entre 0 (faible) et 5 (élevée) qui représentent l’importance d’un thème pour le domaine. Ces deux valeurs indiquent respec-tivement l’exigence minimale et maximale attendue par la discipline relativement aux autres.

Analyse de l’attractivité de la discipline informatique

L’enseignement de l’informatique est né avec le développement des ordinateurs centraux aux États-Unis et en Europe à la fin des années 40. L’avènement des microprocesseurs à la fin des années 70 a relancé la discipline mais depuis quelques années, le nombre d’étudiants in-scrit en informatique dans des pays où cet enseignement était jusqu’alors en expansion com-mence à décliner. De nombreux travaux relatent ce phénomène comme ceux de Crenshaw et al. [CCMT08] et de Kelleher [Kel06]. Le rapport de l’ACM/AIS/IEEE [AAIC05, p. 39] souligne également cette tendance : « les universités affirment que régulièrement 50% ou plus de leurs étudiants ayant initialement choisi des études en informatique décident rapidement d’abandonner ». La dernière mise à jour de ce rapport consacrée au Computer Science [AIC08] dédie un chapitre entier à ce qu’elle nomme « la crise de l’informatique » dans l’enseignement. Notre université subit le même phénomène avec une baisse de 30% d’étudiants inscrits en deux-ième année de licence informatique sur les sept dernières années (148 inscrits en 2003, 104 inscrits en 2009).
La raison de ce déclin reste encore floue, toutefois « les chercheurs en pédagogie s’accor-dent à dire que les étudiants novices en informatique trouvent souvent la discipline théorique, technique, ou ennuyeuse » Stamm [Sta07]. En effet, l’environnement informatique utilisé tous les jours par les étudiants, pour jouer ou pour dialoguer par exemple, est très différent des dis-positifs déployés dans les enseignements. Ainsi, les jeunes perçoivent l’importance de l’infor-matique dans leur quotidien et dans les activités professionnelles comme la production de musique et de film, le développement de sites Web ou de jeux vidéo, mais ont des difficultés à faire le lien avec les enseignements dispensés en informatique.
D’autre part, se former en informatique est une activité complexe, en particulier pour les novices, comme en témoigne l’apprentissage des fondamentaux de la programmation. Dans les unités d’enseignements qui composent ce domaine, les étudiants se trouvent confrontés à plusieurs obstacles épistémologiques comme la manipulation des boucles (Ginat [Gin04] et Soloway et al. [SBE83]), des conditions, ou l’assemblage de programmes à base de composants. Les structures de contrôle et les algorithmes posent souvent problème de par leur abstraction et leur nature dynamique (Seppälä et al. [SMK06]. Pour apprendre à programmer les étudiants doivent donc connaître les concepts et connaissances liées aux unités d’enseignement, mais pour les maîtriser, ils doivent pratiquer la programmation.
Pour tenter d’apporter une solution à la « la crise de l’informatique » dans l’enseignement, il convient de remotiver les étudiants à travers de nouvelles innovations pédagogiques. Ces inno-vations ne doivent pas dénaturer le contenu fondamental de la discipline ou réduire son niveau académique. En effet, les étudiants doivent acquérir les prérequis nécessaires à leur poursuite d’étude dans le cadre des enseignements intermédiaires et avancés.

Motivation et performances

Que signifie le terme « motivation » et quelle peut être son influence sur les performances des étudiants et donc sur leur apprentissage ? Viau [Via97] définit la motivation en contexte sco-laire comme suit : « . . .état dynamique qui a son origine dans les perceptions qu’un élève a de lui-même et de son environnement et qui l’incite à choisir une activité, à s’y engager et à per- sévérer dans son accomplissement afin d’atteindre un but ». Dans son modèle, la performance d’un élève à réaliser une activité correspond aux résultats observables de l’apprentissage et con-stitue une conséquence de la motivation (elle en est un indicateur). Agir sur la motivation permet indirectement de faire évoluer les performances des étudiants. Dans ce contexte, la motivation est caractérisée par des déterminants et des indicateurs.
Les déterminants de la motivation concernent :
– la perception de la valeur d’une activité, c’est un jugement que l’étudiant porte sur l’utilité d’une activité en vue d’atteindre des buts qu’il poursuit. La détermination de buts
à court, à moyen et à long terme est à la base de la perception de la valeur d’une activité (concept de perspective future). Ces buts peuvent être classés en deux grandes catégories :
1. les buts sociaux concernent la relation qu’un élève établit avec les autres élèves et avec l’enseignant ;
2. Les buts scolaires qui ont trait à l’apprentissage et à ses compétences dont les buts d’apprentissage (ceux que nous poursuivons lorsque nous accomplissons une acti-vité pour acquérir des connaissances – motivation intrinsèque) et les buts de perfor-mance (ceux que nous poursuivons lorsque nous voulons réussir une activité pour que les autres nous estiment et nous reconnaissent ou encore pour obtenir une ré-compense, des félicitations, etc. – motivation extrinsèque).
– la perception de sa compétence à accomplir une activité, c’est une perception de soi par laquelle la personne, avant d’entreprendre une activité qui comporte un degré élevé d’incertitude quant à sa réussite, évalue ses capacités à l’accomplir de manière adéquate. Selon Bandura [Ban86], cette perception provient de quatre sources :
1. les performances antérieures qui correspondent aux succès et échecs passés d’un étudiant ;
2. l’observation d’autres personnes à exécuter une activité. Observer un pair influence davantage la perception qu’un étudiant à de sa compétence que d’observer un pro-fesseur ;
3. la persuasion dont le but est de convaincre un élève de ses capacités à accomplir une activité ;
4. les réactions physiologiques et émotives sont également une source de la perception qu’un élève à de sa compétence.
– la perception de la contrôlabilité d’une activité, c’est la perception qu’un élève a du de-gré de contrôle qu’il possède sur le déroulement et les conséquences d’une activité qu’on lui propose de faire. L’impuissance apprise est probablement la forme la plus extrême de perception d’incontrôlabilité qu’un élève puisse ressentir. Weiner [Wei92] a classé les causes de la contrôlabilité selon trois dimensions :
1. le lieu de la cause permet de faire la distinction entre les causes internes à l’élève et les causes externes ;
2. la stabilité de la cause. Une cause est dite stable lorsqu’elle a un caractère permanent aux yeux de l’étudiant. A l’opposé, une cause qui, comme l’effort, est susceptible de fluctuer régulièrement est dite modifiable.
3. le contrôle de la cause. Une cause est dite contrôlable lorsqu’un élève perçoit qu’il aurait pu l’éviter s’il avait voulu ; par contre, elle est dite incontrôlable lorsqu’il perçoit qu’il n’avait aucun pouvoir sur elle.
Les indicateurs de la motivation sont caractérisés par :
– le choix d’entreprendre une activité, un élève motivé choisit d’entreprendre une activité d’apprentissage tandis qu’un élève démotivé a tendance à l’éviter ;
– la persévérance, mesurée en calculant le temps que l’élève consacre à des activités comme la prise de notes, l’accomplissement d’exercices, la compréhension de ses erreurs, l’étude de manuels, etc. ;
– l’engagement cognitif, défini comme l’utilisation par l’élève de stratégies d’apprentis-sage et de stratégies d’autorégulation lorsqu’il accomplit une activité. Les stratégies d’ap-prentissage sont principalement de trois types :
1. les stratégies de mémorisation (exemple : copier ses connaissances dans un cahier de note) ;
2. les stratégies d’organisation (exemple : faire des tableaux, des schémas) ;
3. les stratégies d’élaboration (exemple : résumer un texte, définir les concepts dans ces propres mots).
Les stratégies d’autorégulation sont des stratégies cognitives qui sont utilisées par l’élève ; en ce sens, elles ne sont pas observables. Zimmerman [Zim86] les classe en trois caté-gories :
1. les stratégies métacognitives correspondent à la conscience qu’une personne à de son fonctionnement cognitif et des stratégies qu’elle utilise pour réguler sa façon de travailler intellectuellement (planification, monitoring et autoévaluation) ;
2. les stratégies de gestion ont trait à l’organisation de l’apprentissage. L’organisa-tion du travail dans le temps, le lieu d’apprentissage, et les ressources humaines et matérielles requises caractérisent cette organisation de l’apprentissage ;
3. les stratégies motivationnelles sont utilisées pour augmenter ou conserver la moti-vation à accomplir une activité.
– la performance, correspond aux résultats observables de l’apprentissage. C’est une consé-quence de la motivation et c’est ce qui en fait un indicateur. Toutefois, ne pas oublier la relation inverse, c’est-à-dire l’influence qu’exerce la performance sur la motivation de l’étudiant. La performance n’est pas seulement une conséquence de la motivation, elle en est également une source.
Intervenir sur une seule composante motivationnelle de ce modèle peut influencer positi-vement toutes les autres et indirectement améliorer les performances des étudiants. L’innovation pédagogique s’inscrit dans cette dynamique.

Innovations pédagogiques

La recherche dans le domaine de l’enseignement de l’informatique consacre une part impor-tante de ces travaux aux problèmes du recrutement et du maintien des étudiants dans les forma-tions informatiques [FPC+04]. De nombreuses réponses sont donc proposées dans la littérature pour aider les étudiants à dépasser les difficultés présentées en introduction de cette section. Les propositions sont généralement de deux types : la première consiste à faire évoluer l’envi-ronnement de travail des étudiants, la seconde consiste à travailler les exercices proposés aux étudiants.
De nombreux environnements de programmation pour novices ont été développés. La plu-part utilisent des langages de programmation à base de blocs. Dans ce contexte chaque bloc (ou brique) représente un élément du langage comme une structure de contrôle, un opérateur, une variable, une fonction, etc. Ces dernières peuvent être combinées par « glisser-déposer » en vue de construire un programme informatique. La couleur ou la forme des briques symbolise la grammaire du langage et aident les programmeurs à les combiner de manière correcte. Cette métaphore de programmation permet donc aux étudiants de faire abstraction de la syntaxe, sou-vent source d’erreurs, pour directement s’intéresser à la résolution de problèmes.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela rapport-gratuit.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

Partie I État de l’art 
Chapitre 1 Jeux vidéo, jeux sérieux et simulateurs 
1.1 Généralités sur les jeux vidéo
1.1.1 Historique
1.1.2 Classification
1.2 Généralités sur les jeux sérieux
1.2.1 Historique et domaines d’application
1.2.2 Composantes d’un jeu sérieux
1.3 Généralités sur les simulateurs
1.3.1 Domaines d’application
1.3.2 Historique
Chapitre 2 Jeux de stratégie temps réel (STR) 
2.1 Définition générale des jeux de STR fondée sur le jeu Dune 2
2.1.1 Règles
2.1.2 Buts
2.2 Historique
2.3 Architectures réparties
2.3.1 Systèmes centralisés
2.3.2 Systèmes sans serveur
2.4 Exemples de jeux de STR à code source ouvert
2.4.1 Spring
2.4.2 ORTS
2.4.3 WarZone 2100
Chapitre 3 Formation en informatique 
3.1 Analyse du modèle anglo-saxon
3.1.1 Découpage et points communs des disciplines informatiques
3.1.2 Analyse du Computer Science
3.1.3 Comparaison avec le modèle français
3.2 Analyse de l’attractivité de la discipline informatique
3.2.1 Motivation et performances
3.2.2 Innovations pédagogiques
Conclusion de l’état de l’art
Partie II Contributions 
Chapitre 4 Conception d’un jeu sérieux de STR pour l’apprentissage de la programmation
4.1 Cadrage du jeu sérieux
4.1.1 Popularité des jeux de STR auprès des étudiants
4.1.2 Fonctionnement général du jeu sérieux
4.2 Spécification du système Prog&Play
4.2.1 Première version
4.2.2 Seconde version
4.3 Intégration de Prog&Play dans différents jeux de STR
4.3.1 Intégration à ORTS
4.3.2 Intégration à Spring
4.3.3 Intégration à WarZone 2100
4.4 Conception du jeu sérieux
4.4.1 Première version de Prog&Play avec ORTS
4.4.2 Seconde version de Prog&Play avec Spring
4.5 Portage de la partie « Client » de Prog&Play vers différents langages de programmation
4.5.1 Prog&Play en C/C++
4.5.2 Prog&Play en Java
4.5.3 Prog&Play en Compalgo
4.5.4 Prog&Play en OCaml
4.5.5 Prog&Play en Ada
4.5.6 Prog&Play en Scratch
Chapitre 5 Évaluation 
5.1 Première expérimentation
5.1.1 Contexte de l’expérimentation
5.1.2 Conception du protocole d’évaluation
5.1.3 Résultats
5.2 Deuxième expérimentation
5.2.1 Contexte de l’expérimentation
5.2.2 Intégration du jeu sérieux dans la formation
5.2.3 Résultats
5.3 Troisième expérimentation
5.3.1 Contexte de l’expérimentation
5.3.2 Intégration du jeu sérieux dans la formation
5.3.3 Conception du protocole d’évaluation
5.3.4 Résultats
5.4 Diffusion du jeu sérieux
5.4.1 Première diffusion
5.4.2 Deuxième diffusion
5.4.3 Troisième diffusion
Conclusion des contributions
Conclusions et perspectives
Partie III Annexes 
Annexe A Détail des interfaces de l’API Prog&Play en langage C 
A.1 Interface « Fournisseur »
A.1.1 Types de données
A.1.2 Entêtes des fonctions
A.2 Interface « Client »
A.2.1 Types de données
A.2.2 Entêtes des fonctions
A.3 Interface de gestion des erreurs
Annexe B Liste de constantes de Kernel Panic 3.8 en langage C 
Annexe C Solution en langage C des six premières missions de la campagne 
C.1 Mission 1
C.2 Mission 2
C.3 Mission 3
C.4 Mission 4
C.5 Mission 5
C.6 Mission 6
Annexe D Interface algorithmique pour le langage C : « PP_ALGO.h »

Télécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *