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 enough. 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. Cheers! --- 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 http://audyssey.org/mailman/listinfo/gamers_audyssey.org. All messages are archived and can be searched and read at http://www.mail-archive.com/gamers@audyssey.org. If you have any questions or concerns regarding the management of the list, please send E-mail to gamers-ow...@audyssey.org.