Changes to Peep Decision-Making to go on Rides

As it stands now, a peep makes 2 decisions about going on rides. The 1st decision is to walk to the start of the ride's queue. As stated in the loading hints, and also borne out by my own observations, this decision is based solely on the ride's fear and nausea ratings compared to the peep's tolerances for those values. Once at the start of the queue, the peep then decides whether to really go on the ride or not. This appears to be based on whether children can go on the ride or not, plus the ride's price and queue length as influenced by the ride's excitement rating, prestige, price, and scenery.

This decision-making process has several unfortunate effects which result in peeps wasting time walking to rides they end up deciding not to go on, and the decision not to actually go on it after walking there causes negative thoughts, most of which seem unjust given that the peep should have known better to start with, before walking to the ride. Some of the more irritating results are:
  • Families walking to coasters within their fear and nausea limits, but which are hard-coded to not allow children to ride them. Peeps know where the rides are to begin with so apparently they got a park brochure upon entering. This brochure should state which rides have minimum height requirements for customers.
  • Peeps with essentially zero money remaining walking to anything (rides or shops) other than the park exit or an ATM. If they don't know the prices of everything in the park to start with, they should be able to learn the average prices of things by the time they've spent all their money, and should know they can't possibly afford anything else with their remaining cash.
  • The relative excitement of rides not being part of the initial decision of peeps to walk to the start of its queue. At present, excitement is a largely meaningless stat for a ride because at most it seems only to affect the decision to enter the queue, not the decision to walk to the ride to begin with.

So, I would change those 3 things. Families should never consider going on rides that are hard-coded not to allow children. Peeps should know the average prices of things in the park and either go home or hit an ATM once they get below that value. And excitement should be at least a tie-breaker in the decision to walk towards a ride.
 
This is where the ability to purchase maps from Info stores would be useful as the maps would tell the peeps the general suitability of a ride as you get on all park maps "This ride is only suitable for...."

It could help peeps decide their route through the park and the rides they visit.
 
Excitement isn't meaningless though because that and duration heavily contribute to the ride prestige which is the initial weighting of the probability that the guest will select the ride as their destination.

I'm not sure I see an issue with families visiting rides and finding out they can't ride it due to height restrictions. That's what all of the 'you must be this tall' signs are for, right?

I don't think broke people need to go home either since they may just enjoy walking around and seeing the scenery. They tend to go home pretty quickly in that scenario anyway though. The average visit time should reflect that.

I kind of wish guests had a value that was their fear and nausea score used for determining ride compatibility and a hidden value that was their real preference and that the two values would get closer as the guest rode more rides. It creates the situation of guests not always riding rides that are perfect for them.
 
Last edited:
Excitement isn't meaningless though because that and duration heavily contribute to the ride prestige which is the initial weighting of the probability that the guest will select the ride as their destination.

You sure about that? From I can tell, only fear and nausea matter up front. But even if prestige does factor into the initial decision, it doesn't have much influence. Peeps will nearly always go on a ride with lower prestige if it's closer, even if its fear and nausea are on the low end of their preferences.

I'm not sure I see an issue with families visiting rides and finding out they can't ride it due to height restrictions. That's what all of the 'you must be this tall' signs are for, right?

In real life, sure, but PC isn't real life. Even though families don't think negatively specifically about not being able to go on a non-family (yet still attractive) ride, you get too much negativity from it because it disrupts the peeps' "needs cycle". Peeps typically alternate between going on rides and filling physical needs, and now they don't have the happiness from having gone on the ride to carry them through filling needs. Thus, they get grumpier about their needs than they otherwise would.

I don't think broke people need to go home either since they may just enjoy walking around and seeing the scenery. They tend to go home pretty quickly in that scenario anyway though. The average visit time should reflect that.

Thing is, broke peeps don't enjoy just walking around. They hate it. They get madder and madder every time they discover they can't afford something. This I think unfairly hurts your park ratings. So I think peeps should know the prices of everything up front.
 
You sure about that? From I can tell, only fear and nausea matter up front. But even if prestige does factor into the initial decision, it doesn't have much influence. Peeps will nearly always go on a ride with lower prestige if it's closer, even if its fear and nausea are on the low end of their preferences.



In real life, sure, but PC isn't real life. Even though families don't think negatively specifically about not being able to go on a non-family (yet still attractive) ride, you get too much negativity from it because it disrupts the peeps' "needs cycle". Peeps typically alternate between going on rides and filling physical needs, and now they don't have the happiness from having gone on the ride to carry them through filling needs. Thus, they get grumpier about their needs than they otherwise would.



Thing is, broke peeps don't enjoy just walking around. They hate it. They get madder and madder every time they discover they can't afford something. This I think unfairly hurts your park ratings. So I think peeps should know the prices of everything up front.

