OddThinking

A blog for odd things and odd thoughts.

PyGame-Over?

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?

20 CommentsCategories: S/W Dev
Tags: Python, review, whinge

Comments

  1. What the heck? Pyglet is alpha. Pygame is already stable code. I can tell you which one I’d pick.

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

  3. Are you actually that heavily pushing the limits of py2.4 that you cannot do without the newer for a short time?

  4. Á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.

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

  6. 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?).

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

  8. 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…

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

  10. Ummm…Pygame is not a windowing library.

    And if you want it out sooner why don’t you help them out?

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

  12. Over 3 months have passed. Still no sign.

    But PyGame 1.7 for Python 2.5 is working fine. Hooray!

  13. PyGame site has been edited again.

    Instead of

    edit: we needed an extra few weeks.

    it now says

    edit: we needed an extra few centuries.

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

  15. Well, amazingly enough, Pygame 1.8 has arrived.

  16. And now, Pygame 1.8.1. They’re back!

  17. Not sure if this is of any interest as an alternative? Should the need arise, of course.

  18. 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…

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

Leave a comment

You must be logged in to post a comment.