our projects - recent releases

Snot II: The Rubberland [Android] 1.5.9, by Andrey Zamaraev

Android port of my old hardcore puzzle platformer, written in Python/PyGame/PGS4A. Now with 15 levels and a lot of new cool stuff. Really playable. Really hard. Really free.
May 28, 2015

spritesheetlib 0.9.0.0, by DR0ID

A python lib to load sprites from a spritesheet using a sprite sheet definition file in json format. It includes also a generator for sprite definition files.
May 23, 2015

Snot II: The Rubberland [Android] 1.5.6, by Andrey Zamaraev

Android port of my old hardcore puzzle platformer, written in Python/PyGame/PGS4A. Now with 15 levels and a lot of new cool stuff. Really playable. Really hard. Really free.
May 22, 2015

VillagerSim 1.2.0, by Nick Jarvis and Nick Wayne

A simulation of a small civilization
May 18, 2015

Project Interstellar 0.3.2.7 fix, by NCO

This is the pre-alpha version of a project of mine. Currently developed in my free time. Helpers are always welcome (and credited)
May 07, 2015

A* pathfinding 1.0, by Alex Ter-Sarkisov

A straightforward implementation of a static A* pathfinding algorithm.
May 07, 2015

gsdl2 - Gumm's SDL2 0.0.0, by Gummbum

Gumm's SDL2, a purely Pythonic pygame-like that targets pypy and SDL2
May 06, 2015

Steamer Duck 1.0, by Miloslav Èíž

Platformer game where you play as a duck.
May 03, 2015

Juggleball Free and open source, by jellyberg

A minimalist game about trying and failing to juggle with your keyboard. Download for Windows for free.
May 02, 2015

London's Burning! Free and open source, by jellyberg

A game about defending WW2 London from the blitz! Download for Windows for free
May 02, 2015

MCF 3.3, by Maxime

A fork of the Game and Watch Mario Cement Factory
May 01, 2015

Pygame SGE 0.18.1, by Julian Marchant

An easy to use, universal 2-D game engine.
April 30, 2015

SLC Shmup' 1.1.1, by Nick Jarvis and Nick Wayne

A basic shoot em' up created in about 2 frantic weeks between school and track practice.
April 27, 2015

Glittering Light 2015-04-25, by Felix

Glittering Light is a casual turn-based maze game. The goal is to get as far as possible, collecting glitter for score along the way, and avoiding the nightmares.
April 26, 2015

MCF 3.2, by Maxime

A fork of the Game and Watch Mario Cement Factory
April 25, 2015

Nemoe v0.1.0, by Alkamorph

Not Exactly Much of an Engine pygame game development library.
April 25, 2015

SLC Shmup' 1.1.0, by Nick Jarvis and Nick Wayne

A basic shoot em' up created in about 2 frantic weeks between school and track practice.
April 22, 2015

Project Interstellar 0.3.2.7, by NCO

This is the pre-alpha version of a project of mine. Currently developed in my free time. Helpers are always welcome (and credited)
April 17, 2015

Interphase 0.87, by jggatc

Pygame GUI Interface
April 13, 2015

Pyjsdl 0.21, by jggatc

Python-to-JavaScript Multimedia Framework
April 13, 2015

PyJ2D 0.27, by jggatc

Python-to-Java Multimedia Framework
April 13, 2015

Tomb of the Snake 2014-09-11, by Felix

Tomb of the Snake is a coffeebreak roguelike for the Linux console.
April 12, 2015

Tygamusic 0.9, by NCO

This is a lib for easy management of background music for for example games.
April 09, 2015

Tygamusic 0.8, by NCO

This is a lib for easy management of background music for for example games.
April 07, 2015

Dark Gates 1.1, by Bartosz Debski

RPG game inspired by "Death Maze/ Labirynt Smierci"
April 03, 2015

PC-BASIC 15.03, by Rob Hagemans

A free, cross-platform emulator for GW-BASIC, BASICA, PCjr Cartridge Basic and Tandy 1000 GW-BASIC.
April 02, 2015

Pacewar 1.6, by Julian Marchant

A fighting game with lots of ships.
March 28, 2015

Pygame SGE 0.17, by Julian Marchant

An easy to use, universal 2-D game engine.
March 28, 2015

pybreak360 1.0.7rc1, by gino ingras

every one know this game, but this one is a 360° version, in which you can play up to 4 players in local network.
March 27, 2015

PY ROLLERS CASINO<br />A collaborative Pygame project YOU can contribute to Playtesters needed!, by jellyberg

Py Rollers Casino is a group Pygame project focused on creating a collection of casino mini-games. Find out how you can help, see the progress so far and give your ideas here: WIKI DISCUSSION SUBREDDIT GITHUB REPO
March 25, 2015

Gummworld2 1.0.0, by Gummbum

Gummworld2 is a light pygame framework for a scrolling game, where the map is larger than the display. It emphasizes simplicity, freedom, and performance.
March 25, 2015

Project Interstellar 0.3.2.6, by NCO

This is the pre-alpha version of a project of mine. Currently developed in my free time. Helpers are always welcome (and credited)
March 24, 2015

Head Soccer Network 0.6, by newtonis penguin

A version of the classic head sports soccer that allow players to play in a local or internet network. Uses pygame,box2d *plus* a modified version of podsixnet to handle UDP network. Currently only support friendly matches and 4 different head players
March 20, 2015

Easy scales and chords 1.0, by Diliup G

An absolutely easy way to find notes in chords. Good for musicians who haven't studied music.
March 20, 2015

