The AI/Game system in Tycoon-like games...
The type of AI used could be a variety (or even a hybrid) of decision trees, finite or fuzzy state machines, or even a rules based system. The criteria vary widely dependendent on what you are modelling.
In Roller Coaster Tycoon, the factors are fairly easy to determine... cash left, ride intensity preference, nausea tolerance, current hunger/thrist/bathroom levels, etc. Through some sort of algorithm, the "customer" decides which of these items is important. If he has to take a pee or get food, he will seek these things out. If he has a particular ride in mind (from a map or an advertisment) he will seek those out as well. Otherwise, he wanders - scanning the territory around him until he senses something (in RCT, they can see things 4 squares away).
If he sees a ride, he makes a decision about it based on his criteria compared to those of the ride. If he sees a food stand or a john, he makes a decision about whether it would be prudent to patronize them now rather than waiting for a "potty emergency". That is why you occasionally will see messages such as "I am not hungry now". This means the customer has walked past a food stand, noticed it, and decided NOT to eat at that time.
Really, customer AI is not that much different than really complicated FPS enemy AI... i.e. analyze the situation and decide based on critieria.
Good question, though... (those have been a bit rare around here lately!)
Dave Mark
President and Lead Designer
Intrinsic Algorithm Development
"Reducing the world to mathematical equations!"
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!"
You also might want to think about giving the AI''s a utility goal (something like that). So if you were doing a theme park type sim, the ai might have a utility goal to achieve X fun factor, or perhaps keep it''s fun factor above a certain level.
Things that might lower the fun utility might be:
Spending money.
Being hungry.
Having a full bladder.
Walking.
Waiting in queues.
etc. other bad things
Things that might raise the fun utility:
A good ride.
Good food.
Relieving ones self
Winning prizes.
etc. other good things
The aim of the game basically then, would be to create a theme park that leaves customers with the highest average fun utility. This could quite easily be adapted to other games, i think. Finding a good utility to use will be important, you could possibly use multiple utilitys and average them to get a total utility.
Hope thats useful
CYer, Blitz
Dave Mark
President and Lead Designer
Intrinsic Algorithm Development
"Reducing the world to mathematical equations!"
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!"