our projects - recent releases

pygame.org welcomes all python game, art, music, sound, video and multimedia projects. If they use pygame or not. Once you finished getting started you could add a new project or collaborate with other people. Or perhaps you're interested in making pygame (the python multimedia library) itself better? First you may need to learn a thing or two about pygame by reading the docs.

Pong pong, by Louis Pecceu

pong
September 19, 2017

Pong Pong, by Kyle Kuwahara

Pong
September 19, 2017

Get best dissertation help in UK windows, by john smith

We provide best dissertation help in UK.
September 19, 2017

Font browser 1.0, by Karie Pulli

A small browser to show the fonts available in Pygame.
September 16, 2017

hi 1.0, by Sushant

mbmnbkjbkj
September 15, 2017

Gummworld2 2.0.0, by Gummbum

Gummworld2 is a pygame framework for a scrolling game, where the map is larger than the display. It emphasizes simplicity and performance.
September 15, 2017

Gummworld 2.0.0, by Gummbum

Gummworld is an 8-way scrolling game engine written in Python and PyGame.
September 15, 2017

Snake 1v1 1.1, by Nikos Tsitsopoulakis

Snake game for 2 players!
September 11, 2017

asteroid invasion 1.9, by Malcolm

a asteroid shooter
September 10, 2017

space avoiders 1.8, by Malcolm

my first try at building a pygame avoider game
September 10, 2017

Snake 1v1 1.0, by Nikos Tsitsopoulakis

Snake game for 2 players!
September 09, 2017

Invictus 1.0, by Michael Duffett

A free to play, wave survival game!
September 04, 2017

3D Test 0.0.1, by Harry Collins

You need python 3 or greater and pygame to run it
September 03, 2017

Elite Flatland 1.0, by Darron Vanaria

The classic '84 spacegame, reimagined using one less dimension (and one additional objective). Join GalCop to help stop the Thargoid Invasion!
September 02, 2017

RL Tanks 0.0.1, by Amogh Kulkarni

A simple tanks game for understanding the basics of reinforcements learning. One tank is controlled by a bot that is trained by playing against itself, another tank is controlled by a human player. (Still work in progress)
September 02, 2017

Chicken Cheep 1.0, by MaxwellSalmon

A chicken's fight for survival! You are a chicken that lives on a farm. You must eat the corn before the other chickens and the farmer have high expectations for you to lay eggs. If you don't lay enough eggs, he sure knows what he'll have for dinner...
August 30, 2017

Snake Game 1.0, by Akhilesh Jha

This is my first pygame. I made this by watching udemy's pygame video tutorial by Mr. Root.
August 30, 2017

Invictus 1.0, by Michael Duffett

A free to play, wave survival game!
August 27, 2017

Fooliery: Framework 1.0, by tom

This is version one of Fooliery Framework. Its a large group of modules that greatly helps users build there own games with pygame
August 27, 2017

asteroid invasion 1.7, by Malcolm

a asteroid shooter
August 26, 2017

tester unknown, by Sophie Taylor

tester
August 25, 2017

Buy Sacs Online 2.0, by Buy Sacs Online

Buy online the luxury in a wide range of Sacs, Beds, & Sofa for sale in Dubai. We have distribution operations in the UAE, Qatar & Bahrain, & delivery in GCC.
August 25, 2017

particles physics with mods setup 1.0, by Real name

setup for particles physics
August 24, 2017

Tiger_of_the_forest 1.0 (BETA), by kahn

A adventure style arcade games with structures and items.
August 24, 2017

Tiger of the forest 1.0 (BETA), by kahn

1
August 24, 2017

Tiger of the forest 1.0 (BETA), by kahn

ffhhvhng
August 24, 2017

Fooliery: Avenge 1.0, by tom

Your planet and all you love is gone. use the arrow keys and space bar to get your revenge!! once you buy some powerups from spacemart, filter threw your weapons with z and x !!
August 24, 2017

Fooliery: Build with tiles_v.1.0_exe 1.0, by tom