Argh-steroids 1.0, by John Cupitt

Asteroids-like arcade game, with a twist.
March 18, 2015

SLC Shmup' 1.0.0, by Nick Jarvis and Nick Wayne

A basic shoot em' up created in about 2 frantic weeks between school and track practice.
March 17, 2015

news

pyglet 1.2.3a2

Rob van der Most has made pyglet 1.2.3a2 available on PyPI. pyglet is a cross-platform windowing and multimedia library for Python. Links:

May 12, 2015

PyPy 2.5 released

PyPy logo

PyPy 2.5 has been released. PyPy is an implementation of a large subset of the Python (2.7) language. PyPy features a just-in-time compiler that compiles Python code into machine code at run time to increase the execution speed of Python scripts compared to CPython (in most cases).

Related projects:

February 05, 2015

Blender 2.73a released

The Blender Foundation has released Blender 2.73a, an open-source 3D modeling tool with a Python-scriptable game engine.

February 05, 2015

October 2014 PyWeek challenge results

The results of the October 2014 PyWeek challenge have been tallied. Congratulations to the winners and all participants who completed their projects!

  • Individual category winner: Legend of Goblit by Daniel Pope (mauve)
  • Team category winner: The Forgotten Angel by Universe Factory 19, which is Christopher Night (Cosmologicon) and marybee
October 30, 2014

Announcing SplatGL

Michael Long has released the code for his Splat Graphics Library. SplatGL is based on SDL 2.0 and OpenGL 2.0. It aims to provide an efficient way to draw 2D sprites with basic effects such as rotation and scaling.

SplatGL is written in C and also provides Python bindings, which rely on Marcus von Appen's PySDL2 bindings. It is equally usable in both CPython and PyPy.

SplatGL is still under development, and its API is still evolving. It is already usable for the basic needs of sprite- and tile-based games.

October 30, 2014

Blender 2.72b released

The Blender Foundation has released Blender 2.72b, an open-source 3D modeling tool with a Python-scriptable game engine.

October 22, 2014

Soya3D 3-0.1 released

Soya 3D is a high-level 3D engine for Python designed with games in mind. New features:

  • Support for Python 3.4 and Blender 2.70
  • Vertex shaders and pixel shaders
  • Improved performance: the rendering process has been entirely rewritten, using vertex buffer object (VBO)
  • Fullscreen antialiasing
  • Per-pixel lighting and cellshading
  • GPL v3 license

More information: http://www.lesfleursdunormal.fr/static/informatique/soya3d/index_en.html

October 10, 2014

Blender 2.72 released

The Blender Foundation has released Blender 2.72, an open-source 3D modeling tool with a Python-scriptable game engine.

October 07, 2014

pysdl2-cffi 0.7.0 released

Change log:

  • Struct wrappers now expose all the attributes of the C-level struct as properties. Great for tinkering, as the property names can now be inspected interactively.
  • Struct wrappers no longer pass all attribute access through getattr/setattr. Arbitrary data can be attached to the struct wrappers as is customary in Python.
  • Fix a capitalization error for the "classy" API to conform to the general binding rules. ob.gL_Function is now ob.GL_Function.

Install with pip, or download from https://pypi.python.org/pypi/pysdl2-cffi

Source hosted at https://bitbucket.org/dholth/pysdl2-cffi

Documentation hosted at https://pythonhosted.org/pysdl2-cffi

Note: This project is separate from PySDL2.

October 02, 2014

pysdl2-cffi 0.6.0 released

pysdl2-cffi is a Python wrapper for SDL2 written using cffi, featuring:

  • A cffi + dlopen interface to the underlying SDL2 libraries.
  • Automatically generated, consistent helper functions for SDL2, SDL_image, SDL_mixer, and SDL_ttf that hide most allocation and dereferencing.
  • Useful docstrings on every function, including the C function signature and (for SDL2 only) the library's original doxygen documentation reformatted as Sphinx restructured text.
  • A small collection of libSDL2's original example / test programs converted to Python using Eric S. Raymond's ctopy.

The goal is to provide a flat, consistent, faithful-to-C binding with some more-Pythonic renaming and conveniences.

This wrapper won't contain anything that doesn't directly translate to part of the library's API. The goal is to be a dependency for something like pygame, not a replacement.

This library is licensed under the GPLv2 or (at your option) any later version.

Install with pip, or download from https://pypi.python.org/pypi/pysdl2-cffi

Source hosted at https://bitbucket.org/dholth/pysdl2-cffi

Documentation hosted at https://pythonhosted.org/pysdl2-cffi

300fps TMX renderer for PyTMX at https://bitbucket.org/dholth/pysdl2-cffi-examples

Note: This project is separate from PySDL2.

September 20, 2014

tweets

reddit

videos

About

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 is free. Released under the GPL 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 or Chapters 17 to 20 of "Invent Your Own Computer Games with Python".

More information:

Facts 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. Pygame does not require setuptools, or ctypes to install.

  • 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, and the One Laptop Per Child (OLPC).

  • It's Simple and easy to use. Kids and adults make games with pygame.ll your functions. This gives you greater control when using other libraries harga samsung galaxy s6, and for different types of programs.

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

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

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)
android tablet
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 pygame-users@seul.org

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 majordomo@seul.org. 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.

issues

A heading



the content

downloads

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

PyTuner: A Guitar Tuner In Pygame 1.2, by Joshua Smith

A Guitar Tuner that I wrote in python and pygame. Tested with 2.7 and 3.2, works for both.
July 12, 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