MASSIVE like AI program

General discussion about the development of the open source Blender

Moderators: jesterKing, stiv

Eric
Posts: 163
Joined: Wed Oct 16, 2002 1:01 pm
Location: Sweden, Norrköping

Post by Eric »

If this is related with blender, why not start a new project on this site?

kino
Posts: 93
Joined: Sun Oct 13, 2002 7:37 pm

Post by kino »

hi sorry to not write here, i have write directly to mr_rob
but any help is welcome

kino
kino3d.com italian site

tredee
Posts: 6
Joined: Thu Oct 17, 2002 3:13 am

Post by tredee »

Wow!!
things are going fast and this thread is becoming more and more interesting!!
The first thing to do here is some research, so as not to reinvent the wheel. AI is a popular subject, as is games and game theory. So I figure the first place to look would be at the AI in some games
yes thornae, we don't have to reinvent the wheel ... I agree on the fact that this requires a lot of studying and researche especially in the first steps.
There's also Narval and the Robocup Soccer Simulator for perusal
there is also the robocup rescue simulator that deals with the coordination and collaboration of rescue unit in a disaster scenario ... very impressive.
I see the competition in Padua last year ....

Building what is commonly known as "architecture" is one of the most difficult topic when dealing with projects whith such an ambition.

Evaluating what is the state of the art is a good thing. I have taken beyond as an example for the clean design and versatility.

btw, I think that one effort could be intregating the existing tools into ARLS and Blender ...

but it is quite early to decide things like these..

harkyman thanks for the link and the pseudocode and idea too ...


The nice thing about an algorithm like this is that you can tackle it piecemeal, extending functionality once you have each stage working. One team member can work on the code for moveweight(), having their math push around dots on a screen. Someone else can simultaneously work on personalstrategy(), building that trickier logic on it's own with single actors. Another coder can be working on pathfinding/object avoidance. Or a single person could tackle each one as a discreet project.
this is what I call achitecture ... letting different people working on the same interfaces and putting logic/math/behaviours inside a common structure.... that it ... blender ...
The toughest part is the combat logic, which would include the actual character animation
I agree...


I think that this kind of project have to be faced with a twofold strategy: top-down/bottom-up ... (taking care that they meet somewhere in the middle :D ) ..


kino ... it will be great to have your knowledge on ARLS ....
:)


andrea

mr_rob
Posts: 0
Joined: Fri Jul 04, 2003 5:11 pm
Location: US of A
Contact:

Post by mr_rob »

Thank you everyone for your ideas and suggestions! Since ARLS is still in planning, ideas are needed. Harkyman I liked what you posted those were some good ideas.

I wrote up this page to explain the basic structure:

http://home.mchsi.com/~sje/basicprogramstructure.htm

If you read that document:

I'm planning on using a simple script like language for the nodes only. Or I could go all out and use lexx & yacc to make a more powerful, general use language. The second choice would be harder to make but much more rewarding in the long run. I need some opinions on that.

Once again, thank you all!

iluvblender
Posts: 24
Joined: Wed Oct 16, 2002 12:45 am
Location: Mumbai, India
Contact:

Post by iluvblender »

Hi.

I haven't looked at the article yet. Regarding the scripting language, give Lua [ http://www.lua.org ] a glance. Its an extensible language.


- Satish.

jonobacon
Posts: 0
Joined: Wed Oct 29, 2003 6:54 pm
Location: UK
Contact:

Post by jonobacon »

I would suggest Python for scripting so you can target the same scripting interface as Blender. Also python is well established.

Incidentally, good luck with this project mr_rob - I look forward to sending bug reports in. :D

tredee
Posts: 6
Joined: Thu Oct 17, 2002 3:13 am

language

Post by tredee »

Nothing against Lua ... I don't know (downloading now something ..) .. but as jonobacon says we have to think that Blender is the target ... so Python it is a natural choice to me.

Future extension maybe will see other language for extension ...

andrea

kAinStein
Posts: 63
Joined: Wed Oct 16, 2002 3:08 pm

Post by kAinStein »

Hmmm... I'm right now just thinking that if the game engine features like dynamics, actions, properties, sensors and stuff like that were accessible via normal Blender Python then it would be half way gone for scripting that kind of application directly inside of Blender. Well, "if"...

IoN_PuLse
Posts: 212
Joined: Wed Oct 16, 2002 6:05 am
Location: Canada, BC
Contact:

