ProjetM
Un jeu vidéo mathématique

Contact

Pour des remarques, questions, suggestions...:
romain{a}janviercommelemois{point}fr

Pour envoyer un fichier de log:
jeumath{a}janviercommelemois{point}fr

Mon blog:
romain.janviercommelemois.fr

Images du jeu

Présentation

Étant un prof de math passionné par les jeux vidéo, j'ai décidé de franchir le pas en développant un jeu mélangeant les deux. Je me suis surtout inspiré de Portal que je trouve extraordinaire au niveau de son design. Bien qu'étant un jeu, sa construction se rapproche de ce qu'on appelle une "séquence" en enseignement.
Si vous voulez découvrir d'autres jeux vidéo "intelligents", vous pouvez aussi aller voir du côté de World of Goo, Braid, Le Professeur Layton et l'Étrange Village ou encore le légendaire Myst.


Pour l'instant le résultat est assez modeste puisqu'il n'y a, à proprement parler, que deux types de niveaux. Ils tournent autour des nombres et des calculs. La difficulté est adaptée pour des élèves de seconde.


Ce travail a été mené dans le cadre de mon mémoire IUFM et qui est disponible ici.


Voici une vidéo faite à partir d'une ancienne version du jeu :

Colloque Cyber-Langues

Dans le cadre du colloque Cyber-Langues 2011, j'ai fait une présentation sur l'intérêt pédagogique des jeux vidéo. Mes transparents sont disponibles ici. Vous pouvez également télécharger l'enregistrement audio de la présentation ici.


Plusieurs personnes m'ont demandé comment j'avais fait mes transparents. J'ai utilisé un langage de programmation qui s'appelle LaTeX avec le package Beamer qui permet de faire des présentations. C'est un langage qui est surtout adapté pour la rédaction de documents mathématiques et il faut un certain temps pour le maîtriser. Si vous voulez en savoir plus ou si vous voulez mes fichiers sources, n'hésitez pas à les demander.


J'ai également montré une nouvelle vidéo de mon jeu. Elle est de meilleure qualité que la précédente, mais par contre elle montre comment finir les différents niveaux du jeu. Donc ne la regardez pas si vous voulez l'essayer.

Dernière version: 26 août 2011

Modification du jeu pour qu'il marche avec blender 2.49b. Je n'ai pas encore testé les lanceurs, donc le plus simple pour l'instant est surement de le lancer en utilisant blender 2.49b.

Comment télécharger et installer le jeu?

Pour Windows

Il faut télécharger cette archive qui contient tous les fichiers de base nécessaires. L'archive doit être décompressée à l'endroit de votre choix. Vous devez ensuite télécharger la dernière version du jeu qu'il faut placer dans le répertoire ProjetM créé lors de la décompression de l'archive.


Il suffit ensuite de double cliquer sur le fichier ProjetM.exe qui se trouve dans le répertoire ProjetM. Pour quitter le jeu, il faut appuyer sur Echap.


Si jamais vous avez un message d'erreur en lançant le jeu, c'est parce qu'il vous manque des librairies Microsoft que vous pouvez télécharger ici.


Pour Linux

Sous Linux, il y a plusieurs façons de faire tourner le jeu. Dans tous les cas il faut télécharger la dernière version du jeu. Il faut aussi télécharger ce fichier.

Ensuite cela dépend de la solution utilisée:

  1. En utilisant ce lanceur (uniquement pour les versoins 32 bits): Placer les trois fichiers (jeumath.blend, rsa.py et ProjetM) dans le même répertoire. Il suffit ensuite d'exécuter ProjetM pour lancer le jeu.
  2. En utilisant blenderplayer (Version 32 bits, Version 64 bits): Placer les trois fichiers (jeumath.blend, rsa.py et blenderplayer) dans le même répertoire. Dans un terminal, il suffit de taper "./blenderplayer jeumath.blend". Il est possible d'utiliser les options de blenderplayer pour passer en plein écran ou changer plusieurs paramètres.
  3. En utilisant Blender: En installant Blender (version 2.49b) sur votre distribution favorite (yum install blender sous Fedora, apt-get install blender sous Ubuntu...) il suffit de charger jeumath.blend et d'appyer sur la touche P. Par contre il faut rajouter dans le répertoire où se trouve le jeu rsa.py.


Pour Mac OS

J'ai réussi à bidouiller un exécutable pour Mac OS. Il faut télécharger cette archive. Il faut ensuite la décompresser. Il faut alors placer jeumath.blend dans le répertoire ProjetM/Contents/MacOS/. Il faut ouvrir un terminal (Finder>Applications>Utilitaires>Terminal). Il faut aller dans le répertoire ProjetM/Contents/MacOS/. Si vous avez mis ProjetM sur votre Bureau, il faut taper cd Desktop/ProjetM/Contents/MacOS/. Pour lancer le jeu, il suffit alors de taper ./blenderplayer jeumath.blend


Si vous avez des remarques ou des suggestions, vous pouvez m'écrire à romain{a}janviercommelemois{point}fr ou à jeumath{a}janviercommelemois{point}fr.

Comment jouer ?

Le jeu est construit sur le principe de la résolution de problèmes. Savoir comment jouer est un de ces problèmes. Je ne donnerai donc pas les touches à utiliser. Je peux juste dire que les habitués de FPS se sentiront à l'aise. Il vous faudra donc utiliser votre souris et votre clavier...


Pour quitter le jeu, il faut utiliser la touche Echap. Si jamais vous avez un clavier QWERTY, en faisant Ctrl+O, vous pouvez adapter le jeu à votre configuration.


