Hi everyone,
I've been playing openRCT for a while and I have to say: it's really amazing!
Of course I wouldn't be here if that's all I had to say. Now I don't know how far you guys are willing to deviate from "vanilla" RCT2. I of course understand if my proposal goes too far.
My idea: "revamp" ride values. They decide how much guests are willing to pay for rides.
The values are used are from the function static void ride_ratings_calculate_value(rct_ride *ride) in ride_ratings.c.
Right now there are some problems (in my eyes):
A (unique*) ride newer than 4 months is always worth more than $6. It doesn't matter whether it's a 1-tile-maze or a merry-go-round. The "new ride" bonus is simply an absolute value. The "old ride" penalties, however, are relative, which makes a lot more sense. I think it'd be better to also make the new ride bonus relative (e.g. 1.5x the value for new rides instead of +6$).
Example: A new ride that people normally pay $1 for is worth $7 (=700% bonus) but a ride that people normally pay $12 for is worth $18 (=150% bonus).
The old age penalty resets after a while (as was pointed out here). But before that happens, the penalty is pretty severe. At its worst, only 8% of the base price will be paid by guests. However, after 25 years, you'll be able to ask 56% again. I dunno if that's a gimmick, or maybe it signifies the fact the ride becomes cool again because it's ancient
Regardless, I think 8% is a bit too harsh. The lowest should probably be around 20%.
A good (linear) multiplier progression might be: (the first 2 are for new rides)
x1.5 1.2x 1x 0.87x 0.74x 0.60x 0.47x 0.34x 0.2x
Also, since most scenarios don't last past 5 years it's weird this thing only reaches the lowest point at 128 months (=16 years?). Since this mechanic isn't relevant for aesthetic players (they'll just use the renew rides cheat or even without money altogether), what purpose does that 16 years serve? Surely, the low point should be reached somewhere around 5-8 years.
The algo that decides whether guests buy something from shops takes into account their happiness and also a random value. For rides, this mechanic isn't implemented at all. IMO it'd be more fun and realistic to have the same situation. In other words: happy guests should sometimes enter slightly overpriced rides, while angry ones won't. Also, two guests with the same happiness value will not always make the same decision.
The junior roller coaster gives away excitement/intensity too easily. You can make a circle with 1 drop and people will pay $6 (or even $12 when it's new).
*unique = you don't have that type of ride in your park yet