I'm not saying you're wrong btw. I'm just playing devil's advocate and discussing the logic.

Guests aren't on a ride -> need -> ride cycle from what I've seen so much as rides until a need is prioritized due to weighting and then back to rides. If they walk to a ride they can't ride due to guest type restrictions, they look for another ride unless they drained their needs in transit. But I also haven't seen any families stopping at rides they can't ride... I will have to setup a test and see if I can spot the behavior.

Well, I am sure about the prestige because my big popular coasters can easily pull guests from anywhere in the park even with similar fear and nausea. If prestige wasn't a factor, my high prestige rides wouldn't have significantly higher guest counts even with throughput factored in.

I always saw the guest out of money penalty as being somewhat deserved because the guest expects a certain amount of entertainment measured as time for their money. Running out of money early implies that your time per fun ratio doesn't meet their expectations otherwise they would decide to go closer to when they're out of cash. I don't notice the unhappiness much either because even on harder difficulty, my scenery scores keep most guests at max happiness at almost all times.

Dave might be able to fill in some blanks for us about how the guest brain is calculating it's decision. I don't think it's a long if...then logic chain but an array of options and weights and it picks a value based on a random number roll. This method is faster and allows the current environment to be calculated asynchronously from the decision making.
 

DaveBamber

Frontier
Frontier
Dave might be able to fill in some blanks for us about how the guest brain is calculating it's decision. I don't think it's a long if...then logic chain but an array of options and weights and it picks a value based on a random number roll. This method is faster and allows the current environment to be calculated asynchronously from the decision making.

You're both thinking along the right lines. It is a weighted an array of options yeah, and they constantly re-check as they travel. Then once they reach the queue they re-evaluate that decision again but with more information. The two stage process allows us to present feedback at mostly appropriate locations and times.

I'm being stingy with details in my answer, because from a selfish point of view, player feedback is most useful when - like this thread - it describes what is happening, and with fresher pair's of eyes.

I hope we do get to do some deep dives into the sim at some point, but that's a fairly complex write-up!
 
I love hearing about the mechanics behind the scenes.

I would love an explanation of the thought percentages.
Are the percentages calculated from everyone in the park, or only those interacting with the ride?
 
Guests aren't on a ride -> need -> ride cycle from what I've seen so much as rides until a need is prioritized due to weighting and then back to rides. If they walk to a ride they can't ride due to guest type restrictions, they look for another ride unless they drained their needs in transit. But I also haven't seen any families stopping at rides they can't ride... I will have to setup a test and see if I can spot the behavior.

I know peeps aren't on a fixed cycle, it's just that it typically works out that way. Peeps will only go on rides if they're not being driven by a physical need. By the time they finish the ride, especially if there's a long walk and a long queue involved, they often then have a physical need to fill. So they often alternate between rides and needs on a fairly regular cycle. But they (hopefully) get happy from the ride, so are in a good mood during the time it takes to fill the need. But if they skip a ride (for whatever reason---queue length, price, no kids allowed, etc.), then they're not nearly as happy when they have to fill the 2nd need, and generally throw negativity at you.
 
Maybe it's "Frontier's Revenge".
The guests complain for more stuff all the time, and then complain about the stuff you give them.

Heh.
Heh heh.
Heh heh heh.

Those devs are mocking us, for sure.
 
good thread [up]

Once at the start of the queue, the peep then decides whether to really go on the ride or not. This appears to be based on whether children can go on the ride or not
this does seem like a silly way for guests to behave. Families should not head to a ride that is not for kids

Peeps with essentially zero money remaining walking to anything (rides or shops) other than the park exit or an ATM.
should poor/broke guests who can't find an ATM just leave? I think so

The relative excitement of rides not being part of the initial decision of peeps to walk to the start of its queue. At present, excitement is a largely meaningless stat for a ride because at most it seems only to affect the decision to enter the queue, not the decision to walk to the ride to begin with.
This could heavily affect the difficulty of the game, essentially making it easier or more profitable. I'm fine with making guests smarter, but I also think they should have a "wander" feature added to the game, where from time to time, certain guests will just randomly walk withOUT any destination in mind

Peeps know where the rides are to begin with so apparently they got a park brochure upon entering. This brochure should state which rides have minimum height requirements for customers.
I wish we could have the park map brought back, and that when guests don't have a map they don't know where anything is, essentially making them "wander" until they start learning where things are
 
