The AI/Game system in Tycoon-like games...

Started by
3 comments, last by ares32585 21 years, 10 months ago
I''ve been struggling for a few weeks trying to find information on the kind of AI that is used in tycoon-like games. Most of those games simulate individual "customers," I assume. But what makes the customers decide what to do? Do they just make decisions based on certain factors? What kinds of factors do they take into consideration? What would the kind of AI system found in such tycoon games be called? A decision tree? Thanks for any help you can give, and forgive my ignorance on this matter.
Advertisement
Well, heck... I''d like to give you examples from our game in development... but that would be silly, wouldn''t it?

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!"

The way the sims does this would work well. "Customers" have certain needs as InnocuousFox said, and in the sims appliances etc. (things) that are near the sims tell the character what it can offer, eg. it might walk past the fridge and the fridge will send a message to the sim like "I offer food" If the sim is hungry he/she will eat. You could use the same thing in a tycoon game, if the customer walks past a food stand the food stand will say "I offer food" and the customer will check if it wants food at the moment.
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
FINITE STATE MACHINE, INCOMING VARIABLES ARE TREATED IN CONTEXT, WITH THE CONTEXT BEING THE RECIPIENTS CURRENT STATE, ALMOST INAVARIABLY THIS IS THE METHOD USED, MOST OTHER METHODS ARE HYBRIDS OR SPIN-OFFS, OF THIS BASIC CONCEPT
Well... I don''t know how much advice I would take from someone who can''t understand the functionality of the Caps Lock key... which is also a finite state machine. However, the statement "ALMOST INAVARIABLY THIS (Finite State Machine) IS THE METHOD USED, MOST OTHER METHODS ARE HYBRIDS OR SPIN-OFFS, OF THIS BASIC CONCEPT" is rather pointless in that the FSM is the most basic concept of AI of which other methods are just spin-offs - regardless of game genre. *shrug*

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!"

This topic is closed to new replies.

Advertisement