Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The penalties for excessive lateral G's are significantly lower in vanilla and classic #8136

Closed
LordMarcel opened this issue Oct 22, 2018 · 4 comments · Fixed by #9667
Closed
Labels
bug Something went wrong.
Milestone

Comments

@LordMarcel
Copy link

If you look at these screenshots you can see that the penalty for having at least 2.81 lateral G's is about 3.75 in OpenRCT2 while it's only about 2 in vanilla.
image
image

The same goes for the penalty for having at least 3.11 lateral G's. In OpenRCT2 you get an extra 8.5 intensity while in vanilla it seems to be about 4.6.
image
image

Here is also the save file if you want to see it for yourself.
Lateral G penalties.zip

The extra nausea you get from those penalties is different as well. Classic has the same penalties as vanilla.

I know that the order of the stat requirement penalties and lateral G penalties was reversed in openrct2, but that shouldn't have an influence here since there are no stat requirement penalties.

@tombomp
Copy link
Contributor

tombomp commented Oct 22, 2018

This was from #3656 which has the reasoning.

@LordMarcel
Copy link
Author

Why is that the reason? In there I see nothing about changing the actual penalties, only the order. Since these rides both don't receive any penalties from the stat requirements that change should not have any effect on it.

@Broxzier Broxzier added the investigate Not sure what the problem is yet. label Nov 25, 2018
@deurklink
Copy link
Contributor

I see the same penalties for excessive lateral G-forces in the code of very old versions of OpenRCT2.. (ride_ratings.c). Perhaps someone should check if the aforementioned fix caused the rating calculations to be different, or that it was already different before that.

@duncanspumpkin
Copy link
Contributor

duncanspumpkin commented Jul 28, 2019

Why is that the reason? In there I see nothing about changing the actual penalties, only the order. Since these rides both don't receive any penalties from the stat requirements that change should not have any effect on it.

By changing the order you change the size of the penalty if and only if there is another modifier that is a multiplier. There are a number of multiplier modifiers listed below:

  • ride_ratings_apply_adjustments
  • ride_ratings_apply_intensity_penalty only excitement
  • ride_ratings_apply_highest_drop_height_penalty
  • ride_ratings_apply_max_speed_penalty
  • ride_ratings_apply_num_drops_penalty
  • ride_ratings_apply_max_negative_g_penalty
  • ride_ratings_apply_max_lateral_g_penalty
  • ride_ratings_apply_first_length_penalty

Before the g force calc applied the penalty at the start of the rating calc.
It has now been moved to after the:

  1. ride_ratings_apply_highest_drop_height_penalty
  2. ride_ratings_apply_max_speed_penalty
  3. ride_ratings_apply_max_negative_g_penalty
  4. ride_ratings_apply_num_drops_penalty
  5. ride_ratings_apply_max_lateral_g_penalty
  6. ride_ratings_apply_first_length_penalty

So in that 3.11 coaster we have:
No application of ride_ratings_apply_highest_drop_height_penalty as it is high enough.
No application of ride_ratings_apply_max_speed_penalty as it is fast enough.
No application of ride_ratings_apply_max_negative_g_penalty as it is less negative than the threshold.
No application of ride_ratings_apply_first_length_penalty as it is long enough for the first section.
No application of ride_ratings_apply_num_drops_penalty as it has enough drops.
ride_ratings_apply_max_lateral_g_penalty does not apply for this ride type.

So because of the above it gets the full penalty and that should match the vanilla game. This as much as it pains me to say it suggests there is a mistake somewhere in the OpenRCT2 calculation.

And after a little look at the code I've found the source of the issue. The ride type modifier is not being applied to the ride_ratings_apply_excessive_lateral_g_penalty unlike the old ride_ratings_apply_gforces so it should be 35746*penalty / 65356 so roughly 0.54 * penalty. So it should be ~5.6 points lower for intensity. Giving a final estimated value for intensity of 13.685. Which is very very close to RCT2. I think that proves the issue.

@duncanspumpkin duncanspumpkin added bug Something went wrong. and removed investigate Not sure what the problem is yet. labels Jul 28, 2019
@duncanspumpkin duncanspumpkin added this to the v0.2.4 milestone Jul 28, 2019
duncanspumpkin added a commit to duncanspumpkin/OpenRCT2 that referenced this issue Jul 28, 2019
…enalty.

