- Home /
Crowd AI Simulation Advice/Recommendations
I am trying to develop a complex crowd AI system in unity for a game. The game idea in short is that you entered a bunker where lots of people have hidden from a well known virus(corona virus).You have the virus initially and your goal is to infect everyone(or a big percent of the people in the bunker). Your only ability is to cough and by this way you can infect instantly a person in 2 meters range from you. The number of 'coughings' per day is limited,thus you must wisely choose who you infect. Once a bot is infected he can pass the illness to others by coughing. There is also an infirmary in the bunker where people can be cured from the illness. My goal is to develop the ai for the people living in the bunker and make their behavior be as close as possible to reality. Basically, this game is FPS, and your goal is to spread the infection in a given time The way I currently designed their behavior is the following:
3 States
1) Patrol(Wander) make the agent move from one point to another(can be random points or set manually)
2) Meet when 2 agents see each other they have a probability of starting a conversation details : When they both see each other I calculate the difference vector between them and find the middle point where they can meet
3) Talk when both agents reached the meeting point they actually start talking(I have no talking animations yet)
Improvements:
What I want to add to this simplistic AI is a diversity of actions an AI can perform. For example, in every room an agent can perform a list of actions,such as, read a book, watch TV, play cards with some other agent. Eat if they are in the canteen. The cook could wash the dished prepare a meal. And all sorts of human like actions. I have never implemented such a complex AI before.
Problems encountered
I already start having problems when I think of the way they meet. Do they have to stand up when they talk to each other? What if a bot is sitting and the other one is standing? They they to turn to each other before they talk. Should I implement a system in which one bot is willing to talk and wants to find a partner? If so, the partner bot should be aware of this, or just continue his actions normally?
If,for instance, an agent is sitting in the bed in a certain position, how can he get up from the bed and talk? He will have a different stand up animation. I think I need another approach to this kind of issues. How do big games solve this problems?
How can I handle all this animations? What is the preferred approach to this? I know there is no good or bad answer to this but if you could give me some advice or share the way you solve this kind of problems I would be grateful. Thank you for you time to read all the post.
Your answer
Follow this Question
Related Questions
Flocking/ Boids Algorithm: Field Of View in 3D 0 Answers
AI Awareness 2 Answers
I want to make a simple Combat fighting Game I need help related to Artificial Intelligence 0 Answers
how do I add abilities(Scripts/GameObjects) to my path finding agent 1 Answer
Ideas for Animating while Paused? 9 Answers