Archived

This topic is now archived and is closed to further replies.

DrjonesDW3d

Is there anything like Open AIL or DirectAI?

Recommended Posts

It seemed graphics got to the point where there was some basic progress to the point where there were some set ways to do everything, at which point they wrote a language of functions (Open GL) that took care of the basics so people could start implimenting better stuff. It seems that it''s logical for something similiar to happen for AI. Anyone know of a project that is currently trying to do this? Create kind of an Open GL for AI.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Holy crap, no. I suggest you look into AI -- it''s a lot more complicated than you think. There''s no ''general purpose'' AI system out there, other than maybe a few generalized search algorithms.

Share this post


Link to post
Share on other sites
Yes there is... introducing FEAR. It stands for Flexible Embodied Agent aRchitecture at the moment


We''ve been going for over a year, and - many prototypes later - we have a nice design to show for it! The latest release was a nice milestone, as we included a perceptron module.

I''ve not been actively promoting the project as I think premature promotion is a source evil. We''re certainly much closer to being ready for developer attention; the code has always been nice, clean and commented, but the Q2 demo could be friendlier. This should improve in the next release.

So be tolerant... I also wanted to put all our design ideas and technology down into one document (instead of scattered throughout the site), but I have some very rough deadlines atm. More on that in late June.


Anyway, there''s much more technology in the pipeline too! Stay tuned.

Alex

PS: OpenAI is indeed dead. It was java anyway! Their most active developer has shown interest in FEAR, so I hope to snap him up and get him working on the Java interface...

http://fear.sf.net/

Share this post


Link to post
Share on other sites
quote:
Original post by Anonymous Poster
Holy crap, no. I suggest you look into AI -- it''s a lot more complicated than you think. There''s no ''general purpose'' AI system out there, other than maybe a few generalized search algorithms.


Well from what i''ve gathered from AI from looking at it during the past few years, I disagree. There is a lot of AI that is simple algorithm that doesn''t need to be rewritten for everything. It''s not just searching either, look at Neural networks and fuzzy logic. Both on the opposite ends of the AI spectrum, yet the meat that does the hard stuff can all be hard coded. There is just some simple variables and so on that need to be set for it to be functional. It''s just like graphics. You can put the triangle any place you want, and color/texture it in any fashion, but the way it''s drawn is the same. This is true for a lot of real AI algs. It''s not simple enough to encompass all the AI needed for a game (or other project) into a few lines of code, but that''s not the purpose. The purpose is to give programmers a set of tools they can use to us ai in their own fashion without having to reimpliment everything that''s already been done 100 times.

It might not have the same archetecture as OpenGL, or the same kind of interface, but i think with some clever coding and design skills it''s definatly not out of the question.

I''ll take a look at both FEAR and OpenAI

Share this post


Link to post
Share on other sites
While I would love to see such a toolkit come along, I don't know how useful it would be. Of the AI code I have worked with, less than 10% has been system based -- it is almost all special case code for the game such as behaviors, etc.

While moving that 10% into libraries could be beneficial, I think that 10% probably is different for almost every developer as all have different needs.

AI generally seems to tightly coupled to a project there might not be too much code general purpose code to move out.

The only pieces I can think of right off for my past projects:

* AStar implementation (covered well in the AI Gems series to the extent that seems practical)

