Well, the nice thing about Python is there are a lot of online
resources. Before you do anything I think you should read the free
tutorials, wiki, etc over on
to get a beginner to intermediate education on Python. The
tutorials/programming guides are written at a beginner level, and I
highly recommend them for new programmers like yourself.
Once you get some programming experience under your belt you might
want to look at the PyGame website
which is a Python wrapper for LibSDL. This will get you started on
game programming adding sounds, music, and event driven input to your
However, with that said a bit of wisdom/advice from an old hand at
programming. I'm not sure what your expecations are here, but I'd like
to point out some advantages and disadvantages you will encounter with
the Python language. I hope to give you a somewhat realistic and
balanced look at it from a gaming perspective.
On the plus side Python is easy to learn, is cross-platform, and there
are a number of simple APIs like PyGame available to help you quickly
get up and running with game programming. Python is generally a
scripting language, but it can design anything from a simple script
all the way up to full blown applications. All of this makes Python
look good on the surface.
On the down side Python is still a runtime language that requires an
interpreter or runtime environment to run. As a result if you are
thinking about creating high performance games that have to update 40
to 60 times a second Python is going to exicute and run very slow. It
was never designed to handle high performance applications like Shades
of Doom, Mysteries of the Ancients, etc. For something like that you
really need a triditional language like C++ to get the most
performance out of your CPU power and memory.
Second, some of the APIs like PyGame aren't the best APIs available
for game developers. PyGame is decent if you are going to produce a
football game like Jim's NFL, Star Trek Final Conflict, or something
like that, but if you are thinking of something like Shades of Doom or
Mysteries of the Ancients forget it. PyGame's audio API, SDL Mixer,
doesn't have very realistic virtual 3d audio, doesn't really have any
DSP effects to speak of, and there are certainly better alternatives
out there for C/C++ programmers. If you want only keyboard access
PyGame is fine, but if you want advanced Joystick support like force
feedback and things like that again no go. PyGame just doesn't have
that kind of support yet.
Finally, there is the issue of using Python as a springboard to other
programming languages. I don't know about your plans so I'm just
shooting from the hip here, but a lot of people want to try Python
before moving onto something else after they get good at it. The
problem is that you are going to have to start over from scratch if
you use Python and switch to Java, C#, C++, whatever because you
didn't learn much as it relates to other programming languages. In
fact, it has been my personal opinion for a long time Python teaches
programmers bad habits that make it difficult to adapt to other
languages later on.
For instance, Python is a non typed language. That means that when
declaring functions and variables you don't have to initialize it with
an explicit data type like integer, float, double, char, etc. While
this is very nice for newbies, perhaps less confusing, its
none-the-less a very bad habbit to get into. Especially, considering
most programming languages require an explicit data type, and you
should learn to do that from the beginning rather than learning
something like Python and have to start over learning what you should
have learned from the beginning. In other words what I'm saying I
think Python takes too many shortcuts that gives you a less than
aduquit education in programming techniques and theory.
As I said, I don't know about your long term plans here but I'll end
on this note. If you want to be an amateur game developer go with
Python. However, ifyou want to be a pro, write really pro level games,
then you have got to take the bull by the horns and learn something a
bit more advanced than Python.
On 4/21/11, Christopher Bartlett <themusicalbre...@gmail.com> wrote:
> Ok, I have to come clean. I love the intellectual puzzle-solving aspects of
> programming, and used to be a pretty hot algorithm designer in class
> programming teams. The drudgery that is most programming has turned me away
> from this love.
> Recently while pondering a challenge in playing RSW, (retro starweb) I
> decided that programming was going to be my only solution, other than
> waiting for the developer to create the text-based client. In checking out
> the current programming landscape, I discovered Python, which I had known
> about in a sort of oh, this exists and is scriptish, kind of way. But in
> investigating further, I found a language I could very much fall in love
> with, given some proper resources to learn from.
> So, to those of you who program out there, if any of you use Python, can you
> steer me to resources where I can learn the language, and get some nudges on
> algorithm development? The possible pay-off is that I may end up throwing
> my hat into the games blind people can play development ring, and more devs
> is a good thing, right?
> Chris Bartlett
> Gamers mailing list __ Gamers@audyssey.org
> If you want to leave the list, send E-mail to
> You can make changes or update your subscription via the web, at
> All messages are archived and can be searched and read at
> If you have any questions or concerns regarding the management of the list,
> please send E-mail to gamers-ow...@audyssey.org.
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
All messages are archived and can be searched and read at
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.