Hi Chris,

Thanks for explaining that. I wasn't really certain of your past
experience, or what your goals were, so to speak, so I just gave you
the standard overview I would give anyone when asking about Python.
Here is some information that might answer some questions and might
help you with python.

As for compiling executables with Python yes that is possible. There
is a program called py2exe that essentually creates a Windows
executable for you. What it does is it compiles or packs all of your
pyc files into a *.exe file and then copies the necessary Python pyd
libraries to your directory. This makes it into a stand alone
executable, but at considerable bloat as you have to install the
Python runtime with every program you compile as those pyd libraries
are necessary for that *.exe file to run.

As far as runtime performance goes there is some advantage in speed
compiling at as a *.exe file as it byte compiles some of the code. It
is certainly faster than running a standard *.py script would be.
However, since its not true native code its not as fast as true C/C++
or assembly code would be. However, as you seam to be interested in
turn-based strategy games etc this wouldn't be such a problem for you
I don't think. SoundRTS is ritten in pure Python and works well

As for various APIs etc yes there are a lot of Python wrappers/hooks
for most things on Windows, Linux, and Mac. Python certainly is
growing in support, but most of those are for Python 2.6 and 2.7
current. I see here you are using the 3.2 runtime which I don't
recommend using yet as its not well supported yet. If I were you I'd
use Python 2.7 as that is the current version of Python, and what many
of the 2.x APIs are being updated to support right now.  Especially,
if you want to write games.

For example, PyGame which I mentioned earlier. The last version I have
is for Python 2.6 and I hear they are coming out with a version for
Python 2.7. In fact, the next release of Ubuntu Linux, 11.04, is now
shipping with 2.7 by default, and will have the new version of PyGame
for Python 2.7 installed. I know your focus is most likely on Windows
development here, but my purpose of mentioning what Ubuntu Linux is
using is merely to point out what the industry as a whole is using. If
you rush ahead and start developing using bleeding edge Python such as
3.2 you aren't going to be able to get a hold of all of the APIs you
need/want right now and may have to end updating and compiling them
manually. Plus if you ever want to create cross-platform games, which
you certainly could do using Python, you'd have to use the version Mac
and Linux are using which is not always the latest and greatest
available on the Python website.

As far as the Windows API etc goes I know that feeling all too well.
Microsoft never was very good at explaining things in something a
person could clearly understand. If you look at the DirectX 9.0C
sample source code it is a case in point. They have classes, that wrap
classes, that wraps more classes, that wraps DirectX, etc so much that
you don't have any idea what is necessary and what is just fluff. You
practically have to follow the dchain of development from beginning to
end and maybe if your lucky you might figure out what in heck
Microsoft is talking about. Lol!

Its for that reason why I really began using .Net professionally. The
Microsoft .Net Framework is a lot better documented than the low-level
C++ APIs for Windows, and a whole lot easier to learn. It uses a pure
object orientd approach which is nice, and languages like C# .Net,
called C-Sharp, is a very stripped down and much simplar version of
C++. More like Java in a way. Plus its cross-platform via Mono so I'm
pretty happy with the .Net sweet of languages myself.

Anyway, as far as programming artificial intelligence that's a pretty
advanced field in and of itself. There are entire books on just one
aspect of it such as fuzzy logic. I usually don't use that advanced a
method in my games, at least I haven't yet, but the more advanced you
get into it the more realistic your bots will become in games. A lot
of time it just comes down to writing a set of logical instructions
for the bot to try and attempt like if this hhappens try this, if that
happens try that, and if something else happens try the other thing.
This works, but will become predictable after a while. That's where
fuzzy logic will become so much nicer as it won't be nearly as
predictable or easy to guess what its going to try next.


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.

Reply via email to