What Professional Games Use Pygame?

This came up as a question on Stack Overflow a while ago. While Python is noted for its use in many games, here's a list of professional-quality games that use Pygame:

Dangerous High School Girls in Trouble is a 2D RPG by Keith Nemitz that was nominated for a Writers Guild Award, won "Most Innovative Game" by the Casual Games Association, and was also selected as a finalist for the 2008 IndieCade Festival of Independent Games. It is available for purchase off of Steam. Gameplay video
Analogue: A Hate Story is a visual novel-style game that was a 2012 IndieCade Finalist. As of December 2012, Analogue has sold at 40,000 copies. Steam store link (with videos).
Unity of Command is a turn-based, operational-level wargame that covers the entire 1942/43 Stalingrad Campaign on the Eastern Front. Trailer video. Available on Steam.

Frets on Fire is an open source Guitar Hero clone. Gameplay video
7 Grand Steps is a board-like puzzle game from Keith Nemitz of Mousechief and is a 2013 Independent Games Festival finalist. Trailer video
Metin2 is an Oriental-themed action MMORPG. Trailer video
Galcon 2 is a high-paced space shooter game. Gameplay video
SolarWolf is an updated clone of the 1983 arcade shooter Solar Fox. It is included with several Linux distributions. Download links Gameplay video
División Especial de Detectives is an original puzzle game in Spanish that explores the culture and history of Uruguay. Gameplay video
The Witch's Yarn is an interactive story game from Mousechief. Gameplay video

While not a game, someone has mentioned that the Minecraft editor MCEdit used Pygame. MCEdit tutorial video

Feel free to add any other professional-quality games that have been made using Pygame in the comments section!

8 thoughts on “What Professional Games Use Pygame?

  1. I emailed the creator of Unity of Command to ask him his opinion of Pygame. I thought his view was very informative, and he gave me permission to repost his reply:

    I was curious what the developers' opinion of Pygame was, having made an entire game using it. Would you recommend other developers use Pygame? Do you think Pygame has a future for desktop development, or is it stagnating?

    I've found this thread that gave me somewhat of a picture: http://unityofcommand.net/forums/viewtopic.php?t=607&f=7

    Tomoislav's response:

    I think python has huge potential for games, but there are few ready made tools, and that means a much smaller number of people actually attempting to use it.

    re: pygame, I haven't been following it closely since we switched to using raw pySDL2 for our new project. If latest pygame wraps SDL2.x (as opposed to 1.x in the earlier versions), that's good, otherwise I would strongly recommend against using it for anything.

    At the time I evaluated pygame (circa 2007), I found it wanting when it comes to blits, masking, curves, lines, gradients etc. - all the other stuff you need besides simply setting up input and a rendering surface. So we used cairo for 2D software rendering, which was highly robust with acceptable performance.

    For the new game, we use pySDL2 to set up an OpenGL context. With that, we use OpenGL calls directly. Not sure if this is too hardcore for your intended audience, but IMO it is the only way to go for professional game development in python.

    SDL2 does offer a set of primitives (sprites, draw functions etc) that you can use to develop 2D games without touching either OpenGL or DirectX (in fact I think these primitives work with both GL/DX). That API may be a good choice, either via pySDL2 or via pygame (if it supports SDL2), but to be honest I haven't looked it into it and I just don't know.

    One final note: a thing we're running into with python is the GIL (global interpreter lock). It can pose problems if you have a multithreaded setup (we do), as other threads can block your rendering loop at seemingly random times. Our current solution is to rewrite the rendering loop in cython, where you can release the GIL - provided you know what you're doing, obviously ;-)

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>