KeenSoftwareHouse / SpaceEngineers

2.94k stars 897 forks source link

Weird Atmospheric Thruster Balancing #452

Open Evrey opened 9 years ago

Evrey commented 9 years ago

https://www.youtube.com/watch?v=wHNByN7iklM&t=9m10s

Jon from w4stedspace spotted a very interesting balancing issue, that indeed makes it difficult to guess how many atmospheric thrusters are required to lift a ship.

What he measured:

 Thruster Type   | Asserted Force | Max. Mass to Lift | Mass / Force 
-----------------+----------------+-------------------+--------------
Large Ship large |       4 500 KN |         3 400.0 t |    0.76 t/KN 
Large Ship small |         350 KN |            70.0 t |    0.20 t/KN 
Small Ship large |         340 KN |           230.0 t |    0.68 t/KN 
Small Ship small |          65 KN |            31.5 t |    0.49 t/KN 
* 1t = 1000 Kg`

I added a column showing the scaling factor between the thruster force and the ship's gravitational force. These should be all the same to be physically accurate. However, as one can see, there is no way one can guess a ship's maximum mass based on the currently equipped thrusters.

So, I'm asking for all atmospheric thrusters to have the same scaling factor, e.g. 75%.

I guess that ion and hydrogen thrusters might have the same balancing issues, but I did not do any kind of measurements with them.

I think, Keen might already be doing a lot of balancing work, so this issue might - for them - be redundant.

Rynchodon commented 9 years ago

The mass displayed on the info screen is mass of ship + mass of cargo. However, the actual mass used for calculations is mass of ship + mass of cargo / inventory multiplier. see http://forum.keenswh.com/threads/update-01-094-new-small-ship-cockpit-model-collision-particle-effect-tutorial-scenarios.7365810/

In addition, the force of atmospheric and ion thrusters are affected by the air density.

Evrey commented 9 years ago

Yeah, I already knew about the air density stuff. However, thanks for the info about the inventory multiplier. It does make sense... in a way... but is still not very intuitive.

blandau commented 8 years ago

Update 01.156: I've found similar issues with atmospheric thrusters and there seems to be some sort of diminishing returns with the number of thrusters for the thrust-up direction (thruster marked Up in the Control Panel). The other directions were not tested.

While the diminshing returns is one anomoly the second is that the game doesn't seem to be following standard physics. Using the TWR formula found on Wikipedia (https://en.wikipedia.org/wiki/Thrust-to-weight_ratio), I used it to solve for weight: W = T / (0.001 * 9.81). The T is in kilo-Newtons and W would be the max weight in kilograms in 1G, assumed to be 9.81 m/s^2, that the craft becomes buoyant or neutral if you prefer. The 9.81 m/s^2 is what I assumed the Earth-like planet uses when the G-rating in the UI says is 1G while I did the tests. If the issue is the Earth-like planet G-rating is not 9.81 m/s^2, then this explains the need for the magic number but it does not explain the diminishing return.

Testing conditions: Easy Start Earth creative The issued mining craft at the base. Thruster used is small craft large atmospheric thruster. For the one-thruster test, I had to add a single small ship small thruster because a single large cannot lift 100,000 kg by itself. Modifications to the mining craft include: removing the left and right thrust wings and replacing them with a single left and right small thruster, added an additional large reactor, removed the down thrusters to remove any chance of downward force dampening, and setup a control panel group for the up thrusters and used the thrust override.

While I don't have the exact thrust to know max weight lift, I instead used observations in the game. As I slid the override slider left or right, I settled on a number in which the craft seemed to bounce up and down. I then used CTRL-click to adjust the percentage of thrust by one-tenth increments until the craft was bouncing up and down extremely slowly. Whether or not a "true" hover could be achieved I didn't find out.

All results below are against a 100,000 kg weight observed while outside of the craft in its Info panel.

Num of Engines Total Thrust (kN) Max Weight Lift (kg) (MWL) Magic Multiplier MWL with Magic Multipler
1* 387.4 39,490.32 2.54 100,305.4
2 424.0 43,221.20 2.32 100,273.19
3 462.0 47,094.8 2.13 100,311.93
4 498.8 50,846.08 1.97 100,166.77
5 542.0 55,249.75 1.81 100,002.04

*An additional small ship small thruster was added to achieve the bouncing observation mentioned above.

These numbers are not comparing the number of engines and their total max kN of thrust against the weight but rather an observation of a magic multiplier and what appears to be a diminishing return in thrust with more engines. It is this magic multiplier and diminishing return that makes atmospheric mining guess work.

If we look at the MWL, then we'll find that the total thrust used should not have been enough to lift 100,000 kg. If we use a magic multiplier, then we achieve enough kN of thrust to get over the 100,000 kg weight.

At the height above the hidden sea level altitude, the max override thrust reported in the control panel's UI was 366.6 kN. At the lake near by, a lower altitude, it was 373.0 kN. This observation lead me to use what the game reported as the thrust number.

I am aware that higher the air density the higher the kN thrust but this not a factor in these calculations. TWR is purely the object providing the thrust versus what it is trying to lift. The engines have a varying thrust rating based on altitude above sea-level. Since all these tests were in the same spot, at same altitude, I have the small ship large atmospheric thruster's max kN thrust rating for my altitude: 366.6 kN.

Knowing this rating and the fall off only helps to know how many thrusters I need for a given weight at a given altitude.

Some assumptions about the game calculation:

I did not test this but I'd assume that since total required thrust seemed to go up with more engines that the power draw also went up.

Some differing expectations of the results:

The amount of total thrust to lift 100,000 kg of weight should not have changed, yet it does. Adding more thrusters should not change the total thrust need as long as the craft weight is kept constant at 100,000 kg. Adding thrusters would simply mean that the required thrust per thruster is reduced to maintain this constant required max thrust for 100,000 kg weight. I would also expect that the power draw remain constant as the number of the same thrusters were added and weight kept constant at 100,000 kg. While the required thrust per thruster is reduced, they add up the required thrust to lift 100,000 kg and that number should be constant along with the power draw.

Any response from KSWH on this matter would be greatly appreciated. I and many others would love to do atmospheric mining without throwing a magic number of thrusters on a grid and hope it works. Finding out it is not enough in a survival game is not very fun. I'm not asking nor expecting an in-game UI that shows a max weight rating. While this would be nice, however, this is something that could be achieved through in-game scripting.

What I am expecting is that all atmospheric thrusters (by grid & size) get a constant thrust rating at sea-level and a calculated (not magical) fall-off with altitude. After fixing/adjust atmospheric thrusters, maybe the UI could report the thruster's thrust rating at sea-level and constant altitude like 6,000 km in its control panel as well as both the player's and/or grid's current altitude above sea-level in the HUD. I believe with these UI changes and the adjustments to the atmospheric thrusters, players and scripters can get better information to make better craft.

Thanks for taking the time to read.