ChuckB
Jun 10th, 2002, 11:31 PM
Hi,
I want to submit this idea for discussion. It was not appropriate for our other thread running on AI.
I was watching some ants the other day busily moving food from point A to their nest. There was a long line of ants working very steadily.
Their behavior as a group appeared highly complex which would make one think they are very smart...all of this without computers, internet, banking, etc.
However, if you were to study the behavior of EACH ant you would find they are following some very, very simple rules.
1. Leave nest. Leave smell on ground so it can find it's way back to nest.
2. Look for food or a trail for food left by another ant (smell).
3. Upon finding food, leave a second smell on ground and take food to nest one piece at a time.
Eventually enough ants find this food trail and begin getting and returning food to nest. The appearance is that they are very bright! Not really, just following a few rules.
My point is that the world appears complex, but at it's heart, it consists of a lot of simple rules at work.
So, if you want to program AI into your 3D games that is modeled after animal behavior like sharks or lions here are some general thoughts. Assume you are the human player in a world of monsters.
1. As you move around the maze the human leaves a scent in the room or passageway that diminishes after several minutes (say 30).
2. Build monsters that wander and look for food.
3. When a monster smells the human scent it gets excited and begins leaving a scent of it's own for other monsters of similar types to follow.
4. The monster follows the food scent trail.
5. As more monsters pursue the food trail, they leave stronger and stronger scents for others which drive them into a fenzy.
6. Your human player is now being stalked by a group of monsters.
The overall view from an outsider is that this highly organized group of monsters is coordinating an attack to get the human, when they are all simply following a set of basic rules.
Add a few twists or behaviors so that a monster will try to attack, get shot at and if it lives now approaches only with a second monster. It can do this be changing scent to indicate caution.
Now, create second set of monsters which like to eat the first group but finds humans distasteful. Now the food chain is at work in your game. The cool part is these monsters may be just stuff on the side while your real focus is chasing human bad guys in your game...of course these virtual guys leave human scents so they too can be pursued. Now you can lead monsters hot on your tail to these other guys and then set them up.
Oh yeah, your human enemy needs some AI so they will work to set you up as well.
I have written code where 'agents' purse your guy by doing some 2D/3D math and closing the distance. However, this is a bit unreal for most animals in the animal kingdom and monster kingdom. ;-)
A note on practical programming for this model. An array can track human and monster scents from room to room. A timer can allow the scent values to be diminished over time. A user defined type may be sufficient for defining all monsters. In fact a class with some useful methods may be even better.
Regards,
I want to submit this idea for discussion. It was not appropriate for our other thread running on AI.
I was watching some ants the other day busily moving food from point A to their nest. There was a long line of ants working very steadily.
Their behavior as a group appeared highly complex which would make one think they are very smart...all of this without computers, internet, banking, etc.
However, if you were to study the behavior of EACH ant you would find they are following some very, very simple rules.
1. Leave nest. Leave smell on ground so it can find it's way back to nest.
2. Look for food or a trail for food left by another ant (smell).
3. Upon finding food, leave a second smell on ground and take food to nest one piece at a time.
Eventually enough ants find this food trail and begin getting and returning food to nest. The appearance is that they are very bright! Not really, just following a few rules.
My point is that the world appears complex, but at it's heart, it consists of a lot of simple rules at work.
So, if you want to program AI into your 3D games that is modeled after animal behavior like sharks or lions here are some general thoughts. Assume you are the human player in a world of monsters.
1. As you move around the maze the human leaves a scent in the room or passageway that diminishes after several minutes (say 30).
2. Build monsters that wander and look for food.
3. When a monster smells the human scent it gets excited and begins leaving a scent of it's own for other monsters of similar types to follow.
4. The monster follows the food scent trail.
5. As more monsters pursue the food trail, they leave stronger and stronger scents for others which drive them into a fenzy.
6. Your human player is now being stalked by a group of monsters.
The overall view from an outsider is that this highly organized group of monsters is coordinating an attack to get the human, when they are all simply following a set of basic rules.
Add a few twists or behaviors so that a monster will try to attack, get shot at and if it lives now approaches only with a second monster. It can do this be changing scent to indicate caution.
Now, create second set of monsters which like to eat the first group but finds humans distasteful. Now the food chain is at work in your game. The cool part is these monsters may be just stuff on the side while your real focus is chasing human bad guys in your game...of course these virtual guys leave human scents so they too can be pursued. Now you can lead monsters hot on your tail to these other guys and then set them up.
Oh yeah, your human enemy needs some AI so they will work to set you up as well.
I have written code where 'agents' purse your guy by doing some 2D/3D math and closing the distance. However, this is a bit unreal for most animals in the animal kingdom and monster kingdom. ;-)
A note on practical programming for this model. An array can track human and monster scents from room to room. A timer can allow the scent values to be diminished over time. A user defined type may be sufficient for defining all monsters. In fact a class with some useful methods may be even better.
Regards,