Pygame - Le Bottin des Jeux Linux

Pygame

🗃️ Specifications

📰 Title: Pygame 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Development 🚦 Status: 04. Released (status)
🏷️ Category: Development ➤ Framework & Tool ➤ Game Framework 🌍️ Browser version:
🔖 Tags: Development; Framework; Python; Flagship; Multi-platform 📦️ Package Name: python-pygame
🐣️ Approx. start: 2016-05-01 📦️ Arch package: ✓
🐓️ Latest: 2023-06-13 📦️ RPM package: ✓
📍️ Version: Latest: 2.4.0 / Dev: 2.5.0.dev2 / e534927 📦️ Deb package: ✓
🏛️ License type: 🕊️ Libre 📦️ Flatpak package:
🏛️ License: LGPL-2.1 📦️ AppImage package:
🏝️ Perspective: Third & First person 📦️ Snap package:
👁️ Visual: 2D & 3D ⚙️ Generic binary:
⏱️ Pacing: Real Time 📄️ Source: ✓
👫️ Played: Single & Multi 📱️ PDA support: ✓
🎖️ This record: 5 stars 🕳️ Not used:
🎀️ Game design: 👫️ Contrib.: goupildb & Louis
🎰️ ID: 14247 🐛️ Created: 2014-04-05
🐜️ Updated: 2023-06-17

📖️ Summary

[en]: A libre, multi-platform framework that facilitates the development of video games using the Python programming language. It uses the Simple DirectMedia Layer (SDL) library and several other popular libraries to abstract the most common functions, making writing these programs more intuitive. Its libraries are simple, portable (multi-platform) and very fast, thanks to support for multi-core processors and performance-optimized code (using C code and assembler). [fr]: Un framework libre et multi-plateforme, facilitant le développement de jeux vidéo avec le langage de programmation Python. Elle utilise la bibliothèque Simple DirectMedia Layer (SDL) et plusieurs autres bibliothèques populaires pour abstraire les fonctions les plus courantes, ce qui rend l'écriture de ces programmes plus intuitive. Ses bibliothèques sont simples, portables (multi-plateformes) et très rapides grâce au support des processeurs multi-coeurs et à un code optimisé pour la performance (utilisant du code C et de l'assembleur).

🎥️ Videos


🦝️ From Users: Introduction to PyGame (through development of a simple game using PyGame) (201303),


🕯️ How To: (202107), (201711), [fr](202104),


🎮️ Showcase: (202301), (201912), (201005),


🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots] [Videos t(202xxx) gd(202xxx) gu(201303) r(202xxx) lp(202xxx) d(202301) d(201912) d(201005) d(201406) d(201402) ht(202107) ht(201711) ht(202204) ht(201910) ht(201010) ht(201002) ht[fr](202104) ht[fr](202105) ht[fr](202001) ht[fr](201610) ht[de](202xxx) ht[ru](202xxx) ht[pl](202xxx) ht[cz](202xxx) ht[sp](202xxx) ht[pt](202xxx) ht[it](202xxx) ht[tr](202xxx) g(202xxx)] [WIKI 1 2] [FAQ] [RSS] [Changelog 1 2 3]

💰 Commercial: (empty)

🍩️ Resources
• Links to Pygame resources (3D models, tutorials, textures, music, sound effects, fonts, ...): [Pygame (Resources)]

🛠️ Technical informations
[Open Hub] [PCGamingWiki] [MobyGames] [Wikibooks (Traduction Française du site Pygame) [fr]] [Making Games with Python & Pygame (Free book)] [PyGame Tutorials]

