"Realistic Thrusters" // Thruster Torque & Thrust Allocation

SolarSupremacy shared this feedback 43 days ago
Not Enough Votes

Suggestion


Currently, Space Engineers appears to move all thrust vectors from thrusters to the center of mass of their grid so they apply no torque. Without complex setups (which are only viable on PC), gyroscopes must be used to turn a ship.

My suggestion is to undo that and make thrusters apply force where they are, in addition to implementing a thrust allocation algorithm (for all ships, on by default, just like inertial dampers) which prioritizes gyroscope torque over thruster torque.

Gyroscopes would now become optional as thrusters alone could provide rotational acceleration (like RCS).

The utility of gyroscopes would now be maximizing thrust by countering the torque from your engines so thrust balancing isn't required. And, of course, providing redundancy in case you lose certain control authority such as in combat.

  • Could be a world/server option for people who don't want it.
  • It's intuitive and realistic. For all the physics and engineering we have in Space Engineers, specifically same-grid thrusters apply force without torque is odd, especially given the inconsistency once you mount a thruster on a rotor/piston.
  • It would provide more visual feedback (and in my opinion, make the game look more engaging and exciting) to see engines firing to control and balance the vehicle.
  • It would make combat more interesting as there's all kinds of emergent situations that could occur given the design of ships and what effects damage has on them. I.e., if you take out one of the engines on a twin-engine aircraft, unless it can produce enough torque from the other thrusters and/or gyros to compensate for the differential thrust, it'll spiral out of control and crash to the ground.
  • Gyroscopes would no longer be required, but still very useful. For example, cheap aircraft could just use a few atmospheric thrusters and be fine (such as with rotor-mounted thrusters and a thrust vectoring script currently). At the same time, this also means losing your gyroscopes in combat doesn't mean your ship is now magically locked to facing in one direction forever. You'll still be able to rotate as long as you have the thrusters to do so.
  • It's not that big of a change from how things are now. For all ships that are somewhat balanced, the gyroscopes every ship already has will be able to provide torque to compensate for unbalanced thrust. Even if you rip the gyroscopes off (or they aren't enough), a somewhat-balanced ship can still fly like normal as long as it can reach target torque via thrust balancing and/or using off-axis engines like RCS. Given how powerful gyroscopes currently are, even the tiny 2x2 guided missiles with one hydrogen thruster in each direction (impossible to balance) and only one gyroscope, just like people have been building for years, should fly perfectly fine. Only in extreme situations such as severe damage in combat, attempting to drill for resources at 100 m/s, or building-a-stupid-stick-with-a-cockpit-on-one-end-and-thrusters-on-the-other-to-show-your-friend-how-silly-the-physics-are would thruster torque cause your shouldn't-be-able-to-fly ship to not be able to fly.

Description and Example of Thrust Allocation


"Thrust allocation" is the process of taking desired linear and angular acceleration and calculating how much force each thruster should provide to achieve said linear and angular acceleration.

An example of how the logic could apply:


  1. The player, flying the red ship, presses W. The ship interprets this as "maximum forward acceleration, no linear acceleration in the other axes, and no angular acceleration".
  2. The ship first calculates what will happen if it sets all forward thrusters to full beans. Forward acceleration is at maximum, other linear accelerations are zero, but angular acceleration will not be zero as there will almost never be exactly zero torque.
  3. Next, the ship uses gyroscopes (if there are any). If the gyroscopes can provide the amount of torque needed to reach the goal, that's it! The ship flies exactly like it used to.
  4. If there is still torque to be corrected, thrust allocation must be used. Either the forward engines can have their thrust decreased in a manner which corrects the torque (as in "thrust balancing"), or the forward engines remain at full and lateral engines on the ship are used to apply the desired torque (think RCS). Both methods would always be available to the algorithm, but the priority for which is done first can be "economy" and "performance" modes.
  5. In an extreme case, such as having no gyroscopes and impossible thrust balancing, the algorithm will not apply any forces because it cannot find a solution to reach the goal. The player should be able to toggle a setting (similar to inertial dampers) to switch between balanced thrust allocation (possibly slower movement, but perfectly accurate) and thrust override (player's input for linear acceleration takes priority, thrust allocation still applies torque as needed on axes that the player is not providing input on).

As far as the player is concerned, "the ship just figures it out".

If you've ever played Reassembly and built wacky/unbalanced ships, you'll see how powerful thrust allocation is. Even in completely unbalanced situations, the ships still get around pretty well (and Reassembly doesn't have gyroscopes to compensate).

Conclusion


I believe this would make a significant improvement to Space Engineers (and I hope is under consideration for Space Engineers 2). While it would make completely unrealistic-looking ships not fly unless gyroscopes are used, or fly poorly if not enough gyros are used, almost everything else in Space Engineers has realistic engineering challenges behind it. I don't think "building a ship with all of the thrusters mounted on a 20 meter pole to the left" is where the line should be drawn between "this is desirable" and "this is too realistic to be fun". I'd much rather have ships spiral out of control and react realistically to unbalanced thrust (most notably in combat), in addition to seeing engines all over firing like RCS and having RCS be a redundancy/economical replacement for gyroscopes, than have the convenience of ignoring physics in a physics game while also being required to put a gyroscope in everything.

Other people online have discussed this idea to no end. There's even mods on the workshop to do this, but because of limitations in the game's engine/API, the mods don't function as well as an implementation in the game would.


And, of course, it could just be a toggle in the world/server settings for those who don't want it.

Replies (1)

photo
1

There's also a nice benefit where this algorithm would flawlessly enable subgrid thrusters to work on the main vehicle, being used properly and not causing any weird physics inconsistencies. Vectored thrusters galore!

Leave a Comment
 
Attach a file