This penalty had been modified for OpenRCT2 moving it from before certain other penalties were applied to after. The move accidently removed the ride type multiplier which caused a very large penalty to be applied. In addition the excitement penalty applied to the whole calculation instead of just the gforce bonus. This caused an excessive penalty to the excitement.
duncanspumpkin added a commit to duncanspumpkin/OpenRCT2 that referenced this issue Jul 29, 2019
…enalty.

This penalty had been modified for OpenRCT2 moving it from before certain other penalties were applied to after. The move accidently removed the ride type multiplier which caused a very large penalty to be applied. In addition the excitement penalty applied to the whole calculation instead of just the gforce bonus. This caused an excessive penalty to the excitement.
duncanspumpkin added a commit that referenced this issue Jul 29, 2019
…9667)

* Fix #8136. Fix incorrect calculation of excessive lateral G penalty.

This penalty had been modified for OpenRCT2 moving it from before certain other penalties were applied to after. The move accidently removed the ride type multiplier which caused a very large penalty to be applied. In addition the excitement penalty applied to the whole calculation instead of just the gforce bonus. This caused an excessive penalty to the excitement.

* Add changelog entry. Fix default initilisation.

* Increment network version
tupaschoal pushed a commit to tupaschoal/OpenRCT2 that referenced this issue Sep 23, 2019
…enalty. (OpenRCT2#9667)

* Fix OpenRCT2#8136. Fix incorrect calculation of excessive lateral G penalty.

This penalty had been modified for OpenRCT2 moving it from before certain other penalties were applied to after. The move accidently removed the ride type multiplier which caused a very large penalty to be applied. In addition the excitement penalty applied to the whole calculation instead of just the gforce bonus. This caused an excessive penalty to the excitement.

* Add changelog entry. Fix default initilisation.

* Increment network version
janisozaur added a commit that referenced this issue Oct 28, 2019
- Feature: [#9285] Remember current group in scenario list window.
- Feature: [#9918] Increase image list capacity by about 100k units.
- Change: [#1349] Increase the number of ride music played simultaneously from 2 to 32.
- Fix: [#4927] Giant screenshot cut off at bottom and top.
- Fix: [#7572] Queue paths connect to regular paths through fences.
- Fix: [#7690] Problem with guests freezing on certain tiles of path.
- Fix: [#7883] Headless server log is stored incorrectly if server name contains CJK in Ubuntu
- Fix: [#8136] Excessive lateral G penalty is too excessive.
- Fix: [#8584] Duck spawning function does not check tiles with x or y coordinate of 0..64 (Original bug)
- Fix: [#9179] Crash when modifying a ride occasionally.
- Fix: [#9533] Door sounds not playing.
- Fix: [#9574] Text overflow in scenario objective window when using CJK languages.
- Fix: [#9603] Don't render audio when master volume is turned off.
- Fix: [#9625] Show correct cost in scenery selection.
- Fix: [#9669] The tile inspector shortcut key does not work with debugging tools disabled.
- Fix: [#9675] Guest entry point limit can be bypassed in scenario editor.
- Fix: [#9683] Cannot raise water level if part of the tool's area of effect is off of the map.
- Fix: [#9684] Entering custom size for water/land tool allows confirmation with main enter key, but not numpad enter key.
- Fix: [#9690] The keyboard shortcut for rotating the game view can be set to Enter or KP Enter, but not both.
- Fix: [#9717] Scroll bars do not render correctly when using OpenGL renderer.
- Fix: [#9729] Peeps do not take into account height difference when deciding to pathfind to a ride entrance (original bug).
- Fix: [#9902] Doors/Portcullis do not check to make sure doors are open causing double opens.
- Fix: [#9926] Africa - Oasis park has wrong peep spawn (original bug).
- Fix: [#9953] Crash when hacked rides attempt to find the closest mechanic.
- Fix: [#9955] Resizing map in while pause mode does not work and may result in freezes.
- Fix: [#9957] When using 'no money' cheat, guests complain of running out of cash.
- Fix: [#9970] Wait for quarter load fails.
- Fix: [#9994] Game action tick collision during server connect and map load.
- Fix: [#10017] Ghost elements influencing ride excitement.
- Fix: [#10036] Do not allocate large chunks of memory for save file classification.
- Fix: [#10106] Ride circuits should not be used for modes that do not support it.
- Fix: [#10149] Desync in headless mode with rides that create smoke particles.
- Improved: [#9466] Add the rain weather effect to the OpenGL renderer.
- Improved: [#9987] Minimum load rounding.
- Improved: [#10125] Better support for high DPI screens.
XplosiveLugnut pushed a commit to XplosiveLugnut/OpenRCT2 that referenced this issue Apr 27, 2020
…enalty. (OpenRCT2#9667)

* Fix OpenRCT2#8136. Fix incorrect calculation of excessive lateral G penalty.

This penalty had been modified for OpenRCT2 moving it from before certain other penalties were applied to after. The move accidently removed the ride type multiplier which caused a very large penalty to be applied. In addition the excitement penalty applied to the whole calculation instead of just the gforce bonus. This caused an excessive penalty to the excitement.

* Add changelog entry. Fix default initilisation.

* Increment network version
XplosiveLugnut pushed a commit to XplosiveLugnut/OpenRCT2 that referenced this issue Apr 27, 2020
- Feature: [OpenRCT2#9285] Remember current group in scenario list window.
- Feature: [OpenRCT2#9918] Increase image list capacity by about 100k units.
- Change: [OpenRCT2#1349] Increase the number of ride music played simultaneously from 2 to 32.
- Fix: [OpenRCT2#4927] Giant screenshot cut off at bottom and top.
- Fix: [OpenRCT2#7572] Queue paths connect to regular paths through fences.
- Fix: [OpenRCT2#7690] Problem with guests freezing on certain tiles of path.
- Fix: [OpenRCT2#7883] Headless server log is stored incorrectly if server name contains CJK in Ubuntu
- Fix: [OpenRCT2#8136] Excessive lateral G penalty is too excessive.
- Fix: [OpenRCT2#8584] Duck spawning function does not check tiles with x or y coordinate of 0..64 (Original bug)
- Fix: [OpenRCT2#9179] Crash when modifying a ride occasionally.
- Fix: [OpenRCT2#9533] Door sounds not playing.
- Fix: [OpenRCT2#9574] Text overflow in scenario objective window when using CJK languages.
- Fix: [OpenRCT2#9603] Don't render audio when master volume is turned off.
- Fix: [OpenRCT2#9625] Show correct cost in scenery selection.
- Fix: [OpenRCT2#9669] The tile inspector shortcut key does not work with debugging tools disabled.
- Fix: [OpenRCT2#9675] Guest entry point limit can be bypassed in scenario editor.
- Fix: [OpenRCT2#9683] Cannot raise water level if part of the tool's area of effect is off of the map.
- Fix: [OpenRCT2#9684] Entering custom size for water/land tool allows confirmation with main enter key, but not numpad enter key.
- Fix: [OpenRCT2#9690] The keyboard shortcut for rotating the game view can be set to Enter or KP Enter, but not both.
- Fix: [OpenRCT2#9717] Scroll bars do not render correctly when using OpenGL renderer.
- Fix: [OpenRCT2#9729] Peeps do not take into account height difference when deciding to pathfind to a ride entrance (original bug).
- Fix: [OpenRCT2#9902] Doors/Portcullis do not check to make sure doors are open causing double opens.
- Fix: [OpenRCT2#9926] Africa - Oasis park has wrong peep spawn (original bug).
- Fix: [OpenRCT2#9953] Crash when hacked rides attempt to find the closest mechanic.
- Fix: [OpenRCT2#9955] Resizing map in while pause mode does not work and may result in freezes.
- Fix: [OpenRCT2#9957] When using 'no money' cheat, guests complain of running out of cash.
- Fix: [OpenRCT2#9970] Wait for quarter load fails.
- Fix: [OpenRCT2#9994] Game action tick collision during server connect and map load.
- Fix: [OpenRCT2#10017] Ghost elements influencing ride excitement.
- Fix: [OpenRCT2#10036] Do not allocate large chunks of memory for save file classification.
- Fix: [OpenRCT2#10106] Ride circuits should not be used for modes that do not support it.
- Fix: [OpenRCT2#10149] Desync in headless mode with rides that create smoke particles.
- Improved: [OpenRCT2#9466] Add the rain weather effect to the OpenGL renderer.
- Improved: [OpenRCT2#9987] Minimum load rounding.
- Improved: [OpenRCT2#10125] Better support for high DPI screens.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something went wrong.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants