Jump to content

Pygame

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Jwarosa (talk | contribs) at 16:25, 24 July 2023 (overhauled community section). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Original author(s)Lenard Lindstrom, René Dudfield, Pete Shinners, Nicholas Dudfield, Thomas Kluyver, and others[1]
Developer(s)Pygame Community
Initial release28 October 2000; 24 years ago (2000-10-28)[2][3]
Stable release
2.5.0 / 24 June 2023; 16 months ago (2023-06-24)[4]
Repository
Written inPython, C, Cython, and Assembly[5][6]
Operating systemCross-platform
TypeAPI
LicenseGNU Lesser General Public License
Websitewww.pygame.org Edit this on Wikidata

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.[2][7] It has been a community project since 2000[8] and is released under the free software GNU Lesser General Public License[5] (which "provides for Pygame to be distributed with open source and commercial software"[9]).

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.[10]

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

Features

Pygame uses the Simple DirectMedia Layer (SDL) library,[a] 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.[5]

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.[12]

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

Community

Following a series of disagreements and disputes between the majority of core pygame contributors and the repository owner regarding a variety of topics including frequency of new releases and usage of the pygame.org website for political messages. A fork of pygame known as pygame-ce (community edition) was created. Pygame-ce aims to be a better, more well maintained version which builds on Pygame's functionality with frequent releases, bug fixes, optimizations, new features, and a democratic governance model. The fork is maintained by The Pygame Community, an online community consisting of Pygame developers, fans and users.[15]

The Pygame Community is also known for hosting game jams specifically focusing on game development with Pygame. Usually a date and theme are voted on by community members and typically run for a weeks duration with a winner being voted on at the end.

Notable games using Pygame

See also

Notes

  1. ^ Pygame 2 and later versions are based on SDL2, while earlier releases were based on SDL1.[20]

References

  1. ^ "Contributors to Pygame". GitHub.
  2. ^ a b Shinners, Pete. "Python Pygame Introduction - History". Pygame.org. Archived from the original on 2019-09-17. Retrieved 2017-04-28.
  3. ^ "Downloads - Pygame - Python game development". Pypi.python.org.
  4. ^ https://www.pygame.org/news/2023/7/pygame-2-5-0-delicious-but-a-weird. {{cite web}}: Missing or empty |title= (help)
  5. ^ a b c "About Pygame". GitHub. Archived from the original on 18 September 2019. Retrieved 31 August 2019.
  6. ^ "GettingStarted". Pygame.org.
  7. ^ "pySDL sourceforge page". Sourceforge.net.
  8. ^ "commit by other authors". GitHub.
  9. ^ "Pygame Front Page — pygame v2.0.1.dev1 documentation". www.pygame.org. Retrieved 2021-02-26.
  10. ^ "pygame 1.9.5 released into the wilds". www.pygame.org.
  11. ^ "pygame 2.0 - the happy dance birthday release". GitHub.
  12. ^ "Pygame docs". Pygame.org.
  13. ^ "Example of using RAPT to package pygame(_sdl2) games.: renpytom/rapt-pygame-example". GitHub. 1 April 2019. Retrieved 1 April 2019.
  14. ^ "API — Pygame Subset for Android". Archived from the original on 19 October 2014. Retrieved 14 October 2014.
  15. ^ "Welcome To Pygame Community".{{cite web}}: CS1 maint: url-status (link)
  16. ^ "fretsonfire/src at master · skyostil/fretsonfire". GitHub. Retrieved 2023-06-02.
  17. ^ "Dangerous High School Girls in Trouble!". Pygame.org. Retrieved 8 July 2011.
  18. ^ "Save the Date". Paperdino.com. Retrieved 14 October 2014.
  19. ^ "Drawn Down Abyss". steampowered.com.
  20. ^ "pygame 1.9.5 released into the wilds". Pygame.org.