Pygame is a wonderful API for creating games and rich media applications, but the diffulty in distributing PyGame creations may be holding it back from the big time. When you write a game / application / demo, the first thing you want to do is have your friends and family play it, then you want to launch it on the internet, and perhaps even profit from it. To distribute a PyGame app you currently have two choices. You could ask people to install Python and Pygame, plus any other modules you may have used. Which is fine for other Python programmers, but your grandmother may find it tricky - “Are you sure I should click on the snake, dear - what if it has a virus?”. The other option is to build a package with Py2exe or similar tool, which works great but requires a little effort to get working and will generate a large bundle of files - and then you are left with the tedious task of making an installer.
I think this lack of easy distribution is preventing many amazing PyGame creations from getting ‘out there’. What I would love to have is the ability to zip up a bundle of .py files and assets, rename the zip to .pyg then have a PyGame runtime launch the game. This runtime would be available on the net somewhere and have install packages for all the major platforms. So .pyg packages would be “write once, play anywhere” games.
No-doubt there be a number of challenges in implementing something like this, but I’m sure it is doable. The runtime may have to support multiple versions of Python; at least 2.4 and 2.5. It would also have to contain a number of modules that are popular in games, and know how to get modules that aren’t installed - possibly with import hooks and cheeseshop.
I know what you are thinking; if it is such a good idea then why don’t you do it yourself? I may eventualy try it, but I’m still working on other good ideas at the moment. I guess I was hoping that some inspired individual would pick it up and go with it. Looking at Movable Python may be a good starting point.
Ultimately there may even be profit to be made from such a thing. Make the runtime a free download, but sprinkle the site with a few google ads, and perhaps even charge for some of the more professional games. Casual games are big right now, and PyGame programmers would have a big advantage over the poor schlobs working on C++!