Avant de pouvoir jouer, il est nécessaire de disposer de Python3 ainsi que de posséder le module Python Pygame. Dans l’invite de commandes, écrire la commande : “pip install pygame“ (sans les guillemets).

Contexte

Au cours du premier trimestre en Terminale, notre professeur nous a parlé du concours des Trophées NSI, et nous a expliqué le principe. Mais au début, faute d’idée, personne n’a réellement commencé.

Lors d’une discussion en cours, Esteban et moi avons lancé l’idée d’un Flappy Bird en Python, que l’on appellerait ainsi “Flapython”, d’abord sur le ton de la rigolade. Ce projet, partant à la base d’une blague, a commencé petit à petit à se concevoir dans nos têtes de manière beaucoup plus sérieuse. Son développement a finalement débuté à partir de janvier 2023.

D’après Google, le concepteur de Flappy Bird aurait réalisé son jeu en 2 ou 3 jours. Dû à un manque de temps (et de talent), cela nous aura pris plusieurs mois, mais le résultat en vaut la peine !

La quantité de travail et d’efforts fournis dans ce projet, malgré la petite taille de notre équipe, est ce qui nous rend le plus fier ! L’idée derrière était de créer un jeu accessible pour tous, et une adaptation de ce célèbre jeu en Python était une évidence ! Ce projet a été réalisé en 2 mois, en parallèle des cours.

Parviendrez-vous à faire un meilleur score que vos amis ?


Organisation du travail

Le groupe, ou plutôt le duo qui constitue celui-ci, est composé de Hugo VILLER et Esteban JUNCOSA. Les tâches n’ont pas réellement été réparties, nous nous sommes chacun chargé de coder les fonctionnalités nécessaires. Il n’y a pas alors eu de planification en amont, mais voici un aperçu des tâches réalisées par chacun d’entre nous deux :

● Hugo : Réalisation et implémentation de la majorité des sprites, tuyaux, boutons, icônes, arrière-plan qui défile, sons et musiques, polices d’écriture, système d’achat, animations des éléments cliquables.

● Esteban : Base du jeu (mise en place de Pygame), score, stockage des données dans les fichiers csv, animations de l’oiseau, système d’argent, implémentation de la possibilité de mettre le jeu en pause, réalisation de la majorité de la page GitHub.

Nous avons, dès le premier jour, mis en place un Google Drive afin de nous partager le code et les divers fichiers (images, sons, csv, …) pour une meilleure organisation. Nous avons aussi communiqué par le biais de Discord, puisque c’est ici où l’on échangeait déjà de manière générale, et car cela nous permettait de faire des partages d’écrans afin d’expliquer entre nous les changements que nous voulions apporter.

L’avancée était rapide au début, mais a connu un fort ralentissement dû notamment aux épreuves du baccalauréat, mais aussi à cause des difficultés que nous heurtions (notamment des problèmes de collisions).

Les différents commentaires et la docstring ont été réalisés et modifiés à chaque fois qu’un grand changement fonctionnel était implémenté.


Images du jeu

● Menu principal (possibilité de modifier l’apparence de l’arrière-plan et de son oiseau)

Menu principal de Flapython.


● Déroulement d’une partie (possibilité de mettre en pause le jeu)

Déroulement d'une partie de Flapython.


● Écran de fin de jeu (possibilité de réessayer ou de quitter le jeu)

Écran de fin de jeu de Flapython.


De nombreuses fonctionnalités sont encore à découvrir ! Je vous invite alors à consulter la page GitHub de Flapython et à télécharger le jeu dès maintenant !


Technologies et logiciels utilisés

Gestion de projet

● Google Docs
● Google Drive
● GitHub

Développement Python

● Visual Studio Code
● Python / Pygame