Welcome to Keen Software House Forums! Log in or Sign up to interact with the KSH community.
  1. You are currently browsing our forum as a guest. Create your own forum account to access all forum functionality.

Thrusters applying force relative to center of mass

Discussion in 'Suggestions and Feedback' started by kuro11, Oct 18, 2013.

Thread Status:
This last post in this thread was made more than 31 days old.
  1. chessmaster42 Apprentice Engineer

    Messages:
    228
    And this is where the debate of realism versus gameplay is at because we don't know what the end goal is for the game. One side wants realism while the other wants more fun (read: gameplay or creativity). Personally I think this, like many other suggestions, should be tied to whether or not the server is on hardcore mode or easy mode, essentially.
     
  2. Redsight88 Trainee Engineer

    Messages:
    52
    Both myself and others already suggested a good way to go about implementing it: You would have an on-board computer that automatically scales the power of thrusters relative to other thrusters in order to avoid unwanted rotation. That way, even if you didn't put your thrusters center of mass, your ship could still move in any direction without much extra rotation as long as your thrusters are in somewhat appropriate locations; but, placing them too inefficiently will have the effect of reducing your maximum speed and maneuverability since some of them have to be scaled back for balancing with the others.(the others would have to compensate more while trying to keep your ship steady)
     
  3. Ralith Trainee Engineer

    Messages:
    79
    I was very disappointed to discover that thruster location is currently completely irrelevant.

    This game is incredibly exciting, and the realism focus advertised in the announcement post at http://blog.marekrosa.org/2013/09/space-engineers-announced-development.html along with the newtonian physics visible in the youtube videos got me very excited. On purchasing the game this was one of the first things I tried, and was sad to see such a simplified approach taken.

    I agree that automatic thruster throttling a la RCS in Kerbal Space Program is a good solution here. Additionally, this would allow the use of differential thrust (e.g. thrusting forwards left of the center of gravity and backwards to its right) to turn more rapidly when thrusters are placed such that they have plenty of leverage. Computing the center of gravity is straightforward and only needs to be done when a ship is modified, so CPU load should be a non-issue.

    In addition to this, the gyroscopes should remain, and provide another way to balance out torque from uneven thrusters. This way even a completely unbalanced scifi-style ship could be produced just by using sufficiently many/sufficiently powerful gyroscopes.

    Note that gyroscopes as used in the current release of the game are in fact highly realistic, and almost exactly the same as what's used in modern spacecraft. They're called control moment gyroscopes (see http://en.wikipedia.org/wiki/Control_moment_gyroscope) and basically let you turn electricity into torque. They've superseded flywheels because, though they're more complex to control, they don't have the limitations; a control moment gyro never accumulates excess energy, so it can be safely used in the presence of uneven external forces. However, they can only create a certain amount of torque, so if you have to balance a large uneven thrust you'll need more gyroscopes to compensate, and if your ship is large/heavy, you can make it turn faster by using more/larger gyroscopes as well.

    The maximum torque that can be generated by all installed gyroscopes and the torque caused by uneven thrust are all easily calculated and rarely need to be recalculated, meaning that the maneuvering characteristics of a ship can be computed cheaply and with little complexity.

    These changes would make ship design really matter. Right now all you have to do is just smack on the same standard set of components wherever they fit, and wrap as much armor as you like around it all. It's boring, encourages ugly messes of spacecraft, and misses a major opportunity for interesting gameplay. With realistic handling of torque, you'd still be able to play with weird designs, but the more balanced your ship, the more energy-efficient it becomes, meaning more power to spare for maneuvering, weapons, tools, and so on. This gives you an actual in-game reason to carefully consider your design, adding substantial gameplay depth while still remaining accessible to novices.

    EDIT: After more experimentation (i.e. filling one of the big unmaneuverable ship's holds with gyros) it's clear that gyroscopes do indeed have a maximum torque they're able to apply already. So all we need now is off-center thrust to create torque, and the controls to compensate with gyros (in effect reducing the free torque you have to turn in an unbalanced direction) and thruster throttling.
     
  4. fred4106 Trainee Engineer

    Messages:
    15
    This needs to be added. Making the game "feel" more realistic will make it much more fun to design ships. I might be biased because I like building for function over form, but this would make me enjoy the game even more.

    If it does get added, I fully support the fly-by-wire system of control so you can still fly in straight lines.
    Also, the ships should not stop themselves when you stop pressing a key. You should add an extra control that will stop all relitive motion of the ship.
     
  5. Nivve Apprentice Engineer

    Messages:
    151
    The physics shown when crashing ships into each other show that the game already handles mass and centers of mass, so having the same account fro thrusters shouldn't be a large distance away.

    Also I am actually wondering what causes rolling currently, since there is no center of mass currently for the thrusters, what thrusters are involved in rolling and turning?
     
  6. solver Trainee Engineer

    Messages:
    36
    Some of the games i play i want ultra realistic (silent hunter series) and some i just wan't pure fun (borderlands).
    So i, as many others, stand with one foot in each camp.

    One problem with block based construction like this is i like do design things sleak and good looking.
    If i wanted to build a sleak design like the cruisers of starwars or star trek, i would have to make them huge, epic even, to compensate for the limitations of block building. If i dont go huge scale, it would just look like a nice ship with lots of ugly thruster asemblys glued on all over the ship to get the thrust evenly distributed.

    So for the sake of design, i would have to lean towards a more simplified aproach.
    But the nerd within would love to spend 5 hours moving a thruster back and forth to find the optimum spot, and that would probebly get me closer to the red dwarf ship then the enterprise.
     
  7. kuro11 Apprentice Engineer

    Messages:
    125
    That's the idea solver, that I want the option to fiddle with thruster layouts if I want but there isn't a need to do so if you just want pretty.
     
  8. Ralith Trainee Engineer

    Messages:
    79
    With gyroscopic compensation, you wouldn't need to fiddle around for hours to place the thrusters just right. That way we can have realism in the physics without making things hard for everyone and preventing weirder designs, or having the fundemental laws change unpredictably from server to server.

    All rotation currently comes from the gyroscopes, which are control moment gyroscopes (https://en.wikipedia.org/wiki/Control_moment_gyroscope) like what real spacecraft use for this exact purpose. It would be nice to have the option to use thrusters to assist turning too (especially on large ships, where a thruster might be far enough away from the center to have substantial leverage advantage) or possibly even as an alternative to gyroscopes entirely.

    Gyroscopes should probably be modified to cost energy proportional to how much force they're exerting at any given moment, just like thrusters do, to keep things balanced.
     
  9. TechyBen Junior Engineer

    Messages:
    542
    Yeah. You get two results if this idea is added, and one is specifically for those who just want a creative ship. If the thrust auto-balances, but scales down (so your space ship is slow) the solution is easy for a player to find:

    1) The answer is labeled with in game prompts that say "your ship is slow/unbalanced, either put engines in a better place or just:"
    2) "Add more Gyros!"

    It means creative ships need more gyros and more power plants, but that's always a given for form over function in just about any game. It's really simple even for new players to understand more gyros are better (easy) or they need more functional designs (harder). So the same would apply here. A player does not need to worry about any balance if they do not wish to, because they can just add more gyros. :)

    Half of my designs would be functional, and half would be creative. But just like in KSP, I already just use automatic balancing/autopilot to correct for error in anything that I remember to add rockets to in the first place. ;)
     
  10. kuro11 Apprentice Engineer

    Messages:
    125
    The only issue I have with the "gyroscopes" concept is that in a real-world situation:
    "In the presence of these continual environmental disturbances CMGs absorb momentum in an attempt to maintain the space station at a desired attitude. The CMGs may eventually saturate (absorbing momentum to the point where they can absorb no more), resulting in loss of effectiveness of the CMG array for control."
    (https://en.wikipedia.org/wiki/Control_moment_gyroscope)

    Basically, gyros cannot apply force indefinitely and NEED to have some way of "spinning down"

    Also, gyros only apply torque around themselves. I.E. if you stuck a gyro on the far left of a ship and used it, the rotational force would be applied on the block which the gyro is attached to. Thus you could only really use gyros if it was near the center of mass OR where-ever you wanted the rotation point to be.
     
  11. W-S-Y Trainee Engineer

    Messages:
    36
    Agreed kuro, I was surprised that pitch, roll and yaw were not controlled by thrusters, with assist from gyros.

    If they were to apply a physic hard code mode as toggle world/server option, I would like to see something along the lines as the above as well.

    If we are gonna have a hardcore mode, may as well go all the way. :)
     
  12. Ralith Trainee Engineer

    Messages:
    79
    Neither of these issues are serious enough to stick with the current cartoonishly absurd system.

    Regarding your first point, every realistically designed ship has numerous thrusters, most of which won't be continuously active. When these are not in use, you could imagine that the control system automatically fires them to spin down the gyros, safely discharging the accumulated energy without affecting the motion of the ship. Because there would be no effect on the motion of the ship or the player's interaction with anything, I argue that there's no need to actually model this requirement. The down side is that unrealistic ships which do not have correctly positioned thrusters to discharge the energy stored in the gyros would not be prevented. If the need for gyro spindown was indeed modeled, then these ships could be fixed just by adding very small/low power thrusters for spindown purposes alone, and I agree this would be nicer, but the practical impact is minimal so it might not be worth development time.

    Your second point arises from an understandable misunderstanding of the physics involved. Gyros do apply torque around themselves, but they're rigidly attached to the structure of the ship. When torque is applied to a rigid body, no matter where it's applied the resulting rotation is around the center of mass. This is required by Newton's first law: an object at rest remains at rest unless acted upon by an outside force. In other words, you can't move the center of mass of a ship without using thrusters (which work by throwing mass away from the ship) or by hitting it with something else. Therefore, a gyroscope, which does not in any way interact with the world outside the ship, can only cause rotation around the ship's center of mass, otherwise it would violate Newton's first law. As a result, so long as you bolt it on tightly enough, you can in reality slap a gyroscope on anywhere you like and it will be just as effective.

    Poorly placed gyroscopes do have the potential to cause structural strain as a result of transferring large amounts of force across weak connections, however. It would be really cool if this was modeled, resulting in badly built or heavily damaged ships possibly tearing themselves apart during hard maneuvering. This would have awesome gameplay consequences: if you shot up a ship, even if you didn't actually disable critical equipment like engines or generators, you still might force it to surrender simply because it would lose the ability to maneuver for effective combat or even escape without causing further damage to itself. This could be represented to the player by loud groaning sounds and shaking when structural limits are being approached, providing adequate warning to slow down. I don't know how hard this would be to program, but it'd be really cool. In the current game, the only way to do structural damage to a ship is by cutting parts off entirely, which is unrealistic and demanding of disproportionate effort. Having an incentive to design structurally sound ships, including things like reinforcement beams along major axes of thrust, would add an immense amount of depth to construction and combat.
     
  13. TechyBen Junior Engineer

    Messages:
    542
    Oh, hull stress and/or bending structures is a whole other board game. :)
     
  14. Ralith Trainee Engineer

    Messages:
    79
    Yeah, I got a little carried away with the possibilities there. Let's save that discussion for another thread.
     
  15. entspeak Senior Engineer

    Messages:
    1,744
    I also think that a hardcore mode should be enabled... and if there is a multi-player, there should be levels of difficulty for servers as well.

    One thing that drew me to this game was the allegedly realistic physics and the potential for BSG type fighters. So, I was disappointed that it was possible to spin a ship without the right thrusters in place and that thrust was not based around center of mass (also disappointed by how gravity works, but that's a different issue).

    I hope that this eventually makes it into the game. It would be cool to see ships spinning out of control when a thruster is hit.
     
  16. kuro11 Apprentice Engineer

    Messages:
    125
    Wow, you're so right about the gyros ralith - I guess I don't remember much from physics, been a while since I've been in school. So as long as the gyros have the correct mass they should definitely stay in. I also agree we don't need the "spin down" mechanic there modelled as that seems to be a lot of work that doesn't really add to gameplay.
     
  17. doc9821 Trainee Engineer

    Messages:
    24
    I completely agree, I feel that the thrusters should be center of mass orientated but, only if you can disable it too. A hardcore mode for example, that would allow this. I also really love the idea of the on board computer that would automatically adjust your thrusters power level to keep the ship steady.
     
  18. gekkey Trainee Engineer

    Messages:
    9
    A much more sensible solution than multiple physics modes: multiple thruster types.
    Rather than a server/world setting with two separate physics functions, which is possible, though inconvenient, to code, make a set of thrusters that function magically, and a set that obeys physics. Both run off the same physics calculations, but apply force to that ship differently. Only applies force evenly, the other applies force only where it is attached.
    Then you allow servers to blacklist certain parts. This allows for even more choice, and easier implementation, as players can still try to build realistic designs on a creative server.
     
  19. entspeak Senior Engineer

    Messages:
    1,744
    Having ships that defy physics alongside ships that don't makes little sense - especially in a multiplayer scenario. Those ships capable of defying physics will have a distinct advantage.
     
  20. Ralith Trainee Engineer

    Messages:
    79
    Really, the main reason this bugs me so much is that it feels like the game mechanics are telling you not to bother putting any effort into making a good ship design, because the only thing that matters at all is the number of functional components. In the announcement posting at http://blog.marekrosa.org/2013/09/space-engineers-announced-development.html the developers declared they want realism:
    However, with the current design, the entire layout and structure of every single space ship is completely decorative. The best ship design for functional purposes is always going to be a blob of armor wrapped around a smaller blob of randomly placed thrusters, gyros, and reactors. In multiplayer, a player with an ugly cube such as that will always have an advantage over one who puts more effort in and tries to make something more complex, aesthetically pleasing, and actually inspired by reality. Basically, the more effort you put into a ship design, the worse off you'll be compared to the guy who's just smacking all the components he can scrounge together and wrapping it in armor. This needs to change if this game is going to grow beyond creative mode to realize its full potential.

    Plus, attitude control thruster plumes as seen in reality, in KSP, and in media like BSG and Gravity are pretty damn cool to watch and it'd be shame for the game to omit them.
     
  21. Lunov Trainee Engineer

    Messages:
    26
    I dont agree.
    It would limit huge load of specific ship designs.

    For ex. look at this ship. Really cool design, but thruster are not balanced which would render the ship useless with your suggestion in effect.

    [​IMG]
     
  22. kuro11 Apprentice Engineer

    Messages:
    125
    Lunov, I'd argue that you COULD make that ship, it would just be more challenging and not "optimal" given the suggestions in this thread (with thrust / gyro compensation).
     
  23. Thenerdylord Apprentice Engineer

    Messages:
    141
    How is that ships thrusters not evenly placed. That looks like a perfectly functional ship.
     
  24. Ralith Trainee Engineer

    Messages:
    79
    If you'd actually read the thread, you'd see that that (incredibly unrealistic, and thus questionable in a realism-oriented game as the devs have declared this to be) design would be perfectly feasible by use of gyros to compensate for thruster imbalance. It just wouldn't be nearly as energy-efficient as a competently-designed ship.
     
  25. Thunderbird Junior Engineer

    Messages:
    634
    that ship actually doesnt look that unbalanced, actually fairly easy to balance out even without gyros in my opinion
    remember, asymetrical does NOT equal unbalanced :D

    edit: remember Fly-By-Wire ? its a thing that modern jets use, because modern jets are actually inherently aerodynamically unstable - it makes sense for spaceships, the Shuttle has vectoring nozzles too, so meh
     
  26. Borisanich Trainee Engineer

    Messages:
    14
    For more high amount of the fps, we need to try avoid unnecessary load on server, like this one for example.
     
  27. polarius Trainee Engineer

    Messages:
    2
    Definitely a feature I am missing from the otherwise really, really promising alpha. :) For the sake of accessibility, it should probably be optional though.
     
  28. gekkey Trainee Engineer

    Messages:
    9
    You could probably get around 2000 fps if you settled for a black screen. But that wouldn't be very fun.

    You could probably get marginally higher fps by having thrusters run on magic, but that wouldn't be very fun either.
     
  29. Ralith Trainee Engineer

    Messages:
    79
    Not to mention that this is computationally trivial. The physics engine is already doing the requisite math for every movable object in the world every timestep, the devs just need to change the point at which force is applied from 'center of mass' to 'thruster nozzle location'.
     
  30. Fox Apprentice Engineer

    Messages:
    114
    Haven't read whole thread but disagree with OP. The freedom to put engines anywhere I want is refreshing.
     
Thread Status:
This last post in this thread was made more than 31 days old.