Il est possible d'inverser l'axe Y avec la touche I. Essayez si le perso regarde en bas quand vous voulez voir le haut et réciproquement.

Il est aussi possible de modifier la sensibilité de la souris en allant modifier le fichier de sauvegarde généré automatiquement.

En cas de problème

Si vous obtenez un message d'erreur sous Windows en lancant le jeu, c'est probablement parce qu'il vous manque ces librairies Microsoft


Si vous avez un autre problème, envoyez moi un mail à jeumath{a}janviercommelemois{point}fr en m'indiquant quel système vous utilisez (Windows, Linux ou Mac OS) et le message d'erreur s'affichant dans la fenètre noir s'ouvrant avec le jeu (ou dans le terminal sous Linux).

Fichiers de sauvegarde et de log

Le jeu produit des fichiers avec l'extension .save (généralement dans le répertoire où dans le répertoire ~/ si vous utilisez Blender sous linux) pour chaque profil utilisé. Ces fichiers contiennent les informations sur la configuration utilisée ainsi que les meilleurs temps effectués. Normalement, ces fichiers devraient rester compatibles avec les futures versions du jeu. Par contre si vous retéléchargez l´archive ProjetM.zip, pensez bien à sauvegarder vos fichiers .save avant d'effacer l'ancienne version.


Je compte tenir un tableau des meilleurs scores sur ce site. Si vous voulez y figurer, vous pouvez envoyer vos fichiers de sauvegarde à l'addresse jeumath{a}janviercommelemois{point}fr en mettant en sujet [save].


Il y a aussi des fichiers .log qui sont créés. Ils permettent de savoir si tout s'est bien passé et me permettent d'améliorer le jeu. Vous pouvez les effacer sans aucun risque. Vous pouvez aussi me les envoyer pour m'aider à continuer à améliorer le jeu. à l'adresse jeumath{a}janviercommelemois{point}fr en mettant en sujet [log].

Ce qu'il me reste à faire pour le jeu

Je ne compte pas en rester là, voici donc une petite liste de ce que j'aimerai faire dans un futur relativement proche:

  • Menu d'option.
  • Des bruitages.
  • Un moyen de quitter le niveau sans le finir.
  • Plus de niveaux.

Changements

  • 0.1.7: 26/08/11

    • Modification du jeu pour qu'il marche avec blender 2.49b

  • 0.1.5: 20/05/09

    • Modification du fichier de sauvegarde pour pouvoir configurer la sensibilité de la souris

  • 0.1.4d: 05/05/09

    • Quelques modifications dans les scripts pour faciliter la gestion de modules python

  • 0.1.4c: 04/05/09

    • Correction d'un bug dans le système de mise-à-jour des scores.

  • 0.1.4b: 03/05/09

    • Correction d'un bug dans le niveau central qui mettait le clavier en QWERTY.

  • 0.1.4: 01/05/09

    • Ajout d'une sauvegarde des scores et des configurations.
    • Fichiers de logs avec noms incrementaux.

  • 0.1.3c: 30/03/09

    • Quelques modifications dans le système de log.

  • 0.1.3b: 24/03/09

    • Corrigé un bug dans le système de log.
    • Plusieurs petites modifications pour pouvoir commencer depuis n'importe quel niveau dans Blender.
    • J'ai enfin modifié le tube de l'Aspiro-cube pour qu'on voit les 2 cotés.

  • 0.1.3: 23/03/09

    • Ajout d'un écran de connection avec un pseudo
    • Ajout d'un niveau central
    • Ajout de tableaux de score
    • Les valeurs sur les cubes sont tirées au hasard
    • Un fichier de log est généré pendant la partie

  • 0.1.2: 22/01/09

    • Modification du niveau 3
    • Ajout d'un système d'aide
    • Ajout d'un chronomètre
    • Ajout d'un système de score avec des étoiles

  • 0.1.1: 24/12/08

    • Tous les sensors de type touch ont été changé en collision
    • J'ai enlevé quasiment tous les sensors always
    • Correction d'un bug dans le niveau 6

  • 0.1: 23/12/08

    • Première version

Logiciels utilisés pour ce projet

Tout le projet a été réalisé à l'aide d'outils gratuits. Pour le jeu, j'utilise Blender, qui en plus d'être un excellent modeleur 3D, intègre un moteur de jeu incluant un moteur physique. La programmation du jeu se fait soit avec des scripts Python (un langage de programmation très simple que je recommande aux débutants) ou de façon graphique en reliant des "boîtes".
Pour créer les images, j'utilise Gimp, un puissant outil de retouche d'images.
Puisque j'avais besoin de créer une fonte pour afficher les expressions mathématiques, j'ai modifié la font Kinnari à l'aide de FontForge.


Le tout a été fait sous Linux, et plus particulièrement une distribution Fedora.

Licence

Le jeu est protégé par la licence Paternité-Pas d'Utilisation Commerciale 2.0 France de Creative Commons. Cela veut dire qu'il peut être distribué gratuitement et sans restrictions. Il est également possible de le modifier. Par contre il faut me citer et il est absolument interdit de le vendre.

Il est possible de créer un exécutable pour le jeu à partir du fichier de jeu depuis Blender. En faisant cela, l'exécutable est alors régit par la licence GPL autorisant la revente. Voilà pourquoi j'utilise un autre fichier pour lancer le jeu. Vous pouvez produire un exécutable pour votre usage personnel, mais il est interdit de le distribuer.