Everybody knows 'Tamagotchi' series, 'Virtual pet' clones and so on - they all share one common thing:
you get an egg from which:
- your pet borns,
- then you need to take care of him (turn off the light to force him to sleep, feed him, cure him, play with him)
- your pet grows
- and grows
- and finally dies.
States can be programmed within a single FSM, but what about the pet moving within those states?
What should decide what state the pet is besides the human intervention ( like forcing pet to go to sleep ).
Let's imagine a situation where a pet is born, it gets some default/randomly generated stats.
Now i could easily hardcode something like:
if(m_fHunger > 50) FSM->ChangeState(PetHungryState::Instance())
But that is something i want to avoid.
It can be very easy and predictable like for kids, on the other hand it can be very challenging and 'intelligent' if i choose the right approach from the beggining, and i am targetting the second option here.
I would like it to be unpredictable but intelligent, behaviouristic, AI driven.
So my question to you guys is: what kind of AI approach should i choose / algorithm / technology to make it a small but fascinating project ?
What can be managed by correctly choosen AI and what has to be managed by a code ?
Thanks very much!