


En librairie
Formation PYGAME avec Python
Python est un langage de programmation (langage de script) permettant de faire de la programmation impérative (écrire une séquence d’instructions), de la programmation fonctionnelle (résoudre des problèmes en fabriquant des fonctions) et de la programmation orientée objet (définir des objets que l’on fait interagir entre eux).
Ce langage fut inventé en 1989 par Guido van Rossum et il est publié en 1991 sous licence libre. On peut le télécharger gratuitement sur le site officiel à l’adresse web www.python.org, et l’installer sur n’importe quel ordinateur (Windows, Mac et Linux). Il est très utilisé dans le monde scientifique, les universités, les classes préparatoires et l’enseignement en général, car il possède de nombreux avantages.
Python est aussi utilisé dans le monde professionnel comme par exemple avec le site Youtube implémenté en Python. Un autre exemple est le framework Django utilisé par de nombreux professionnels pour faire du développement web en Python. Les milliers de bibliothèques accessibles gratuitement font de ce langage un outil particulièrement puissant. Nous citerons par exemple le module Pygame dédié à la création des jeux en 2D, le module Blender pour faire de la modélisation en 3D, le module PIL (Python Imaging Library) pour réaliser du traitement d’images, le module Scipy pour les sciences, le module Matplotlib pour les graphiques, le module Numpy pour le calcul, etc.
Le module Pygame est un module dédié essentiellement à la création des jeux en 2D. En discutant avec des lecteurs qui m’adressent régulièrement des messages, il apparaît effectivement que Pygame est régulièrement utilisé comme un outil pédagogique pour apprendre le langage Python. Rien de surprenant à cela : les premières applications développées sont, par nature, ludiques, ce qui induit un prisme du type "apprendre en s’amusant". Si l’on considère les concepts plus avancés de Pygame, à savoir l’usage des sprites et des groupes de sprites, dans le cadre de la gestion des collisions d’un jeu vidéo, ces aspects consistent effectivement en un excellent champ d’apprentissage de tout ce qui a trait à la programmation orientée objet (POO). Ces aspects peuvent, au premier abord, s’avérer compliqués à comprendre, mais surtout à appliquer en partant d’une feuille blanche. Or, la conception d’un jeu vidéo avec Pygame permet, dès lors que l’on utilise ses outils en matière de gestion des collisions, un apprentissage fluide et facile d’aspects relatifs à la programmation orientée objet. Ce livre répond donc au double objectif suivant :
- apporter une ressource pertinente pour la personne qui apprend Python par le biais de Pygame.
- apporter une ressource pertinente pour la personne connaissant Python qui veut spécifiquement découvrir.
Pygame a évolué depuis 2019, la bibliothèque était alors en version 1.9. Depuis, Pygame a atteint la version 2.0 franchie en décembre 2020. En décembre 2022, Pygame est en version 2.1. Actuellement, la version de Pygame est la version 2.4 (version utilisée dans ce livre). Peu de changements majeurs avec la version 2.4, mais tout de même un certain nombre de supports supplémentaires avec notamment ceux relatifs à l’affichage 2D (SDL) et 3D (OpenGl). Une fonctionnalité intéressante a également été apportée avec les boîtes de message de type MessageBox qui permet à Pygame d’initier timidement des fonctionnalités propres au développement d’interfaces utilisateur toujours dévolues aujourd’hui à des solutions comme Tkinter ou PyQt. Les traductions de la documentation en ligne se sont encore enrichies et les exemples accessibles en ligne.
Cet ouvrage reprend donc point par point les grands fondamentaux de Pygame, à savoir les aspects graphiques relatifs à du dessin, les aspects d’animation sonore, et bien évidemment la gestion des collisions avec les sprites.
Ce livre vous propose une formation pratique à la programmation des jeux 2D en Python avec l’utilisation de la bibliothèque Pygame. Il s’agit d’un cours que j’utilise généralement pour l’enseignement aux étudiants des classes préparatoires (MPSI, MP2I et PCSI), et aux étudiants de l’ENSC (École Nationale Supérieure de Cognitique) pour la partie concernant la programmation en Python.
La fiche F01 permet de voir l’installation des logiciels requis (distribution Python et le logiciel PyCharm 2022) pour le développement de jeux vidéo 2D avec Pygame sur la plateforme Windows 11.
La fiche F02 permet de voir l’installation du module open-source pour le développement de jeux en 2D avec Python, module offrant des fonctionnalités graphiques, de gestion des événements, de son et de musique, permettant aux développeurs de créer des jeux interactifs.
La fiche F03 permet de voir les concepts de base de Python (en tant que langage de programmation dynamique de haut niveau), tels que les variables, les types de données, les boucles, les conditions, les fonctions, les listes, les dictionnaires et les classes.
La fiche F04 présente les principales composantes de la bibliothèque Pygame, utilisée pour le développement de jeux en Python. Elle met en lumière les modules clés de Pygame et comment ils interagissent pour créer un environnement de jeu interactif.
La fiche F05 montre comment créer et manipuler des éléments visuels dans Pygame. Elle aborde la création d’objets graphiques, le chargement et le rendu d’images, la gestion des sprites et l’animation. De plus, il traite de la mise à jour de l’écran et de la gestion de la résolution.
La fiche F06 montre comment intégrer des effets sonores et de la musique dans vos jeux avec Pygame. Nous verrons comment charger, jouer, mettre en pause et arrêter les sons, ainsi que la gestion de la musique de fond, du volume et des effets sonores plus complexes.
La fiche F07 montre comment simuler la physique dans les jeux Pygame, notamment le mouvement, la gravité et les forces. On examine également comment détecter et gérer les collisions entre les objets, une composante essentielle dans de nombreux types de jeux.
La fiche F08 aborde la mise en pratique des concepts abordés en développant un jeu simple. Parmi le lot des jeux simples, on trouve généralement le casse-briques, le snake, le space invaders, etc. Le jeu que l’on réalise ici est une application concrète des concepts abordés, en spécifiant une architecture de code qui pourra être réutilisée facilement pour apporter de nombreuses améliorations.
La fiche F09 couvre les techniques pour améliorer les performances de vos jeux Pygame, notamment l’utilisation efficace de la mémoire et du CPU. Elle explore également des méthodes de débogage pour résoudre les problèmes et les erreurs courantes dans les jeux Pygame.
La fiche F10 est consacrée à la publication d’un jeu qui est une étape excitante dans le développement d’un jeu. En effet, c’est le moment où vous partagez votre création avec le monde. Voici quelques étapes que vous pouvez suivre pour distribuer et publier votre jeu Pygame.
La fiche F11 guide le lecteur à travers le développement de plusieurs projets concrets, leur permettant d’appliquer et de consolider leurs compétences acquises en Pygame. Les projets varient en complexité, encourageant la créativité et l’innovation tout en résolvant des défis réalistes de programmation.
La fiche F12 aborde le concept de sprites et de groupe de sprites au sein de la programmation avec Pygame. Il s’agit là de classes spécifiques propres à Pygame pour une gestion améliorée du graphisme.
La fiche F13 présente quelques modules essentiels à connaître pour le développement des jeux 2D avec Pygame.





Ressources complémentaires
Consulter le sommaire détaillé du livre => en cliquant ici
Télécharger gratuitement le code source de programmation => en cliquant ici
Disponible dans les librairies en ligne
Fiche auteur chez Amazon France => par ici
Chez Amazon France => commander ici
Fiche auteur chez Books on Demand => par ici
Chez Books On Demand => commander ici