![]() |
SUBSIM: The Web's #1 resource for all submarine & naval simulations since 1997 |
|
![]() |
#1 |
Swabbie
![]() Join Date: Mar 2020
Location: Norway
Posts: 11
Downloads: 3
Uploads: 0
|
![]()
In the game currently, the u-boats (and other ships for that matter) feel very much like they are on “rails”. IRL though boats and ships do a whole lot of slipping and sliding. I implemented a simplified physics model to demonstrate how boats actually behave. It’s tuned to exaggerate the adverse effects of using the rudder, and the sliding of the boat to make it easier to see. It’s available here: https://scratch.mit.edu/projects/395033149
About the model: The model is based on Newtonian physics. Both the rudder and the hull of the boat itself are considered lifting surfaces. That is the water acts upon them with a force perpendicular to the surface, proportional to speed squared, however in my simulation I had to settle for just proportional to speed, to prevent the simulation form freaking out when speed got moderately high. The amount of force is also dependent on the angle of attack relative to the incoming waterstream. In my simulation I chose to use the sine of the angle of attack as the function, which is not quite right either, but it was easy to do. A lookup table would probably be better. In addition to those forces there is also the thrust from the propeller and water friction, also proportional to the speed. I also calculate the torque from the rudder with the same math as the rudder force. There is also a stabilizing torque from the hull, which uses the same math as the lift from the hull. Lastly there is a stabilizing torque which depends only on angular velocity. Once all the forces have been summed up, the velocity vector is decomposed. The forces are added to the velocity vector to get the new course and speed. Lastly the torques are summed up, and added to the angular velocity of the boat, and the boat, and the angular velocity is added to the heading of the boat. For both these steps it is important to consider the time since the last step of course, otherwise the simulation will run differently depending on how fast the physics can be calculated. I did not consider this in my simulation, so slow computers may have slightly different results. Other factors that I have overlooked in my model is the effect of propwash over the rudders, which makes them much more effective when the propellers are driving the boat forwards. The twin-prop design also offers some stabializing torque when the props are driven close to the speed at which the boat is moving. Also I have neglected to account for the effect that the turning of the boat has on the angle of attack on the rudders. And lastly there may exist different flow-regimes, depending on speed and angle of attack, which would also influence the forces involved, which I have not modeled, but could be approximated with lookup-tables if necessary. Given that I was able to throw together this demo in about a day in a coding language I never used before suggests to me that this should be not too hard to add to the game. Though there might of course be limitations with how things are implemented in game that makes things more challenging. How would this affect gameplay? The helmsman would have more of a challenge obviously. In order to make a clean turn so that the navigators job becomes easy, he/she must anticipate the boats response to a larger extent than the current system. There is more of a delay before the boat starts to turn, and the turn has to be “arrested” properly as well. Simply straightening out the rudder isn't going to make the boat go straight, that’s just not how boats work. It should be simple enough to add some turbulence and wake effects as well to this model, making the helm a fulltime job, as it would be IRL. |
![]() |
![]() |
![]() |
#2 |
Captain
![]() |
![]()
I think a more accurate "sea-state" model, whereby in rough weather it becomes harder to maintain a specific periscope depth, and harder to take accurate sightings, has some useful gameplay impacts. I'm not sure that "making the navigators job harder" or otherwise making being helmsman a more difficult proposition really falls into that category on it's own.
Similarly, an arguably more worthy area for improved modelling of the U-boats handling, is in the vertical. Reading accounts of submarine warfare at the time, it was not unusual for a loss of control in the vertical to occur during a DC attack, leading to accidentally broaching the surface, or having to arrest a rapid unwanted dive. This seems to me to be a more useful area for improving the physics model, rather than keeping accurate headings; looking at it from a gameplay point of view? |
![]() |
![]() |
![]() |
#3 | |
Swabbie
![]() Join Date: Mar 2020
Location: Norway
Posts: 11
Downloads: 3
Uploads: 0
|
![]() Quote:
Also consider that I more or less "solved" the problem in a day. It seems to me that this would not be a very development time intensive feature to implent, so the return on investment might be quite good, even though the return it self might not be that great. |
|
![]() |
![]() |
![]() |
#4 | |
Captain
![]() |
![]() Quote:
|
|
![]() |
![]() |
![]() |
#5 | |
Swabbie
![]() Join Date: Mar 2020
Location: Norway
Posts: 11
Downloads: 3
Uploads: 0
|
![]() Quote:
|
|
![]() |
![]() |
![]() |
#6 |
Duplicate account
![]() Not Allowed Join Date: Mar 2019
Location: The Great White North
Posts: 18
Downloads: 22
Uploads: 0
|
![]()
IMHO it's important to maintain a reasonable degree of realism in the game/sim by implementing the 1st law of Newton in the code.
Driving a boat on/in the water is not the same as driving a car on the road, or a plane in the air. In order to counteract inertia, a force must be applied in the opposite direction . Basic seamanship teaches you that if you turn to port, and then bring the helm back to midship position, you'll keep turning for a while until friction stabilizes your course. Or you can bring the helm to starboard (opposite direction) for a short period of time to stop turning more quickly. The same applies to any movement, like going astern to stop the ship more quickly. I think there is a lot to gain in having the feeling that you are aboard a submarine that behaves more like a sea-going vessel. ![]() |
![]() |
![]() |
![]() |
Thread Tools | |
Display Modes | |
|
|