[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] AI Module



On, Mon Mar 29, 2010, James Ravenscroft wrote:

> Dear All,
> 
> My Names is James Ravenscroft and I am an Artificial Intelligence and
> Robotics major from Aberystwyth, United Kingdom. I am interested in taking
> part in PyGame for the Google Summer Of Code.
> 
> I was interested to see that a pygame 'AI' module was on the list of ideas,
> under the unsorted/incomplete section. I had a quick read through your
> mailing list and noticed that a couple of other students have also been
> interested in this field. However, I wanted to bring something new to the
> table.
> 
> I appreciate that a general purpose 'AI' module is quite a difficult concept
> to explain, never mind to implement. I noticed that previous students who
> were interested in this field, were looking to implement a handful of AI
> algorithms without any particular framework or design. I wanted to look at a
> general AI construct, suitable for almost any game or simulation. I believe
> that the algorithm that carries out the AI's behaviour is less important to
> the game designer than the behaviour itself. AI algorithms are often very
> complicated and since one of PyGame's focuses is simplicity, I think it
> would be best if the various algorithms are kept out of the way of the
> PyGame users (unless users really want to play with them).

[AI introduction]

Your proposal reads quite nice, but has some drawbacks in regards of its
capabilities. From what I read so far, you are tending to state machines
based on unit/bot types, which in turn means that an overall
intelligence requires quite some efforts to control and evaluate the
unit success/failure rate.

An overall intelligence however is necessary to have some general
strategy mechanisms, long-term plans and unpredictable behaviour (in
terms of switching a strategy fast enough). This is something,
Civilization 4 suffers from pretty badly, making it predictable after
playing some games (although individual unit behaviour has grown quite
good in several mods).

A central controlling instance in the form of a cellular state machine,
neural net (or whatever else might be applicable), which can react upon
the success/failure rate of individual unit AIs in terms of an overall
strategy is something, you should consider, too.

This would allow a game developer to let the controller instance work on
the details of unit behaviour instead of considering and implementing
all edge cases on and to define and implement game goal straegies.

You might want to read Pieter Spronck's[0] papers about adaptive game AI
and online learning, which are good resources regarding 'generic',
adaptive AI systems and how one could plug in a solid learning mechanism
for such controller instances.

[0] http://ticc.uvt.nl/~pspronck/

Regards
Marcus

Attachment: pgpNM4SpG6dTR.pgp
Description: PGP signature