Last edited:
I know peeps aren't on a fixed cycle, it's just that it typically works out that way. Peeps will only go on rides if they're not being driven by a physical need. By the time they finish the ride, especially if there's a long walk and a long queue involved, they often then have a physical need to fill. So they often alternate between rides and needs on a fairly regular cycle. But they (hopefully) get happy from the ride, so are in a good mood during the time it takes to fill the need. But if they skip a ride (for whatever reason---queue length, price, no kids allowed, etc.), then they're not nearly as happy when they have to fill the 2nd need, and generally throw negativity at you.

To clarify, which rides are you seeing this behavior on? I actually see it on rides that can accept kids except it is too scary or nauseous but not on coasters that don't accept kids.

I have an insanity adjusted right now to a 4 fear and some kids love it but other kids check it out and say 'that's too scary for me' after they get to the queue.

Just watched a 1200 prestige 4 seater rival (no kids) coaster entrance for about 10 minutes (4 fear, 2.3 nausea), no families ever approached the entrance and that's in a 5,000 guest park with a 32% family concentration.
 
Last edited:

DaveBamber

Frontier
Frontier
I love hearing about the mechanics behind the scenes.

I would love an explanation of the thought percentages.
Are the percentages calculated from everyone in the park, or only those interacting with the ride?

Hey Bitter! Its a good topic, though It might be worth a mod moving our two comments to a separate thread to keep this one on topic.

I'm interested to know what you believe it's showing without any extra information?