Add your images to the folder Images and click main.exe
August 24, 2017

R-Typo 1.1, by Rick

An arcade shoot-em-up based on an arcade classic.
August 23, 2017

Fooliery: Build with tiles 0.1, by tom

This app makes it so much easier to build with your own tiles. just add the png or jpg images to the folder named Images inside the directory and start the app
August 22, 2017

Dl2 1, by Igor

4/10
August 22, 2017

asteroid invasion 1.5, by Malcolm

a asteroid shooter
August 19, 2017

Space Game 0.1, by Jože Strožer

Early Release of the space game.. Doesnt have a menu and no goal just shooting enemy ships.
August 19, 2017

Im new :) 3.6.2, by David Green

so this is a thingy i did
August 18, 2017

Invictus 1.0, by Michael Duffett

A free to play, wave survival game!
August 18, 2017

Pool Game v1.0, by Max

My simple 2d pool game
August 15, 2017

news

October 2017 PyWeek challenge reminder


The PyWeek #24 game programming challenge will begin in a little over a month.
A friendly reminder: If you intend to reuse any code from a personal codebase, this code must be released to the public by 15 September 2017. (See section 2 of the PyWeek Rules.)
September 13, 2017

pyglet 1.3.0rc1 and cocos2d 0.6.5 released

  1. pyglet 1.3.0rc1 has been released. The entire pyglet codebase is now compatible with both Python 2 and Python 3 without the need for 2to3.
  2. cocos2d 0.6.5, an update that adds compatibility with pyglet 1.3, has been released.
August 31, 2017

October 2017 PyWeek challenge


PyWeek #24 has been announced. The PyWeek challenge:
  1. Invites entrants to write a game in one week from scratch, either as an individual or in a team,
  2. Is intended to be challenging and fun,
  3. Will hopefully increase the public body of game tools, code and expertise,
  4. Will let a lot of people actually finish a game, and
  5. May inspire new projects (with ready-made teams!)
Timetable
Friday, 15 September 2017Pre-registration open
Sunday, 8 October 2017Theme voting commences
Sunday, 15 October 2017 at 00:00 UTCChallenge start
Sunday, 22 October 2017 at 00:00 UTCChallenge end, judging begins
Sunday, 5 November 2017Judging closes, winners announced

More info: Rules | Resources | Help
July 19, 2017

pyglet 1.3.0b1 released


pyglet 1.3.0b1 has been released. pyglet is a cross-platform windowing and multimedia library for Python. Links:
May 07, 2017

February 2017 PyWeek challenge

PyWeek #23 has been announced. The PyWeek challenge:
  1. Invites entrants to write a game in one week from scratch, either as an individual or in a team,
  2. Is intended to be challenging and fun,
  3. Will hopefully increase the public body of game tools, code and expertise,
  4. Will let a lot of people actually finish a game, and
  5. May inspire new projects (with ready-made teams!)
Timetable
Friday, 20 January 2017Pre-registration open
Sunday, 12 February 2017Theme voting commences
Sunday, 19 February 2017 at 00:00 UTCChallenge start
Sunday, 26 February 2017 at 00:00 UTCChallenge end, judging begins
Sunday, 12 March 2017Judging closes, winners announced

More info: Rules | Resources | Help
January 30, 2017

pygame 1.9.3 released


Announcement: Pygame 1.9.3 released
Downloads: PyPI
January 16, 2017

pygame 1.9.2 released


Announcement: Pygame 1.9.2 released
Downloads: Bitbucket or PyPI
December 15, 2016

PySDL2 0.9.5 released

PySDL2 is a slim wrapper around the SDL2 libraries and can be used without further ado using Python and a binary distribution of the SDL2 libraries.

Version 0.9.5 is a minor feature release, bringing PySDL2 on par with the 2.0.5 release of the SDL2 libraries. On top, it comes with the following noteworthy changes:

  • Fixed issue #94: added support for TrueType font collection (TTC) files
  • Fixed issue #80: added flip and rotation support for TextureSprite objects

