-----------
The main advantage is that Pygame is free (as free beer and free speach) and
XNA isn't. And Pygame is Python, while XNA is C# (I think). It all depends
of what you want to do. If you want to create a game for XBox, it's obvious
that you need XNA...
-----------
-----------
Having "Develop XNA games as a hobby and deploy them to the Windows
Game network" on your resume is much more appealing to an employer.
It really depends on what platform you want to develop for. If you
want cross-platform, use pygame
. If all you care about is windows/xbox, then use XNA.
-----------
-----------
XNA provides a lot of built-in functionality for 3D games. None of it is
very advanced, ie. vector math, hlsl shader loading, cameras and lights,
bounding sphere and aabbox collisions, fbx and .x model loading... but it is
easier and quicker to get going with 3D with XNA than with pygame + opengl
or directx. XNA also has xbox 360, zune, silverlight and windows mobile 7
support which PyGame doesn't. If you want 2D I would say the apis provide
similar functionality with PyGame having some more advanced raster
functionality and XNA having better video hardware acceleration and sprite
batching. PyGame has the advantage of being open source and cross-platform
to other oses and non-microsoft portable devices, and probably supports
older computer hardware better. Also python is way more fun and less of a
headache to use than C#, although it will be considerably slower than C# in
some areas (Since the heavy drawing stuff is in the C SDL binary for pygame
it shouldn't be a huge issue though).
-----------
Ŝajnas al mi ke XNA estas multe pli potenca, sed bedaŭrinde ligita al
Vindozo kaj Xbox..
\H