Hi

smd...@student.cs.york.ac.uk wrote:
> Hello Group,
> This is my first post to the group but I have been following the project
> for the past month or so and have discussed with some of you already the
> potential for this project.
>
> My name is Sam Devlin, and I post in your forum and irc channel as SamD. I
> would like to undergo a project in AI as part of the Google Summer of
> Code. I think this is a great opportunity to begin a development role
> within crystal space.
>
> I believe that a basic AI implementation should provide the following:
>
> 1.) A* Pathfinding
> 2.) A Finite State Machine
>   

Note we also have a (little bit non-standard and limited) finite state
machine system called "Quests".

> 3.) Steering
>
> With these a good AI developer can produce a vast range of behaviours.
> Please comment if you think anything should be added to this list.
>
> As far as I am aware previous projects have looked to implement A*,
> steering and a navigation mesh. If anyone can provide details on how far
> these projects went I would be very appreciative as I have been advised
> this could be a good place to start work.
>   


Well, i have experimented with current code in cel, not sure if some
gsoc results (like the navigation stuff last year, which if i recall
correctly was about generating a navigation mesh from world geometry)
are still to be merged in trunk though, but my experience was, the
navigation graph system can work together with the steering system, but
it's not completely optimal (too many computations for example), and
also isn't completely bug free. It also needs some support from cs, so
for example a different set of colliders can be set for navigation than
for other things, for example, or find some other way to optimize
collision detection on cs. Also, b2cs can produce navigation graphs
created manually.

Also, iirc the navigation graph system can do A* pathfinding, but you
can check the code..

As i understood of what we have, pcsteer takes care of steering when
going from one place to another, pcpathfinder uses navgraph information
to find a good route among two distant points, the navgraph provides the
pathfinding functionality.


> To summarise, my questions are:
>
> 1.) What interest does the group have in AI development for CEL?
>   

A lot :)

> 2.) Does anyone want anything not included in this list?
>   

Ok, some random ideas, in no special order:

1- neural networks (we do have something, but not sure to what extent it
works, nor do i know what nn model it implements). From my pov a good
implementation should provide a nice example that works, two nice
examples that i dont think can be done easily at the moment are the ones
explained in the neat nn papers (classical nn test problems), or the
creature evolution papers from karl sims (a little bit academic, but
still i'd love to see it running on cs+cel with standard stuff)

2- behaviour tree implementation in the line of the ones proposed on
aigamedev.com (its a little bit not standard i think, but looks
interesting and the papers there certainly are)

3- Yet another thing i'd like to see, someone reviewing all ai code to
adapt it to current standards for property classes (like the more
advanced message system), plus quality checking, documenting and
creating some useful examples and so on. Make sure all ai subsystems
work nicely together via the standard cel mechanisms (messages, actions
and properties).

4- examples involving advanced interaction among ai subsystems together
or with other subsystems would be specially useful for people (say,
crowd simulation on a non trivial surface with non trivial obstacles, or
for steering, implementing all the examples from Craig Reynolds together
with improving the steering classes so they can actually do it -at the
moment our implementation is very simplistic-).

5- Improving the sensor system. At the moment, many systems are trapped
inside the quest system (the "triggers"), while they would be generally
useful in many situations, or with other guiding ai setup (like the
behaviour trees, or straightforward connections to events), also, some
sensors which are commonly needed in games are not readily available at
the moment.

6- Refactor the quest system, maybe by creating a more straightforward
FSM implementation, saner api, allowing nesting of fsm's, better
introspection support, direct link of cel properties to quest properties.

7- See how the uml capsule model for real time applications can be
applied to cel.

8- Bayesian networks

9- If you can get yourself a copy of "AI for developers", i myself could
see a lot of ideas for cel, but i dont have it around right now (i'm not
sure but i think on a previous email to this list i said which chapters
we had -more or less- already covered in cel).

> 3.) Can anyone provide information regarding previous CEL AI work? Source
> code, brief comments and detailed explanations welcome.
>   

I don't know all details, but you can check the current quest, navgraph,
pathfinder and steering property classes, plus you can check out the cel
branches, which is where the gsoc work gets done. About the neural
network property class, i think the ecksdee people can provide more
information, since they at least tried to use it at some point.

There is also something called the "rules" property class, which i think
is also ai related, but not sure what it's for exactly and also afaik is
not finished.

Good luck :)

 Pablo

------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Cel-main mailing list
Cel-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cel-main

Reply via email to