Make smaller subs accelerate faster #14844
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Every submarine in Barotrauma accelerates at the same rate because drag is calculated directly off the submarine's mass.
This is quite counter intuitive: I would definitely expect a tiny drone to achieve top speed much earlier than a container ship. It also makes shuttles drive like aßß, to which the suggested solution is to increase thrust, but that has an unwanted effect of raising the top speed.
To overcome these limitations, this PR changes how hydrodynamic drag is calculated. It simply uses mass^⅔ and scales the forces to remain 100% compatible.
Disclamer: I know that Update() is not the best place to calculate these factors, but I'd rather you gave it a try how the changes make the game feel before I spent more time researching a better place for it.
(spoiler)
horizontalDragCoefficient
andverticalDragCoefficient
? They do absolutely nothing and are always 0.1