It’s like a Project Management car-wreck. I don’t know much about what happened, or who is at fault. I fear that some of the people involved are suffering, while other innocent bystanders are now wandering around bruised and confused. I feel badly for them. I don’t want to watch their nightmare… but I can’t look away.
Let’s look at the timeline…
16 August 2005: PyGame 1.7.1 is released, a windowing library with support for Python 2.4.
19 September 2006: Python 2.5 is released after the usual beta period. PyGame users, such as myself, sit expectantly for either a PyGame 1.7.1 that it built for Python 2.5, or a PyGame 1.8 that supports it.
3 November 2006: The PyGame developers announce that:
Following a period of beta, and RC releases Pygame 1.8 will be released at 2006/12/22 10:00:36.873456 AEST!
Look at that level of precision… seven weeks in advance… of effort that will be expended during the US Thanksgiving period… and delivered days before Christmas (so if you run just a day or two late, you quickly end up running several weeks late). Are your Project Manager-senses tingling yet?
3 December 2006: I start getting more nervous as I start to hear buzz from the Python gurus about yet another competing Python windowing library.
Sometime 5-24 December 2006: The PyGame 1.8 announcement is quietly updated to say:
edit: we needed an extra few weeks.
Look at that new level of precision – a last minute project delay for an unbounded period? Uh oh…
So, how long should I give them before I start learning how to do simple graphical applications in a different Python windowing tool?
Comment by Brandon Corfman on January 10, 2007
What the heck? Pyglet is alpha. Pygame is already stable code. I can tell you which one I’d pick.
Comment by Julian on January 10, 2007
Good point, Brandon, but I think the call is more difficult than that.
On the one hand is an alpha version of software that is getting buzz.
On the other hand there is vapourware. I am familiar with PyGame and its previous versions have been certainly been stable enough, but it simply doesn’t exist for Python 2.5. The question remains: how long do I give the PyGame project managers given they made this grade 1 blunder?
On the third hand, there are a wide range of other Python Windowing Toolkits, many of which are stable and would probably do the simple job I need quite well. It just means learning yet another techology.
[Before I get the obvious comments: I appreciate that learning a new technology isn’t necessarily a bad thing – nor necessarily an unpleasant exercise. However, the list of technologies I want to pick up is already very long; technologies that I expect will be interesting and useful – perhaps even career-enhancing. Windowing Toolkits ain’t among them, and wasting time on dead-end technologies can be frustrating.
Comment by Ãcs András on January 21, 2007
Are you actually that heavily pushing the limits of py2.4 that you cannot do without the newer for a short time?
Comment by Julian on January 21, 2007
Ãcs,
I guess that is a fair question.
I had postponed upgrading for a couple of months until I needed the latest version of some built-in libraries. (I can’t recall which one, but ftplib, urllib or urllib2 are all likely candidates – I think one of them had missing callback hooks, or something like that.)
I currently have both installed, and must carefully select which version of Python to use for each application I run.
Comment by Jay Noran on February 14, 2007
Well, its been several months now and theres no news or updates, and no end in site. I suppose it’s time to switch to another game library. And pushing the limits of 2.4 is not the point, the point is that we shouldn’t be forced into using inferior versions to maintain compatibility with a library.
Comment by John Yeung on February 28, 2007
For what it’s worth, I notice there is now a 1.7.1 Windows binary installer that is labeled as being for Python 2.5. I have not verified that it works, nor have I checked out the non-Windows versions. It certainly doesn’t change the bleak picture suggested by the timeline above, but it may buy a little time (to decide what to pick up next?).
Comment by Julian on February 28, 2007
Thanks for that, John. That’s great news. That’s all I need. I’ve downloaded it, but won’t have a chance to install it and try it out for a few days.
It is interesting that it was released with so little fanfare – no mention at all on the news section on the front page.
Comment by Hans Nordhaug on February 28, 2007
Yes, it works! I just installed it and my pyGame using apps still works (on Windows 2000 running Python 2.5).
Very strange that they didn’t announce this build? There is nothing in the news section, the file just suddenly appeared…
Comment by Iori Branford on March 4, 2007
Hear that sound? It’s the odds that 1.7.1 will be the final version, punching a hole through the roof as they lift off into space. If by some miracle we do get 1.8, it’ll be 1.8 Final or I’ll eat this PC.
I could understand getting cold feet after looking at pyglet’s features, except pyglet isn’t even up for testing. Caving in to something that doesn’t even have a projected release date can only mean PyGame is done for a long long time, if not for good.
Comment by Spacecoyote on March 7, 2007
Ummm…Pygame is not a windowing library.
And if you want it out sooner why don’t you help them out?
Comment by Julian on March 7, 2007
Spacecoyote,
Re: Is Pygame a “windowing library”?
I suspect this comes down to an argument about definition of the term “Windowing Library”. I am using the term rather informally. If there is a formal definition that I am abusing, I apologise.
PyGame has more than the ability to open windows, display graphics and return the location of mouse-clicks, but that’s pretty much all I use it for in my (personal-use only) applications.
Re: Why don’t I help them out?
That’s a fair question.
In my defence, I quote Brooks’ Law: Adding people to a late project makes it later.
I think that’s particularly true when you add someone who hasn’t done any cross-platform C development for a long, long time, who doesn’t know the domain particularly well, and who hasn’t got that much time to commit.
If I have time for some Open Source development, then I would be more useful working on an update for EmailShroud.
Comment by Julian on April 3, 2007
Over 3 months have passed. Still no sign.
But PyGame 1.7 for Python 2.5 is working fine. Hooray!
Comment by Julian on May 17, 2007
PyGame site has been edited again.
Instead of
it now says
Comment by Arne Babenhauserheide on January 23, 2008
If you want to see graphically what happens in PyGame you can take a look at the ohloh statistics, and you’ll see how much happened there:
http://www.ohloh.net/projects/3521/analyses/latest
One main difference I see is that PyGlet itself is written in Python.
When looking at the statistics, beware that more than half of the code if PyGlet is HTML.
Best wishes,
Arne
Comment by Arne Babenhauserheide on January 23, 2008
PyGlet code: http://www.ohloh.net/projects/9665/analyses/latest
Comment by John Y. on April 4, 2008
Well, amazingly enough, Pygame 1.8 has arrived.
Comment by Julian on August 6, 2008
And now, Pygame 1.8.1. They’re back!
Comment by Alastair on January 30, 2009
Not sure if this is of any interest as an alternative? Should the need arise, of course.
Comment by TomA on March 9, 2014
Hey Julian – do you get comment pings on posts this old? Anyway, since oddthinking popped up as the first hit when I typed “what happened to pygame?” into Google, you’re my local guru – so, what do python game devs use today? I’m sick to death of Unity3d, and “Boo” is *not* Python, despite what they claim…
Comment by Julian on March 10, 2014
Tom,
I hadn’t looked in years. I haven’t done any windowy-apps in a long while, but I do have a couple of ideas at the back of my mind.
They seem to be under slow, but active, development now. 1.9.1 supports up to Python 3.1, and 1.9.2 looks like it will support Python 3.2.
(Note to future readers: Python 3.4 is currently a release candidate.)
No idea of the alternatives. I could ask around if you need it.