Advertisement

Getting your AI opinions on what makes a good AI

Started by April 04, 2012 05:08 AM
33 comments, last by BennettSteele 12 years, 7 months ago

Nice... How are you storing the memories of things? You probably already know what you are doing, but may i suggest something?

I know ive said this before, but i find it easy to use and debug. You construct the memories out of a base class- one with a single ID to describe what kind it is. Then you can use small values to store the rest of the info. At most, saving the location of an object is 5 ints: the ID that it was a memory of an object, the position, and the last time it saw it. I would think for the position that you would need exact numbers, so rounding and possible some noise could save memory.


That's a pretty decent structure for memories. Push things onto a list that each agent has of stuff. The other trick you can do with this is to store world events/items one time in a separate "world knowledge" list and then have agents simply have pointers to items in that list. That way, multiple entities can refer to the same event. It saves a lot of memory space if there is going to be knowledge that could be had by numerous people.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"


This could have been easily solved in a number of ways -- including a cooldown function (which I often use) to prevent too much repetitive activity. This is roughly analogous to the very human feeling of "I need to take a break from doing this for a while."

generally agree with your whole post and totally agree with this part. Incorporating MORE possible goals and drives (gets bored, tired/sleepy, restless, needs 'entertainment', etc) translates into an agent which IS more humanlike in its plans/actions.

Obviously if an agents' environment only allows it to move or chop wood, and it does only these things, then the resulting behavior is as 'real' as is possible within the context of that environment.

I really appreciate your responses, Dave, and look forward to the day we can get a look at your AI project!
Advertisement
Well... im thinking of releasing a demo of my game, or maybe just a video... but im going to show the AI im working on. Most of it is done, i just need to implement some of the ideas shared on this topic.
I like an AI that's actually intelligent. Possibly have a piece of programming that makes them act upon what the player does most to counter it, like you dodge to the right always and so the enemy will hit to the right after they hit, predictiong you will be there. So an Ai that makes decisions based on previous experience might not be easy but's it would make the game flow really well.
I'm making a video game with my friends but we need a graphics coder and possibly a C++ coder. If you are interested, please contact me by sending a message.
Well, i just finished up coding my new engine... i still have to move all the other stuff in from the old engine... but when thats done, i plan on making a video. I will include my AIs in there.

This topic is closed to new replies.

Advertisement