(Disclaimer - This is my current understanding, but maybe not be 100% accurate as I'm not a programmer!)

Thought percentages are calculated from everyone in the park, and we are careful in how we calculate and update that to keep performance high. The current method updates a large list of thoughts over time in small batches of guests.

The thoughts are then grouped together by type, and displayed with a representative thought next to the percentage.

For a ride or shop interface, we filter for thoughts that refer to that specific ride or shop. The percentages still refer to everyone in the park.

During the Alpha, we were instead using a list of thoughts as they were created - we tried the 10,000 most recent and the 2,000 most recent at different times - but found that thought percentages would be either too slow to change, or would fluctuate rapidly and give confusing feedback, or both depending on the park population.
 
To clarify, which rides are you seeing this behavior on? I actually see it on rides that can accept kids except it is too scary or nauseous but not on coasters that don't accept kids.

I have an insanity adjusted right now to a 4 fear and some kids love it but other kids check it out and say 'that's too scary for me' after they get to the queue.

Just watched a 1200 prestige 4 seater rival (no kids) coaster entrance for about 10 minutes (4 fear, 2.3 nausea), no families ever approached the entrance and that's in a 5,000 guest park with a 32% family concentration.

I have seen several types of coasters that don't allow kids, yet can be built with fear down in the kiddie range, attract families who then turn around and leave without thinking anything at all. No negative thoughts about price, queue, excessive intensity, or anything. I can't remember which specific coasters---that was a while ago, before I had any idea of the game mechanics. I mean really, coasters of this description should never be built :D. And it happened in 1-ride sandbox test facilities where I'd just build a coaster with zero scenery and then open it to see how many trains it could run with the actual loading time of real peeps instead of the too-short load time of test dummies. But anyway, there does not seem to be a peep thought of "Waaaaah, this coaster suits my tastes exactly but doesn't allow kids", so I had to infer this was why the families were turning away from this coaster.

In other news, I retract my request about ride excitement being part of the initial peep decision process. You are correct---it already is, as factored into prestige. Prestige is indeed a very large part of a ride's attractiveness, and excitement is a very large part of prestige, perhaps even the most significant part.

For example, in my full-blown park (which now has about 7500 guests), I recently installed a Hellion Ring. It had 100% queue scenery with very high overall park scenery surrounding it. I tweaked the sequences so it had a duration of 350 seconds and a fear of 3.8, but this gave it an excitement of only 1.2. This amounted to a prestige of only 71. It was utterly deserted. So I changed some of the sequences, keeping the duration the same. Excitement and fear both went to 5 and suddenly the prestige was 695, and now it's quite popular with "big kids".
 
I think 'wandering' which is what happens when no goal is selected, is the guest picking a random goal to walk towards and hoping another goal pops up. This would explainthe behavior in parks with few or no rides where guests will 'wander' to the entrance or rides they are technically not eligible for but not display the 'going home' or unhappiness about not going on a ride.

I wasn't able to recreate the behavior in a park with available kid compatible goals.
 
Last edited:
Hey Bitter! Its a good topic, though It might be worth a mod moving our two comments to a separate thread to keep this one on topic.

I'm interested to know what you believe it's showing without any extra information?

(Disclaimer - This is my current understanding, but maybe not be 100% accurate as I'm not a programmer!)

Thought percentages are calculated from everyone in the park, and we are careful in how we calculate and update that to keep performance high. The current method updates a large list of thoughts over time in small batches of guests.

The thoughts are then grouped together by type, and displayed with a representative thought next to the percentage.

For a ride or shop interface, we filter for thoughts that refer to that specific ride or shop. The percentages still refer to everyone in the park.

During the Alpha, we were instead using a list of thoughts as they were created - we tried the 10,000 most recent and the 2,000 most recent at different times - but found that thought percentages would be either too slow to change, or would fluctuate rapidly and give confusing feedback, or both depending on the park population.


Without looking at the spoiler, I always thought the thoughts were of peeps encountering the ride/shop. But I am not sure.
Why would you get the the percentage of peeps who think the ride is too expensive, from the whole population? Or that everyone in your park has thoughts about the queue length/wait time, upon entering the park? I would think they have to get to the ride/shop to determine these things. In the case of same shops, with same prices, if the "too expensive" was a population thought, why would they go to the next same shop and be surprised it is too expensive too. If it is a population percentage, they would already know, and not go to the same (food item) shop, they would look for a different, cheaper food item. If it was globally known, they would know which shop has they price they are willing to pay. Also, in my past experimenting, having all your burgers too expensive, except one shop, doesn't lead to peeps flocking to it. They try the other same price (too expensive) shops.


[Edit] after spoiler... I'm surprised!

"During the Alpha, we were instead using a list of thoughts as they were created - we tried the 10,000 most recent and the 2,000 most recent at different times - but found that thought percentages would be either too slow to change, or would fluctuate rapidly and give confusing feedback"
This explains what I used to see with shops during alpha! Wild fluctuations of too expensive, and great value. I even posted pics of 60%/40% expensive/value being shown at the same time! Or watching in minutes the thoughts flip from majority too expensive, to majority great value.

Huh.
 
Last edited:

DaveBamber

Frontier
Frontier
Without looking at the spoiler, I always thought the thoughts were of peeps encountering the ride/shop. But I am not sure.
Why would you get the the percentage of peeps who think the ride is too expensive, from the whole population? Or that everyone in your park has thoughts about the queue length/wait time, upon entering the park? I would think they have to get to the ride/shop to determine these things. In the case of same shops, with same prices, if the "too expensive" was a population thought, why would they go to the next same shop and be surprised it is too expensive too. If it is a population percentage, they would already know, and not go to the same (food item) shop, they would look for a different, cheaper food item. If it was globally known, they would know which shop has they price they are willing to pay. Also, in my past experimenting, having all your burgers too expensive, except one shop, doesn't lead to peeps flocking to it. They try the other same price (too expensive) shops.


[Edit] after spoiler... I'm surprised!

"During the Alpha, we were instead using a list of thoughts as they were created - we tried the 10,000 most recent and the 2,000 most recent at different times - but found that thought percentages would be either too slow to change, or would fluctuate rapidly and give confusing feedback"
This explains what I used to see with shops during alpha! Wild fluctuations of too expensive, and great value. I even posted pics of 60%/40% expensive/value being shown at the same time! Or watching in minutes the thoughts flip from majority too expensive, to majority great value.

Huh.

Thanks! it's always interesting to see where the impression diverges from the model.
Many thoughts do only occur when a guest reaches the queue, but guests will have some thoughts about a ride from a distance as well, such as "{reference} looks too intense for me", which is why we went for this generalised approach.

Guests having access to a knowledge pool of existing thought percentages about rides is an interesting concept that we hadn't thought of. It could make guests make a smarter decision in one sense, but it could also make guests unlikely to try out a ride when the price has been lowered, which is then technically a dumb decision. These kind of problems cropped up all the time during development!
 
What would be a cool feature I think would solve some of these problems with family's at rides they cant all rid, what if we could include a feature for family with parents and kids that some of the parents and or teens want to ride but say one of the parents doesn't the people that are able and want to ride could split up and come back much like you would if your grandma comes with you and your family to Six Flags for instance she would sit with the younger kids and wait for the parents and older kids to rid the ride and then once they were done they would resume their stay in the park .

This could probably be accomplished with specific waiting areas with benches and TVs that they would sit at, but if there was a flat ride both young kids and the older parent were OK with riding they could go ride that one instead while they wait or make a kid area that can be placed and staffed by one of the entertainers. Maybe even multiple types like a show/dance hall or a animal show.

These options for the parents and kids could be calculated with slightly different values for queue time and tolerances.

For instance a family goes to a high excitement low fear and nausea ride with a 10 minute queue time the people in the family able to go on would queue up for it and the others would split up. but for another coaster that has the same queue time, fear, and nausea rating but only an OK excitement rating they would bypass the ride because its not enough of a thrill or its not the most popular ride and the time spent with the family on other rides would be more important.

I think this kind of feature would improve on the interactivity and reality of the peep behavior without going to far into real life mechanics.
 
Back
Top Bottom