Some friends and I are just starting a small 2D game project (sort of a Shoot 'em up type game) and, not wanting to reinvent the wheel, we are looking for a (free/open source) game engine. So far, the candidates are Allegro (C++) and Pygame (Python). Are there any others we should be looking at? Are there any reasons to choose or not to choose the two that we are currently looking at? Any experience that you have had with these or any others would be helpful.
Also, the programming language is not too important to us, but cross-platform is important, so no XNA.