🦣️ Social
Devs (Pygame Team 1 2 [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
The Project: [Blog] [Chat] [Forums] [mastodon] [PeerTube] [YouTube] [PressKit] [reddit] [Discord]

🐝️ Related
[Wikipedia (Pygame) [fr] [en] [de]]


📦️ Misc. repositories
[Repology] [pkgs.org] [Generic binary] [Arch Linux / AUR] [openSUSE] [Debian/Ubuntu] [Flatpak] [AppImage(author's repo)] [Snap] [PortableLinuxGames]

🕵️ Reviews
[HowLongToBeat] [metacritic] [OpenCritic] [iGDB]

🕊️ Source of this Entry: [Site (date)]

🦣️ Social Networking Update (on mastodon)

🛠️ Title: Pygame
🦊️ What's: A libre framework for Python programming
🏡️ https://www.pygame.org/
🐣️ https://github.com/pygame/
🔖 #LinuxGameDev #Flagship #LibreFramework #Python
📦️ #Arch #RPM #Deb
📖 Our entry: https://www.lebottindesjeuxlinux.tuxfamily.org/en/online/lights-on/

🥁️ Update (dev): 2.5.0.dev2
⚗️ New features 💎
📌️ Changes: https://github.com/pygame/pygame/releases
🦣️ From: 📶️ https://github.com/pygame/pygame/releases.atom

🥁️ Update (stable): 2.4.0
⚗️ Major upgrade 🪙️
📌️ Changes: https://www.pygame.org/news/2023/5/pygame-2-4-0
🦣️ From: -

🦝️ https://www.youtube.com/embed/mTmJfWdZzbo
🕯️ https://www.youtube.com/embed/AY9MnQ4x3zk
🕯️[fr] https://www.youtube.com/embed/WxEmflz009U
🎮️ https://www.youtube.com/embed/xVHkF1-73pw
🎮️ https://www.youtube.com/embed/oej7DQQjSfY
🎮️ https://www.youtube.com/embed/pC5WGEVMUKo

🕶️ The engine logo, a python standing behind the name "pygame" and carrying a gamepad in its mouth.

Pygame is a libre, multi-platform framework that facilitates the development of video games using the Python programming language. It uses the Simple DirectMedia Layer (SDL) library and several other popular libraries to abstract the most common functions, making writing these programs more intuitive. Its libraries are simple, portable (multi-platform) and very fast, thanks to support for multi-core processors and performance-optimized code (using C code and assembler).

📕 Description [en]

📕🐧"A libre & multi-platform framework, facilitating the development of video games with the Python programming language"🐧📕.

Pygame is a free and open-source cross-platform library for the development of multimedia applications like video games using Python. It uses the Simple DirectMedia Layer library and several other popular libraries to abstract the most common functions, making writing these programs a more intuitive task.

We need your help to make pygame the best it can be! New contributors are welcome.


Pygame is a set of Python modules designed for writing games.
Pygame adds functionality on top of the excellent SDL library. This allows you to create fully featured games and multimedia programs in the python language.

Pygame is highly portable and runs on nearly every platform and operating system. Pygame itself has been downloaded millions of times, and has had millions of visits to its website.

Pygame itself has been downloaded millions of times.

Pygame is free. Released under the LGPL License, you can create open source, free, freeware, shareware, and commercial games with it. See the licence for full details.

For a nice introduction to pygame, examine the line-by-line chimp tutorial, and the introduction for python programmers. OpenGL is often broken on linux systems, and also on windows systems - which is why professional games use multiple backends.

☑ Multi core CPUs can be used easily. With dual core CPUs common, and 8 core CPUs cheaply available on desktop systems, making use of multi core CPUs allows you to do more in your game. Selected pygame functions release the dreaded python GIL, which is something you can do from C code.

☑ Uses optimized C and Assembly code for core functions. C code is often 10-20 times faster than python code, and assembly code can easily be 100x or more times faster than python code.

☑ Comes with many operating systems. Just an apt-get, emerge, pkg_add, or yast install away. No need to mess with installing it outside of your operating system's package manager. Comes with binary pos system installers (and uninstallers) for Windows or MacOSX. Pygame does not require setup tools with even ctypes to install.

☑ Truly portable. Supports Linux (pygame comes with most main stream linux distributions), Windows (95, 98, ME, 2000, XP, Vista, 64-bit Windows, etc), Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX. The code contains support for AmigaOS, Dreamcast, Atari, AIX, OSF/Tru64, RISC OS, SymbianOS and OS/2, but these are not officially supported. You can use it on hand held devices, game consoles and the One Laptop Per Child (OLPC) computer.

☑ It's Simple and easy to use. Kids and adults make shooter games with pygame. Pygame is used in the OLPC project and has been taught in essay courses to young kids and college students. It's also used by people who first programmed in z80 assembler or c64 basic.

☑ Many games have been published. Including Indie Game Festival finalists, Australian Game festival finalists, popular shareware, multimedia projects and open source games. Over 660 projects have been published on the pygame websites such as: list needed. Many more games have been released with SDL (which pygame is based on), so you can be sure much of it has been tested well by millions of users.

☑ You control your main loop. You call pygame functions, they don't call your functions. This gives you greater control when using other libraries, and for different types of programs.

☑ Does not require a GUI to use all functions. You can use pygame from a command line if you want to use it just to process images, get joystick input, or play sounds.

☑ Fast response to reported bugs. Some bugs are patched within an hour of being reported. Do a search on our mailing list for BUG... you'll see for yourself. Sometimes we suck at bug fixes, but mostly we're pretty good bug fixers. Bug reports are quite rare these days, since a lot of them have been fixed already.

☑ Small amount of code. It does not have hundreds of thousands of lines of code for things you won't use anyway. The core is kept simple, and extra things like GUI libraries, and effects are developed separately outside of pygame.

☑ Modular. You can use pieces of pygame separately. Want to use a different sound library? That's fine. Many of the core modules can be initialized and used separately.


🍥️ Debian:

SDL bindings for games development (Python 2)

A multimedia development kit for Python. Pygame provides modules for you to access the video display, play sounds, track time, read the mouse and joystick, control the CD player, render true type fonts and more. It does this using mainly the multi-platform SDL library, a lightweight wrapper to OS-specific APIs.

This is the Python 2 version of the package.


🌍️ Wikipedia:

Pygame is a cross-platform set of Python modules designed for writing video games. It includes computer graphics and sound libraries designed to be used with the Python programming language.

History

Pygame was originally written by Pete Shinners to replace PySDL after its development stalled. It has been a community project since 2000 and is released under the free software GNU Lesser General Public License (which "provides for Pygame to be distributed with open source and commercial software").

Development of Version 2

Pygame version 2 was planned as "Pygame Reloaded" in 2009, but development and maintenance of Pygame completely stopped until the end of 2016 with version 1.9.1. After the release of version 1.9.5 in March 2019, development of a new version 2 is active on the roadmap.

Pygame 2.0 released on 28 October, 2020, on Pygame's 20th birthday.

Features

Pygame uses the Simple DirectMedia Layer (SDL) library, with the intention of allowing real-time computer game development without the low-level mechanics of the C programming language and its derivatives. This is based on the assumption that the most expensive functions inside games can be abstracted from the game logic, making it possible to use a high-level programming language, such as Python, to structure the game.

Other features that SDL does have include vector math, collision detection, 2D sprite scene graph management, MIDI support, camera, pixel-array manipulation, transformations, filtering, advanced freetype font support, and drawing.

Applications using Pygame can run on Android phones and tablets with the use of Pygame Subset for Android (pgs4a). Sound, vibration, keyboard, and accelerometer are supported on Android.

Community

There is a regular competition, called PyWeek, to write games using Python (and usually but not necessarily, Pygame). The community has created many tutorials for Pygame.

📕 Description [fr]

Une bibliothèque multi-plateforme facilitant le développement de jeux vidéo temps réel avec le langage de programmation Python, par la Pygame Team.
En Python.

Pygame est un framework libre et multi-plateforme, facilitant le développement de jeux vidéo avec le langage de programmation Python. Elle utilise la bibliothèque Simple DirectMedia Layer (SDL) et plusieurs autres bibliothèques populaires pour abstraire les fonctions les plus courantes, ce qui rend l'écriture de ces programmes plus intuitive. Ses bibliothèques sont simples, portables (multi-plateformes) et très rapides grâce au support des processeurs multi-coeurs et à un code optimisé pour la performance (utilisant du code C et de l'assembleur).


Pygame est une bibliothèque multi-plateforme libre et à source ouvert pour le développement d'applications multimédias comme les jeux vidéo à l'aide de Python. Elle utilise la bibliothèque Simple DirectMedia Layer et plusieurs autres bibliothèques populaires pour abstraire les fonctions les plus courantes, ce qui rend l'écriture de ces programmes plus intuitive.

Nous avons besoin de votre aide pour que pygame soit le meilleur possible ! Les nouveaux contributeurs sont les bienvenus.


Pygame est un ensemble de modules Python conçus pour l'écriture de jeux.
Pygame ajoute des fonctionnalités en plus à l'excellente bibliothèque SDL. Cela vous permet de créer des jeux et des programmes multimédia complets en langage python.

Pygame est très portable et fonctionne sur presque toutes les plateformes et tous les systèmes d'exploitation.

Pygame lui-même a été téléchargé des millions de fois, et a reçu des millions de visites sur son site web.

Pygame est libre. Publié sous la licence LGPL, vous pouvez créer des jeux à code source ouvert, libres, freeware, shareware ou commerciaux avec lui. Voir la licence pour plus de détails.

Pour une bonne introduction à pygame, examinez le tutoriel ligne par ligne de chimp, et l'introduction pour les programmeurs python. OpenGL est souvent cassé sur les systèmes linux, et aussi sur les systèmes windows - c'est pourquoi les jeux professionnels utilisent plusieurs backends.


☑ Les processeurs multi-cœurs peuvent être utilisés facilement. Avec des processeurs double cœur communs et des processeurs à 8 cœurs disponibles à bas prix sur les systèmes de bureau, l'utilisation de processeurs multi-cœurs vous permet d'en faire plus dans votre jeu. Certaines fonctions de pygame utilisent le redoutable "python GIL", ce que vous pouvez faire à partir du code C.

☑ Utilise du code C et assembleur optimisé pour les fonctions de base. Le code C est souvent 10 à 20 fois plus rapide que le code python, et le code assembleur peut facilement être 100x ou plus rapide que le code python.

☑ Il est fourni avec de nombreux systèmes d'exploitation. Il suffit d'installer apt-get, emerge, pkg_add ou yast. Pas besoin de s'embêter à l'installer en dehors du gestionnaire de paquets de votre système d'exploitation. Fourni avec des installateurs (et des désinstallateurs) de systèmes binaires pour Windows ou MacOSX. Pygame ne nécessite pas d'outils d'installation avec même des ctypes pour l'installer.

☑ Vraiment portable. Supporte Linux (pygame est livré avec la plupart des distributions linux), Windows (95, 98, ME, 2000, XP, Vista, Windows 64-bit, etc), Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, et QNX. Le code contient le support pour AmigaOS, Dreamcast, Atari, AIX, OSF/Tru64, RISC OS, SymbianOS et OS/2, mais ceux-ci ne sont pas officiellement supportés. Vous pouvez l'utiliser sur les appareils portables, les consoles de jeux et l'ordinateur OLPC (One Laptop Per Child).

☑ Il est simple et facile à utiliser. Les enfants et les adultes réalisent des jeux de tir à l'aide de pygame. Pygame est utilisé dans le projet OLPC et a été enseigné dans des cours de rédaction à de jeunes enfants et à des étudiants. Il est également utilisé par les personnes qui ont programmé pour la première fois en assembleur z80 ou en c64 basic.

☑ De nombreux jeux ont été publiés. Parmi eux, les finalistes de l'Indie Game Festival, les finalistes de l'Australian Game Festival, les sharewares populaires, les projets multimédia et les jeux open source. Plus de 660 projets ont été publiés sur les sites web de jeux pygame tels que : liste nécessaire. De nombreux autres jeux ont été publiés avec SDL (sur lequel pygame est basé), vous pouvez donc être sûr qu'une grande partie a été bien testée par des millions d'utilisateurs.

☑ Vous contrôlez votre boucle principale. Vous appelez les fonctions pygame, elles n'appellent pas vos fonctions. Cela vous donne un plus grand contrôle lorsque vous utilisez d'autres bibliothèques, et pour différents types de programmes.

☑ Il n'est pas nécessaire d'avoir une interface graphique pour utiliser toutes les fonctions. Vous pouvez utiliser pygame à partir d'une ligne de commande si vous voulez l'utiliser uniquement pour traiter des images, obtenir des entrées par joystick ou jouer des sons.

☑ Réponse rapide aux bogues signalés. Certains bogues sont corrigés dans l'heure qui suit leur signalement. Faites une recherche sur notre liste de diffusion pour BUG... vous verrez par vous-même. Parfois nous sommes nuls pour la correction des bugs, mais la plupart du temps nous sommes plutôt bons pour la correction des bugs. Les rapports de bogues sont assez rares de nos jours, car beaucoup d'entre eux ont déjà été corrigés.

☑ Une petite quantité de code. Il n'y a pas des centaines de milliers de lignes de code pour des choses que vous n'utiliserez pas de toute façon. Le noyau reste simple, et les éléments supplémentaires comme les bibliothèques d'interface graphique et les effets sont développés séparément en dehors du jeu.

☑ Modulaire. Vous pouvez utiliser des morceaux de jeu pygame séparément. Vous voulez utiliser une bibliothèque de sons différente ? C'est très bien. De nombreux modules de base peuvent être initialisés et utilisés séparément.



🍥️ Debian:

Liaisons SDL pour le développement de jeux –⋅Python 2

Il s'agit d'un kit de développement multimédia pour Python. Pygame fournit des modules pour accéder à l'affichage graphique, jouer des sons, enregistrer le temps, interpréter la souris et la manette, contrôler le lecteur CD, afficher les fontes True Type et davantage. Il le fait en utilisant principalement la bibliothèque multiplateforme SDL, une enveloppe légère autour des API spécifiques aux systèmes d'exploitation.

Il s’agit de la version Python 2 du paquet.


🌍️ Wikipedia :

Pygame est une bibliothèque libre multi-plateforme qui facilite le développement de jeux vidéo temps réel avec le langage de programmation Python.

Description

Elle est distribuée selon les termes de la licence GNU LGPL.

Construite sur la bibliothèque SDL, elle permet de programmer la partie multimédia (graphismes, son et entrées au clavier, à la souris ou au joystick), sans se heurter aux difficultés des langages de bas niveaux comme le C et ses dérivés. Cela se fonde sur la supposition que la partie multimédia, souvent la plus contraignante à programmer dans un tel jeu, est suffisamment indépendante de la logique même du jeu pour qu'on puisse utiliser un langage de haut niveau (en l'occurrence le Python) pour la structure du jeu.

Pygame, en plus d'adapter la SDL au Python, fournit également un petit nombre de fonctions spécifiques au développement de jeux.

On peut aussi remarquer que Pygame n'est plus utilisée exclusivement pour des jeux vidéo, mais également pour des applications diverses nécessitant du graphisme.

Fin 2020, Pygame atteint sa version 2.0 après 20 ans de développement.

Exemple

(...)