You can download it from http://bitbucket.org/marcusva/py-sdl2/downloads/ or http://pypi.python.org. The documentation, listing all of its features, can be browsed online at http://pysdl2.readthedocs.org.

October 20, 2016

cocos2d 0.6.4 released


The cocos2d Team has released cocos2d 0.6.4, a 2D framework for games and multimedia that uses Python, pyglet and six.
http://python.cocos2d.org/
June 13, 2016

pygame sprint at EuroPython

There's a sprint happening at EuroPython, where work will be done on pygame. Details here:
July 13, 2016

tweets

reddit

videos

About

Hello internet traveller,

More silly nonsense about Pygame

  • Silliness built in. Pygame is meant to make software things fun. New silliness is added every 3.1415 seconds.

  • Does not require OpenGL. With many people having broken OpenGL setups, requiring OpenGL exclusively will cut into your user base significantly. Pygame uses either opengl, directx, windib, X11, linux frame buffer, and many other different backends... including an ASCII art backend! 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 systems package manager. Comes with binary installers (and uninstallers) for Windows or MacOS X.

  • Truly portable. Supports Linux (pygame comes with most mainstream linux distributions), Windows (95,98,me,2000,XP,vista, 64bit 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 from nokia, game consoles like gp2x, the One Laptop Per Child (OLPC), and the Orange Pi.

  • It's Simple and easy to use. Kids and adults make games with pygame. Before the Raspberry Pi, the microbit, or the OLPC, Pygame has been taught in courses to young kids, and college students. It's also used by people who first programmed in z80 assembler, or c64 basic, and for Indie game productions.

  • Does not require a GUI to use all functions. You can use pygame without a monitor - like if you want to use it just to process images, get joystick input, or play sounds.

  • 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.

  • It's not the best game library. It's not even the second best. But we think it's sort of ok.

tutorials

The PYGAME Documentation page has a number of tutorials. A Newbie Guide to pygame is very good.

These are some recent tutorials on various pygame topics:

On-line books using Python and Pygame

CookBook

def show_cook_book_love(screen):
    txt = "I love the CookBook!"
    f = SysFont("Arial", 12)
    s = f.render(txt, 1, (0,0,0))
    screen.blit(s, (0,0))

Posting A Recipe:

  • Please start a new page for each recipe.
  • Use the <pre><code>YOUR CODE</code></pre> tags to put in code.(View source of some other pages to see how it is done.)
  • Except where otherwise noted, recipes posted in the pygame cookbook are in public domain.
  • Tabs are lost when posting, so convert tabs to spaces first if you use them.

Generic recipes

Profiling
RunningInCorrectDirectory
LinearInterpolator
SmoothInterpolator
BoundingBox
2DVectorClass
3DVectorClass
CommandDispatch (A pattern for building GUIs)
2DGeometryEngine
QuadTree
MemoizingDecorator (Another lazy resource loader)
SignalSlot (A signal/slot implementation)
Interpolator (An improved interpolator)
BezierCurve
RGBColorConversion
CalculateDist
SpatialHashMap
ConstantGameSpeed

PyGame recipes

LazyImageLoading
SimpleFontManager
TTFToBitmapConverter
toggle_fullscreen
Joystick_analyzer
ImagePacker
SmallerRectForSpriteCollision
GradientCode
ConchMusicSoundToolkit
FastPixelPerfect
SettingWindowPosition
DummyVideoDriver
WindowResizing
TextWrapping
CairoPygame
Load_32-bit_BMP_with_Alpha
HeadlessNoWindowsNeeded (Use pygame without using creating a window)
SubtractRects
ShadowEffects (Using arrays)
MatplotlibPygame
IntersectingLineDetection
MmapSurfaces
WxPython
Pygame2exe
InputWrapper
RotateCenter
MidiScheduler
SpatialHash_for_Pygame
Spritesheet

PyOpenGL recipes

SimpleOpenGL2dClasses
OBJFileLoader
GLLight
GLSLExample
GLSL_ARB_Example
TextureCoordinateArithmetic
MakeOpenglDrawIn2D
CrossPlatformTextOpengl

Resources

Cookbook Code

3D Models

Tutorials

Textures

Music

Royalty Free Music

Sound Effects

Royalty-Free Sound Effects

Fonts

Stock Photos

Clip Art

Free Game Engines

Pixel Art

Other Resource lists

Help (irc, lists)

If you need any sort of help,or just want to shoot the breeze, you can most anytime find people in the pygame IRC channel. irc.freenode.net 6667 #pygame

Mailing List

Pygame maintains an active mailing list. You can email the list at [email protected]

If you do not have a mail client configured on your computer you can subscribe to the mailing list by sending a plain-text e-mail to [email protected] Leave the subject field blank and in the body put only "subscribe pygame-users" (without the quotes).

You will receive an authentication response. Follow the directions in that e-mail to complete the subscription process.

Forums and Newsgroups

GMane, and google groups offer web based, and newsgroup access to the pygame mailing list. So you can talk with a forum-like interface to the pygame mailing list.

If you prefer newsgroups, GMane is running a newsgroup gateway at gmane.comp.python.pygame.

If you have a google account, and like google groups, there is a mailing list mirror at google groups mirror. To post, you must subscribe to the real mailing list first. It started mirroring the mailing list in 2008/04/28.

For a forum-like interface, you can use Nabble which started mirroring on 2012/05/21.

Mailing list archives are hosted by Gmane and Seul.org.

questions and answers

Hacking

Notes for hacking, developing, and modifying pygame.

Building pygame

See the wiki page: Compilation to figure out how to compile pygame on different platforms.

Keeping up with developments.

Try and discuss changes on the mailing list. Especially if you plan to do a big change, it might be a good idea to coordinate with people. See info, for details on joining the mailing list.

Most developers are not on irc all of the time - and some never.  So if you need a more realtime chat try and organise a time on the mailing list.  Email lets people communicate in their own time zones.

Commit logs are important to keep them short, and also to summarize the changes you have made.

Buildbots, pygame compiled on every change

There is a pygame github page. Development now happens on github.

The set up more buildbots issue tracked developments in the buildbots.

Linux manylinux builds

Manylinux builds are binary files for pip which should work on many versions of linux. See in the pygame repo manylinux-build/README.rst

Generating docs

python makeref.py

The makeref.py program runs Sphinx to generate HTML docs and src/docs/{module}_doc.h C headers from reStructuredText source.

The reStructuredText .rst files are stored in the reST/source and reST/source/ref directories.

An online reStructuredText primer can be found at the Python site.

Sphinx specific markup is described in theSphinx Documentation.

The Python Sphinx package itself depends on Docutils, Jinja2, and Pygments.

For Python 2.x, installing Sphinx will also grab and install its dependencies.

Sphinx can be downloaded from PyPi or using easy-install.

For Python 3.x only the latest repository versions work.

Be sure to install Sphinx last so it does not grab the wrong dependency versions:

pip install sphinx

Running tests

To run the tests from the test sub-directory in the pygame distribution:

python run_tests.py

To run the tests from the pygame.tests module:

python -m pygame.tests

In either case the --help command line option will give usage instructions.

Code style

Try and follow the code style of the particular file you are editing.

Use 4 spaces instead of tabs, and Pep-8 generally.  Make sure your editor doesn't insert tabs.

Try to keep things under 80 characters wide.

Try not to mix in white space commits with other code commits.  This makes reading diffs easier if you separate the whitespace updates from the actual changes.

Writing tests.

Tests are in the test/ directory.

Please see test/README.txt (in the pygame repo) for more of a description on the tests, and the testing framework.

A naming convention is used for all tests. So from the name of a module, class, method, or function, you can find the tests for it.

Each module has a test file.  eg. for pygame.surface there is test/surface_test.py

In that file there are methods for each of the classes, functions and methods. So Surface.blit has a 'test_blit' method.  There can be multiple test methods for each method. eg. 'test_blit_keyword_args' in surface_test.py one of a few tests Surface.blit.  Add extra words at the end of the method name to make multiple tests for the same method.

Methods named with todo at the front "todo_blit" are methods that need to be written. Or finished. By default all of the todo tests are skipped by the test runner.  You can however, make the todo_ tests fail - to see how many more tests need to be finished.

Tests can use tags in order to organise them. There are optionally [modulename]_tags.py files for each module. A test/surface_tags.py file is used to specify tags for the pygame.surface module. You can use tags to skip tests on different platforms, or to choose different tests to exclude or run.

There are some test related tools + code in test/util/ .

To see if anything in a module is not documented... you can use: python compare_docs.py pygame.sprite sprite.doc

To generate some test stubs for your unittests from an existing file... you can do: python gen_stubs.py midi

Submitting changes to github

See http://www.contribution-guide.org/. If you are a member of the pygame repo on github you can start a new branch like this:
git clone git@github.com:pygame/pygame.git
cd pygame
git checkout -b my-fixes-branch
# Edit your changes here.
git commit .
git push --set-upstream origin my-fixes-branch
Then go to the web https://github.com/pygame/pygame to create a pull request. Add a couple of reviewers who you think might want to review the code. If you are not part of the github pygame organization, then fork pygame with github, and then when you're ready, send us a pull request.

issues

A heading



the content

downloads

download.shtml

developers

A heading



the content

project comments

meetups

awesome sauce

spotlighted projects

Albow 2.2, by Gregory Ewing

A Little Bit of Widgetry for PyGame
January 29, 2014

glLib Reloaded 0.5.9, by Ian Mallett

OpenGL Library + Shader OpenGL Library + TONS MORE STUFF!
January 26, 2014

Program Arcade Games With Python and Pygame 1, by Paul Vincent Craven

Learn to program using Python and Pygame!
July 19, 2013

Mastermind Networking Lib 4.1.3, by Ian Mallett

A networking lib designed to be simple to use.
June 29, 2013

QANAT 0.7, by Paul Paterson

A shoot-em-up inspired by the classic Galaxians game. Repel waves of invaders using your gun turret. Manage the temperature of the turret to avoid overheating.
April 19, 2013

SGC 0.2.1, by Sam Bull

A GUI toolkit for Pygame, to ease game development for Pygame developers. Works with no code change with a normal Pygame display or with an OpenGL display. This is a lightweight toolkit, with focus on the attention to detail. It is also customisable, allowing developers to theme the widgets to match their game.
March 25, 2013

SubTerrex 0.3.1, by Paul Paterson

Explore deep subterranean caves using only your trusty ropes and flares.
September 02, 2012

Making Games with Python & Pygame 1, by Al Sweigart

A free book covering the Pygame library for beginner and intermediate Python programmers. Includes the source for 11 game clones including Tetris, Bejewled, Othello, Connect Four, and others.
July 03, 2012

Life as a Bit DLX-v1.01, by Sean J McKiernan

A full-featured cellular automata simulator. The focus is on "Conway's Game of Life." With the 'Rule Panel' you can also explore other rule combinations.
December 26, 2011

Toonloop 1.1.3, by Alexandre Quessy

Toonloop is a live stop motion animation software.
December 31, 2009

Arcade Tonk Tanks 0.0.6, by Koen Lefever

Just use the cursor keys and the space bar to shoot the other tanks.
December 28, 2009

Foodforce2 1.0, by Deepank Gupta

Food Force 2, based on Food Force, is being developed as free software. It is cross-platform as it is written in the Python programming language, and runs on platforms including the One Laptop Per Child XO and the Sugar desktop environment. Food Force 2 is currently in beta, and available for download on Linux and Windows platforms.
December 06, 2009

PixelPaint F-b, by Pie

A simple paint program.
October 06, 2009

PaintBrush 1.1, by John Eriksson

A public domain class that can be used in drawing applications or games. Two demos included.
September 16, 2009

Ardentryst 1.71-testing, by Jordan Trudgett

Ardentryst is a free, open-source, cross-platform action/RPG sidescrolling game that is fun for all ages. Follow hero Pyralis, a warrior with fire magic, and heroine Nyx, an ice mage, on a quest through a castle, forests and snowy mountains to reclaim peace in the realm of Ardentryst.
August 12, 2009

Plague 3.38, by benedict carter

Plague is a real-time top down â??rogue-likeâ? arena shooter pitting humans against the zombie horde, inspired by the games Syndicate, XCOM and Gauntlet. Currently under development, Plague already features procedural level generation, cellular automata modeling for physical effects, a 2D physics engine, AI and line of sight vision for every â??sentientâ? game entity, multiple weapons and a whole heap more, all running in real-time.
August 12, 2009

555-BOOM! 0.6.1, by Gregory Ewing

Puzzle game and electromechanical sandbox. Based on my PyWeek 5 competition entry.
February 02, 2009

Disk Field 1.01, by Jeremy

Navigate the disk to the end point.
September 25, 2007

Woody Tigerbaum's Interplanetary Package Delivery 0.92, by Dave LeCompte

Deliver packages in space with the power of interplanetary slingshots.
July 10, 2007

Trip on the Funny Boat 1.5, by Pekka Kujansuu

A side scrolling shooter game starring a steamboat on the sea.
April 23, 2007

Barbie Seahorse Adventures 1.0, by Phil Hassey

Barbie the Seahorse wants to go to the moon! Let the good times roll with this swell side-scroller. Won teams category in pyweek #4!
April 22, 2007

Bouncy the Hungry Rabbit post-r4, by Richard Jones

You play Bouncy the Hungry Rabbit. You're in a garden with yummy veggies and a farmer who's not keen on you eating them. You can hide (and move around) under the ground.
October 05, 2006

Typus Pocus Pyweek3, by Team PyAr

A typing game, with a twist.
October 02, 2006

Colonel Wiljafjord and the Tarbukas Tyranny contest, by Phil Hassey

An adventure game tribute to some of the old LucasArts and Sierra classics -- Monkey Island and Space Quest. Made for pyweek #3.
September 25, 2006

Nelly's Rooftop Garden 1.0, by Alex Holkner

A physics-based puzzle game written for PyWeek 2.
April 22, 2006

20,000 Light Years Into Space 1.2, by Jack Whitham

"20,000 Light Years Into Space" is a single-player real-time strategy game with a "Steampunk" sci-fi theme.
April 17, 2006

GalaxyMage 0.3.0, by Colin McMillen

GalaxyMage is a free, open-source tactical/strategic RPG for Windows, Linux, and Macintosh.
March 26, 2006

Angry, Drunken Dwarves 1.0.1, by Joe Wreschnig

In Angry, Drunken Dwarves, you are an angry, drunken dwarf. Why are you so angry? Who knows. But you've decided to take your aggression out on other dwarves, by dropping gems on their heads. Lots of gems.
January 12, 2006

The Witch's Yarn 1.3, by Keith Nemitz

Graphical Interactive Fiction Stage director metaphor UI. Sit-com inspired interactive comic book as theater.
September 16, 2005

Dynamite 1.1, by Phil Hassey

The evil potentate is ruining everyone's lives! Use the power of dynamite to destroy his strongholds.
September 15, 2005

Quido: Failed Experiment 1.1, by Simon Wittber

This was TeamXerian's entry in pyweek 2005.
September 09, 2005

Pylonoid 1.2, by Sami Hangaslammi

Puzzle game where you direct a stream of electricity with different kinds of power pylons.
September 06, 2005

OUTERSPACE .5.13, by Administrator

A massive multiplayer online strategy game. The game itself supports internal message boards, self updating clients, and it doesn't stop there. An amazing accomplishment.
December 05, 2002