Post by IoN_PuLse »

I'm thinking about doing my own project similar to this for blender, but I wouldn't use Lua (I have used it in the past) and I would stick with python...

mr_rob
Posts: 0
Joined: Fri Jul 04, 2003 5:11 pm
Location: US of A
Contact:

Post by mr_rob »

Ion_Pulse, why don't you just join ARLS? It will be easier for both of us if we work together. I have already started programming it, I'm figuring out how to use the CVS on sourceforge but when I finally figure it out, I'll post what code I have written.

We will have a website up soon, thanks to Kino.

IoN_PuLse
Posts: 212
Joined: Wed Oct 16, 2002 6:05 am
Location: Canada, BC
Contact:

Post by IoN_PuLse »

Sorry I haven't really read what you're planning, and I haven't even planned anything yet. I may not even have time to plan/start at all.

So what I'm saying is I don't want to lead anyone on :)

I might read up on what you guys are doing and if I see something I can contribute/add then I will let you know :D

IoN_PuLse
Posts: 212
Joined: Wed Oct 16, 2002 6:05 am
Location: Canada, BC
Contact:

Post by IoN_PuLse »

Ok I've read the whole thread now, getting kind of excited :)

I've been programming in C++ for over a year, made several games for windows with direct3d (blah) and OpenGL (yay) as well as sound and other unrelated programming :D I did a bit of python scripting within blender way back when... but anyhow I'm up for it, but I think we need to decide....

How is this going to integrate with Blender? As far as I know, there is no compiled module support for blender (other than compiled python) so doing it in python looks like the way to go, unless we were after coding it directly into blender, which could be messy. Well a python script could be messy too :D

I'm just not sure where to start :D But I have some ideas:

1) Figure out how we are going to hook into blender
2) Make a tiny super-simple test using that hook (test viability of that hook)
3) Start designing at a high-level how everything is supposed to work..
4) GO for it!

Do you have some sort of IM account mr_rob? I prefer IM-ing for fast idea sharing...I have MSN/AIM/ICQ/Jabber... (Miranda IM == :D )

kniffo
Posts: 26
Joined: Tue Nov 12, 2002 8:08 am
Location: Denmark

Post by kniffo »

Well, I would suggest to actually not start doing some "warrior" behaviour and such but start with simple rules ... simple objects with very simple behaviours - using blenders sense and action system could be one solution to think about --- including some sort of plugin for replacing sensors and actions with complex c++ coded stuff (speed=c++!) to be able to code AI-like behavior, which is FAST and reliable.

Again: I would not suggest to take Python or whatever - such equations are veeerry intense and need a lot of calculation!!! The best way, is to do it in C++ directly! It might be a pain in the ass but only with this solution, you'll get the results you want to have!!! Really!!

You know ThinkingParticles ?? That's similar to what you wanna do - everything is about Sensors and Action.

mr_rob
Posts: 0
Joined: Fri Jul 04, 2003 5:11 pm
Location: US of A
Contact:

Post by mr_rob »

ARLS is a C++ program. In it the decisions for action is made. No AI decisions of any type will be done in blender, the only thing done in blender will be rendering. A python script will import ARLS's custom data format into blender which will render it.

I'll post some a document on the decision making process sometime soon.

Hopefully that will clear up any confusion.

Ion_Pulse, please email me:
ARLS_Programmer@yahoo.com

Thanks for all the support

thornae
Posts: 44
Joined: Mon Nov 04, 2002 11:53 am

Post by thornae »

kniffo wrote:Well, I would suggest to actually not start doing some "warrior" behaviour and such but start with simple rules ...
I'd have to agree here. I think harkyman really has the right idea, splitting development up into modules is the way to go.
As such, as he (gender inferred from name) said, the thing to start with would be gross interaction of individual "actors", i.e. movement across terrain, grouping, clustering, and so forth. Actual battle mechanics would follow from this.
mr_rob, as a trained (read, useless =) software engineer, I tend to start projects with a design document - and not get much further. However, my own lack of inertia notwithstanding, some sort of reference documentation can be very useful to direct the project - just look at the Blender UI re-design. Have you any thoughts in this direction?
BTW, if you need help writing up long winded, thoroughly anally-retentive specifications, I'm your man... (=

(P.S. - you want to watch it with that logo - George Lucas has a pack of rabid lawyers that will sue at the drop of a vaguely-similar-to-something-in-Star-Wars hat...)
...because I can!

Post Reply