Not that I know what I’m doing, but here’s a list of everything currently in my Python-based game creation toolbox:
Python 2.6 – Core language, natch. Various dependencies demanded I stick with a 2.x version, and I’ve since been rewarded for using 2.6 instead of opting for 2.7. Unless you’re using Pygame and only Pygame I’m not sure you have a better Python platform to launch a 2D game from.
Pyglet 1.2dev – The backbone of any super-fast Python game engine, if the rumors are true. The stable 1.1.4 release doesn’t have support for joysticks, and considering my aspiration outside of LD is to make a platformer that simply won’t do. I’ve seen a few flashy 3D demos built on Pyglet as well as some 2D stuff that would make Pygame curl up in a fetal ball; it seems as good a place to start as any.
Cocos2D 0.5.0 – Pyglet is careful to never call itself an engine – it’s a “framework”, meaning you still have to do a lot of the heavy lifting yourself. Cocos2D is apparently where lazy and/or novice coders (guilty on both counts) go if they don’t want to build camera and scene mechanisms from scratch. The test folder is bloated with a bunch of crappy transition stuff (I didn’t see a star wipe anywhere but I’m sure it’s because I stopped looking), but it’s also got a few things that begin to resemble actual games. Assuming I can tackle the documentation in time, it might be a winner.
Rabbyt 0.8.3 – People say you should bring this library into the mix if you want genuinely fast/responsive sprites, and they’re probably right – I dare you to look at the collision.py example in Rabbyt’s docs and not dream of the next generation of bullet hell shooters. Whether I can get this to happily coexist with Pyglet AND Cocos2D remains to be seen, however.
Pygame 1.9.1 – Kicking around in my packages folder mostly because you need it to run half the indie game demos out there, I doubt I’ll be using it for LD22. Its stability and deep documentation chain comes at a price of snail-like speed, supposedly, and one thing I like in even the simplest games is speeeeed.
Pymunk 2.0.0 – Assuming 2D physics are going to be a necessary gameplay element for my game, the Chipmunk library can handle all that nasty higher math that would stop me cold, and the Pymunk wrapper might even make it reasonable to include on such a tight deadline. If I have less than a week to dive into documentation this is going to be last on the list, though.
AVbin/PIL/wxPython/etc. – I’ve lost track of all the libraries kicking around on my hard drive, but I think I’ve covered everything but the stuff so necessary to get Python past the command line that most devs forget it’s not part of the core language.
GIMP – Photoshop is for Mac evangelists and rich people. Runs great on my 2006-era Thinkpad X41 tablet computers, too (aside: Hey marketing dinks: Stop using words that mean one thing for something else. A “tablet computer” is a laptop with a folding screen and a pressure-sensitive stylus, not an underpowered oversized smartphone you can’t make proper digital art with.)
Inkscape – Vector art rules, and while I have trouble getting Inkscape to always do what I want it’s clearly the program you want to using when not working in raster. Anyone know if my secret plan to use public domain fonts as the core of my art assets is in violation of the spirit of the rules?
Allegro Sprite Editor – Just discovered this via the LD Tools page, and I’ll be investigating it in the frantic runup to this weekend. Looks like the sort of tool I was convinced I’d have to create myself to make sprite creation simple, but we’ll see.
Tiled Map Editor / Tile Studio – Also just discovered. I’m not certain I’ll be wanting or needing tiles for LD22, but if I do these look to be useful tools. Spelunky-style procedural tile layout generation is always going to be my taste over static levels, but considering I don’t understand the algorithms Derek used I might be stuck with boring tiled layouts for sake of time.
SFXR – Awesome little app. I’d love to spend entire days tweaking sound effects until they were spot-on, but that’s clearly not an option here. I may be able to kick out a few bleeps and bloops with this and avoid wrestling with Audacity entirely.
LMMS/Inudge/Musagi – I’m pretty certain I won’t have time to add any real music while I’m scrambling just to get something playable out, but these all seem like possible options if I somehow find myself with a few hours to spare. Given the choice I’d just drop in some old classical recording from a nation whose copyrights we don’t respect and be done with it; the real tragedy is that making the perfect music for a game might be the place where I have the most fun.
Assuming my entry goes anywhere at all I’ll probably discover I need several thousand other tools/libraries and waste valuable time debating whether I’m allowed to use anything I didn’t declare, but so be it. Let the documentation binge begin!