PyMathsQuest

PyMathsQuest est un projet de jeu vidéo en 2D pixel art développé par Théo Luban et Quentin Pladeau sur l'année de terminale. Ce jeu a un but ludo-éducatif autour des mathématiques

Présentation

PyMathsQuest est un jeu vidéo PC en 2D pixel art, développé en Python avec la librairie Pygame. Avec Théo Luban, nous l'avons créé pendant notre année de terminale NSI, en autonomie complète : sans les cours, sans l'encadrement d'un professeur, uniquement sur notre temps libre (même si la participation au concours nécessitait d'être rattaché à un établissement). Le projet s'est étalé sur environ 6 mois, au lycée Georges Clémenceau, en équipe de deux.

PyMathsQuest est en réalité né de la fusion de deux projets qu'on avait réalisés séparément en première NSI : MathsQuest et Py-Maths. On a eu envie de les réunir pour aller plus loin et proposer quelque chose de plus abouti.

Le jeu et son fonctionnement

Le but de PyMathsQuest est simple : proposer un RPG like où l'on progresse en résolvant des exercices de mathématiques. On voulait que le jeu reste durable dans le temps et unique à chaque partie, c'est pourquoi tout repose sur l'aléatoire : la génération de la carte comme les exercices mathématiques sont générés aléatoirement à chaque fois. Résultat, aucune partie ne se ressemble.

Concrètement, au lancement, on choisit son niveau (Seconde ou Première), sa difficulté et sa langue, puis on démarre l'aventure. On apparaît à gauche d'une carte générée, et il faut parler aux différents personnages non-joueurs, interagir avec des éléments du décor pour récupérer des morceaux de cours, jusqu'à déclencher l'événement qui lance l'exercice. Le niveau se termine dans un volcan, où l'on affronte le 'problème final'. Une fois résolu, le jeu propose une correction pas à pas de tous les exercices rencontrés, ainsi qu'une médaille reflétant le taux de réussite. Cette partie correction a été rendue possible grâce à notre propre module, Py-Maths, dédiée à la génération d'exercices corrigés (pdf).

Côté notions abordées, le jeu couvre un vrai programme de maths : En Seconde : équations du premier degré, volumes, équation cartésienne de droite, équations à deux inconnues. En Première : suites, polynômes du second degré, dérivées.

pymathsquestNv4Image

Les rôles

On s'est réparti les rôles naturellement : j'étais principalement sur le développement, pendant que Théo s'occupait du game design et de la partie artistique (textures et pixel art). Cependant, chacun de nous a réalisé les deux parties du travail ainsi que des reviews sur le travail de l'autre.

pymathsquestNV3pymathsquestImgCorrectionExopymathsquestNV2
playerPyMathsQuest

Ce que ça m'a apporté

Ce projet m'a énormément apporté. C'était ma première vraie expérience avec les bases de la programmation orientée objet appliquées à un projet concret, et surtout la première fois que je concevais un jeu jouable de bout en bout, avec un vrai but et une idée de gameplay derrière.

J'ai aussi appris à gérer le temps sur un projet long, à utiliser Git et les outils qui vont avec, et à travailler en équipe sur la durée avec quelqu'un dont les compétences complètent les miennes.