How to think like a Computer Scientist (In Python, decent intro to basics):http://openbookproject.net//thinkCSpy/Thinking in Python: http://www.mindview.net/Books/TIPythonDive into Python (For those that know programming, and maybe have worked in a dynamic language):Python 2: http://diveintopython.org/index.htmlPython 3: http://diveintopython3.org/
These look really useful when I've got more time on my hands, I'm going to read through them.
Cheers
Excellent. I'm going to be all over this.
Fantastic, keep the informative links coming for this brave upcoming world of Python 3.x that Elemental will use!
Pygame is worth checking out.It's basically a set of python modules based on SDL for making games easily.
The site has tons of examples and sample games to download. I think it's a nice way learn a new language, much nicer than the typical divx management app or whatever
Well, depending how intense any of us want to get there's always AI: A Modern Approach:http://aima.cs.berkeley.edu/It's a huge overview, I only read the introduction and sections related to language processing 2 years ago,but there is a good reason to get through it - a decent amount of example code in Python:http://code.google.com/p/aima-python/
(There's also Java (http://code.google.com/p/aima-java/) and Lisp (http://aima.cs.berkeley.edu/lisp/doc/overview.html))
As time permits I am excited to really get into the AI of Elemental. I would buy a book from Brad on strategic AI,hell I've bought $100 useless textbooks so I wouldn't mind buying one that teaches me something.
Cool thread, thanks for the links people.
I would be interested to know whether any Stardockers use/have used Lisp, given that they are quite into their AI?
http://www-cs-students.stanford.edu/~amitp/gameprog.html
Haven't had time to look at most of it but here are subjects covered:
at some point will probably organize everything on this thread. for now, here is a site for those who've never programmed anything and use windows:
http://pythonbook.coffeeghost.net/
With this site, you have to be carefull, the 'book' that is supplied on this site, uses Python 2.x while Elemental (As far as I know, correct me if I'm wrong...) is using Python 3.1. This might not sound as a problem, but one of the first programs supplied in the book (the typical 'Hello World') didn't work, I had to make changes on every line to get it working in Python 3.1
Can anyone who's gone through the learning curve recommend a good resource for object oriented Python? I understand the basics of programming (functions, operators, etc.) but am completely lost when it comes to classes.
Scorpiana, from what I can tell so far, the differences between Python 2.x and 3.1 aren't overwhelming. The main problems I've run into are the problem you've mentioned, the range() function, and input() versus raw_input().
Well, I've only tried that one example for now, and because of the results, I just thought to put a warning out. I didn't expect the language to have changed completly between those two versions (afterall, it's still the same language...) but it would suck pretty bad if you learned 2.6 and while modding you learned that everything you tried would generate errors...
So, better safe than sorry I guess
I learned about classes using HeadFirst Java. But for Python in particular not sure. You could try here or here but I honestly have not seen a really good explanation for OO using Python.
In other news, I am going through the free book on the Natural Language Toolkit , which happens to be in Python 2.* at the moment. There is a lot of fun stuff a person could use if they were trying to make AI for an RPG using the Elemental Engine though I suspect it would requiire NLTK to update to 3.0.
This page has some good OO slides, check out the Dec 3rd OO summary. It's for Java but the concepts should be understood regardless I hope.
I like Eric as an IDE for Python. Running sample programs through its debugger is probably one of the best ways to understand things - stuff like generators and list comprehensions are challenging at first glance if you are coming from Java.
The guy I brought up before has a set of slides on the basics of data structures. Again, code examples in Java but here the majority of slides deal with concepts and not code.
If you want to learn game AI, nothing beats this website:
http://aigamedev.com/
Lot of people on the industry post on those forums. I don't know if the premium accounts are open or not, but the content they produce is well worth paying if you like game AI.
As for books, I think one the best ones to start is "Programming Game AI by Example", by Mat Buckland
http://www.amazon.com/Programming-Game-Example-Mat-Buckland/dp/1556220782/ref=sr_1_1?ie=UTF8&qid=1250289159&sr=8-1
There's actually a tool that automatically converts Python 2.x code to Python 3.x code:
http://docs.python.org/library/2to3.html
It works fairly well (things that I've translated with it have needed only minor tweaks afterwards to get them fully working again)
On a side note, noticed that 'code blocks' don't include support for either Java or Python. Since Elemental's AI dev is going to be in Python, it would probably make sense to add Python support to code blocks too.
thanks to everyone for adding to thread. here's a video discussing AI techniques in python:
http://blip.tv/file/1947373/
Just a head's up, DiveintoPython3 has been finished and is available online for free or purchase. Just the old www.diveintopython3.org and away ye go.
Useful indeed, Good find.
This is kinda random, and outta left field as I've been very much out of the loop here lately (come to me, Elemental capable PC in a month or so that I may start to help in beta land at last), but in regards to Python:
Will the recently announced moratorium and aim at a "grand catchup" in terms of the whole lot of it factor into Elemental down the line going BACK to the notion of aiming for Python 3.x versus what I last recall in a journal post a bit back of scaling back to 2.x due to maturity issues of a sort? I can't speak yet with technical parlance, but here's the link to what I mean:
http://python.org/dev/peps/pep-3003/
Frogboy mentioned that due to poor support of Python 3.x in Visual C++ (one of many flaws, I can assure you), engine will work (ie. C++ will be exposed to Python) with Python 2.x. Will the game switch to Py3.x when the Visual reaches some maturity level?
That was pretty well my wondering, as the aim on the moratorium was to get everything caught up on the same page with a buffer of time (couple years they cite) and focus that was still only functioning proper back on version 2.5 and 2.6 and so on.
But even then, the trick may well be exactly when would the specific things Frogboy is eyeing would come into their own under 3.x and become something more than what they currently are under the old Python.
There are many great features available to you once you register, including:
Sign in or Create Account