HOME

TheInfoList



OR:

Pygame is a
cross-platform In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software r ...
set of
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
modules designed for writing
video game Video games, also known as computer games, are electronic games that involves interaction with a user interface or input device such as a joystick, controller, keyboard, or motion sensing device to generate visual feedback. This fee ...
s. It includes
computer graphics Computer graphics deals with generating images with the aid of computers. Today, computer graphics is a core technology in digital photography, film, video games, cell phone and computer displays, and many specialized applications. A great de ...
and sound
libraries A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vir ...
designed to be used with the Python
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
.


History

Pygame was originally written by Pete Shinners to replace PySDL after its development stalled. It has been a
community A community is a social unit (a group of living things) with commonality such as place, norms, religion, values, customs, or identity. Communities may share a sense of place situated in a given geographical area (e.g. a country, village, tow ...
project since 2000 and is released under the
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
GNU Lesser General Public License The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
(which "provides for Pygame to be distributed with
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
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 Simple DirectMedia Layer (SDL) is a cross-platform software development library designed to provide a hardware abstraction layer for computer multimedia hardware components. Software developers can use it to write high-performance computer games ...
(SDL) library, with the intention of allowing
real-time Real-time or real time describes various operations in computing or other processes that must guarantee response times within a specified time (deadline), usually a relatively short time. A real-time process is generally one that happens in defined ...
computer game Video games, also known as computer games, are electronic games that involves interaction with a user interface or input device such as a joystick, game controller, controller, computer keyboard, keyboard, or motion sensing device to gener ...
development without the low-level mechanics of the
C programming language ''The C Programming Language'' (sometimes termed ''K&R'', after its authors' initials) is a computer programming book written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the language, as well as ...
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 In computer science, a high-level programming language is a programming language with strong Abstraction (computer science), abstraction from the details of the computer. In contrast to low-level programming languages, it may use natural language ...
, such as Python, to structure the game. Other features that SDL does have include vector math,
collision detection Collision detection is the computational problem of detecting the intersection (Euclidean geometry), intersection of two or more objects. Collision detection is a classic issue of computational geometry and has applications in various computing ...
, 2D sprite
scene graph Scene (from Greek σκηνή ''skēnḗ'') may refer to: Arts, entertainment, and media Music *Scene (subculture), a youth subculture from the early 2000s characterized by a distinct music and style. Groups and performers * The Scene who recor ...
management,
MIDI MIDI (; Musical Instrument Digital Interface) is a technical standard that describes a communications protocol, digital interface, and electrical connectors that connect a wide variety of electronic musical instruments, computers, and re ...
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.


Notable games using Pygame

* ''
Frets on Fire ''Frets on Fire'' (''FoF'') is a free, open-source music video game created by Finnish independent video game developer Unreal Voodoo. Players use the keyboard to play along with markers which appear on screen, with the aim to score points, a ...
'' * ''
Dangerous High School Girls in Trouble ''Dangerous High School Girls in Trouble!'' is a casual video game by American independent developer Mousechief. After a series of beta releases and demos in 2007 and 2008, the finished title was released in mid-2008, with versions for both Win ...
'' * ''Save the Date'',
IndieCade IndieCade is an international juried festival of independent games. IndieCade is known as "the video game industry's Sundance."Fritz, Ben"IndieCade, the video game industry's Sundance" Los Angeles Times, October 1, 2009, accessed July 21, 2011 ...
2013 Finalist * ''
Drawn Down Abyss Draw, drawing, draws, or drawn may refer to: Common uses * Draw (terrain), a terrain feature formed by two parallel ridges or spurs with low ground in between them * Drawing (manufacturing), a process where metal, glass, or plastic or anything ...
''


See also

*
Cocos2d Cocos2d is a free software framework. It can be used to build games, apps and other cross platform GUI based interactive programs. Cocos2d contains many branches with the best known being Cocos2d-objc, Cocos2d-x, Cocos2d-html5 and Cocos2d-XN ...
*
Panda3D Panda3D is a game engine that includes graphics, audio, I/O, collision detection, and other abilities relevant to the creation of 3D games. Panda3D is free, open-source software under the revised BSD license. Panda3D's intended game-development ...
*
Pyglet pyglet is a library for the Python programming language that provides an object-oriented application programming interface for the creation of games and other multimedia applications. pyglet runs on Microsoft Windows, macOS, and Linux; it is relea ...


Notes


References


External links

* * [news://gmane.comp.python.pygame Pygame newsgroup
(web access)
- the "official" Pygame newsgroup, requires registration
Pygame Subset for Android
(PGS4A)
pyOpenGL
- Python OpenGL Bindings
Pygame-SDL2
- a reimplementation of Pygame APIs on top of SDL2
PySDL2
- a wrapper around the SDL2 library similar to the discontinued PySDL project {{Video game engines Application programming interfaces Free computer libraries Free software programmed in Python Graphics libraries Linux APIs MacOS APIs Python (programming language) libraries Simple DirectMedia Layer Video game development software Video game development software for Linux Windows APIs