* High level animation system (basicly, how the animations interact engine -- do animations drive behavior, or does behavior drive AI? Doesn't seem like it has been covered too deeply, but I think every title has its own needs here)

* General state machine implementation (many are floating around the net. This isn't specific to AI)

* Knowledge representation (highly app specific)

I think the implementation of the AStar/neural net/fuzzy system is the simple part -- the hard part is knowing how to integrate it into the game, when the game calls for such a technique, and processing the data going in.

(In the interests of full disclosure, I believe that too much emphasis has been put into fuzzy/neural systems the last few years, as this is a tiny part of what goes into making a game AI. Neither are at all required, yet it seems like 90% of the discusion and literature is on them.)

[edited by - cannelbrae on May 5, 2003 3:00:35 AM]

Share this post


Link to post
Share on other sites
One of the roadblocks to an OpenAI or DirectAI is a lack of standards for AI interfaces across games (and other applications). There is work being done (see AI Interface Committe) but the progress is slow (due to alot of reasons). Before there can be standard toolkits, there has to be a way to define standard interfaces. Perhaps you have the solution? If so, you might consider applying to the committee (see website above) and participating.

Eric


[edited by - Geta on May 5, 2003 8:58:53 AM]

Share this post


Link to post
Share on other sites
Yes, an official standard will help tremendously, but I don''t think it''s a roadblock. Many current "standards" started off as proprietary solutions, like OpenGL or D3D.

If the market for toolkits was big enough, existing middleware would eventually grow into standards.

Share this post


Link to post
Share on other sites
I''d tend to agree... standards tend to work best when you already have something working and you agree to open it up to improvements, rather than by getting 101 people together to try and choose something.

I think there is already a good template-based GA implementation.... you could probably add a similar neural net implementation to that easily enough. A generic search/planning algorithm would be easy too: they have such an implementation at http://www.bell-labs.com/topic/books/ooai-book/download.html although the license is not suitable for anything but learning purposes.

What else would be useful?

[ MSVC Fixes | STL Docs | SDL | Game AI | Sockets | C++ Faq Lite | Boost
Asking Questions | Organising code files | My stuff | Tiny XML | STLPort]

Share this post


Link to post
Share on other sites
quote:
Original post by Kylotan
I''d tend to agree... standards tend to work best when you already have something working and you agree to open it up to improvements, rather than by getting 101 people together to try and choose something.



How are you going to get "something working" that I, and 100 other game developers will agree to use?

If you think you have some good ideas, why not apply to participate in the planning working group?

Eric

Share this post


Link to post
Share on other sites
quote:
Original post by alexjc
Yes, an official standard will help tremendously, but I don''t think it''s a roadblock . Many current "standards" started off as proprietary solutions, like OpenGL or D3D.

If the market for toolkits was big enough, existing middleware would eventually grow into standards.


I tend to drive around roadblocks . I don''t think in terms of roadblocks as something that would stop something from happening, just make it a bit more difficult to accomplish. Can you agree with that characterization?

Having just completed significant research into the capabilities of about a dozen AI Middleware products for use in computer game AI (I''m writing a review of them all), I don''t recall any of them having the comprehensive interface capabilities that one would liken to a DirectX or OpenGL. So, if anyone is waiting for an AI Middleware vendor to create some ''standard'' that a lot of game developers will use, then I suspect we may be waiting for some time to come.

Eric

Share this post


Link to post
Share on other sites
quote:
Original post by Geta
I tend to drive around roadblocks . I don''t think in terms of roadblocks as something that would stop something from happening, just make it a bit more difficult to accomplish. Can you agree with that characterization?



hehe, I come from a continent where they respect the highway code! But I see your take on that now


As for getting the 70 members involved to accept the standards, I think even that is somewhat unlikely in the short term. The "standard" approach will need to have significant benefits before people start using it... and that won''t happen until someone implements them & some tools.


Finally, we have facilities to create common AI interfaces in FEAR. I''m starting to be happy with the technology actually...

Share this post


Link to post
Share on other sites
quote:
Original post by Geta
How are you going to get "something working" that I, and 100 other game developers will agree to use?

If it''s good enough, they''ll use it Especially if it''s modelled on something like the STL (visible source, easily extensible, emphasis on speed).

quote:
If you think you have some good ideas, why not apply to participate in the planning working group?

Oh, no... my AI knowledge pales in comparison to most of you in this forum. I am just talking generally, in that standards tend to work better when they start from an example implementation rather than a committee-led design.

And I think I was referring to GALib earlier, yeah. It seemed pretty good to me, although maybe you know differently?



[ MSVC Fixes | STL Docs | SDL | Game AI | Sockets | C++ Faq Lite | Boost
Asking Questions | Organising code files | My stuff | Tiny XML | STLPort]

Share this post


Link to post
Share on other sites
quote:
Original post by Kylotan
Original post by Geta
How are you going to get "something working" that I, and 100 other game developers will agree to use?


If it's good enough, they'll use it Especially if it's modelled on something like the STL (visible source, easily extensible, emphasis on speed).



Well, how does it get good enough without a number of people agreeing that it is good enough in the first place?

Also for consideration, both DirectX and OpenGL were free to the developer and widely supported. The current crop of AI Middleware products are not always free, and not always well supported. These issues make for other roadblocks .


quote:

If you think you have some good ideas, why not apply to participate in the planning working group?
Oh, no... my AI knowledge pales in comparison to most of you in this forum. I am just talking generally, in that standards tend to work better when they start from an example implementation rather than a committee-led design.



I don't know if the level of AI knowledge is as important as game development experience, or simply genuine interest in getting to a standard. I for one, don't think standards will come about any time soon, yet I am willing to work on the pathfinding working group, to make sure my 2 cents gets heard on that issue. Again, if this is of interest to you, then please don't hesitate to apply.

As for how standards start, keep in mind DirectX is based on a single company's idea of how graphics should be done. Yes there were contributors, but who said "yea or nay" in the end? OpenGL started from a bunch of papers, and in opposition to DirectX, IIRC. Who wrote the papers?


quote:

And I think I was referring to GALib earlier, yeah. It seemed pretty good to me, although maybe you know differently?



I just wanted to be sure I had not missed one from the review research I did. I had found GALib but not any other GA middleware.

Eric


[edited by - Geta on May 6, 2003 9:31:44 AM]

Share this post


Link to post
Share on other sites