Brainstorm This Perfect turning system - no half-assed solution

    Joined
    Mar 2, 2014
    Messages
    1,293
    Reaction score
    230
    • Thinking Positive
    • Community Content - Bronze 1
    • Legacy Citizen 3
    After reading this suggestion from @Planr and thinking about it my conclusion was: "Better than the current system, but still not good enough. Why not going pro and use the inertia tensor (Trägheitstensor)?"

    The Advantages:
    - It's real world physics and will thus result in a realistic feeling when maneuvering ships.
    - No artificial limitations, which would add to the game's complicatedness (even the simple system we have now isn't very intuitive).
    - One system for both ships and turrets.
    - It only punishes minimally for decorative ship parts, which increase a ship's box dimensions, but have low mass (e.g. antennas) - unlike other systems (like the current one) which work on box dims. Edit: It isn't clear how exactly this was changed in the update from 18.12.15.
    - Ships with hollow spaces inside (hangars, interior) turn faster than completely stuffed ships of the same size.
    - Due to limiting angular acceleration rather than angular velocity (= turn rate) big ships and turrets still can't react fast enough to agile fighters' evasive maneuvers, while on the other hand it doesn't take ages to aim at a target in a completely different direction.
    - Isn't a half-assed solution, "uses inertia tensors" looks cool in the game discription, and this post, which took me hours, wasn't in vain.

    The Technical Part:
    The inertia tensor
    is a 3x3 matrix, which means 9 numbers (actually 6 due to symmetry) are added to the ship data, that's not much. Working with the inertia tensor is vector/matrix stuff which can probably be outsourced to the GPU, so the main problem is the calculation of the tensor, which is a lot of work in case of titans with millions of blocks. But the calculation can be done little by little during construction or when the ship is damaged. Due to the voxel geometry the simple version of the inertia tensor can be used, which is a sum of each block's influence (block = discrete mass point). This means adding or removing blocks doesn't require a recalculation of the whole ship, only the influence of the added/removed blocks must be added/subtracted. The worst case is a situation where a big ship is hit by a powerful missile and loses many blocks at once. However, the correction of the inertia tensor can be delayed a bit to avoid frame rate drops since the debris still hampers ship rotation a bit before it flys away.

    The center of mass is calculated alongside the inertia tensor and is used as pivot in case of ships. Docked ships and turrets are treated as mass points at the position of their centers of mass when calculating the inertia tensor for the ship they are docked to. If the center of mass isn't at the position of the origin (= ship core) or in case of turrets, which usually don't rotate about their center of mass, the moment of inertia can still be calculated using the parallel axis theorem (Steinerscher Satz).

    We still need a speed limit, though, to prevent situations where ships rotate at insane rates, but it shouldn't be a limiting factor most of the time due to advantage 1. This limit needn't depend on a ship's physical properties; a titan can realistically reach high turn rates, too, but it takes a while (and the same time to stop again) and is thus useless.

    To prevent oversteering the angular acceleration should depend on the distance of the cursor from the center of the screen and on the angular velocity. For example, when a ship is already turning quickly and the cursor comes closer to the center, the angular acceleration should be negative to stop the rotation in time. This part is probably a bit tricky, but I'm sure schema can handle it.
     
    Last edited:

    mrsinister

    Xenophage
    Joined
    Jul 9, 2013
    Messages
    479
    Reaction score
    143
    • Purchased!
    • Community Content - Bronze 2
    • Legacy Citizen 9
    This would be amazing. :) What kind of impact would this have on low-spec machines? lol not that I have one mind you, but there are others out there that still have potato-machines.
     

    Keptick

    Building masochist
    Joined
    Sep 26, 2013
    Messages
    4,062
    Reaction score
    1,841
    • Councillor 2 Gold
    • Railman Gold
    • Thinking Positive Gold
    Applying real life angular dynamics to ships = win.

    The only thing I'm concerned about is how much this would affect performance.
     

    Ithirahad

    Arana'Aethi
    Joined
    Nov 14, 2013
    Messages
    4,150
    Reaction score
    1,330
    • Purchased!
    • Top Forum Contributor
    • Legacy Citizen 8
    Sooo much yes. I hope to the gods that this won't cause too many performance issues, because this looks like a really excellent solution.
     

    Keptick

    Building masochist
    Joined
    Sep 26, 2013
    Messages
    4,062
    Reaction score
    1,841
    • Councillor 2 Gold
    • Railman Gold
    • Thinking Positive Gold
    In the case that using the moment of inertia of every single block (I=I1+I2+I3+.......+I8993454893) requires too much computing power, it might be better to simply use to just use the point of inertia at the center of mass and to simply use the total mass of the ship. Although this might not be necessary if using discrete masses doesn't take too much CPU (or GPU). Only @schema can tell...
     
    Joined
    Jun 19, 2014
    Messages
    1,756
    Reaction score
    162
    • Purchased!
    • Top Forum Contributor
    • Legacy Citizen
    I believe I read something in the original post of the thrust mechanics explained thread that could suggest this.
    (Searching starmadedock.net)
    Ah, here it is:
    Defensive Pull (self buff)
    • This system will operate on a system/ship ratio, you will gain up to a cap, an increase to the rotational acceleration of your ship, at the cost of even higher power usage than normal. (This will not affect your maximum rotation speed)
    This seems to suggest something similar to angular acceleration. I'm obviously not certain if it will be added, since it was explaining what COULD happen, but I really hope that this gets added.
    +1 to you.
     

    NeonSturm

    StormMaker
    Joined
    Dec 31, 2013
    Messages
    5,110
    Reaction score
    617
    • Wired for Logic
    • Thinking Positive
    • Legacy Citizen 5
    And wikipedia uses again nested not step-wise detail explained formulas without examples of
    1. how to actually calculate the centre the first time
    2. how to update it efficienctly on mass loss/gain
    3. ...

    Maybe government is zensoring the easy explanations...

    Maybe I have to click easy english rather than my first language :p
    It is just too many introduced variables looking too similar without an explanation of the basics (what this variable means).
     
    Joined
    Apr 20, 2014
    Messages
    102
    Reaction score
    16
    Make a suggestions post before Schema implements the Mass-based turning system GO GO GO GO GO!!!! :D Thank you for explaining my idea before I got back on @Malacodor kudos to you
     

    mrsinister

    Xenophage
    Joined
    Jul 9, 2013
    Messages
    479
    Reaction score
    143
    • Purchased!
    • Community Content - Bronze 2
    • Legacy Citizen 9
    also, I thought they were supposed to add something like.... if you have your thrust block turned to the side it would help turn in the direction its facing, or something like that....lol what ever happened to that?
     

    Valiant70

    That crazy cyborg
    Joined
    Oct 27, 2013
    Messages
    2,189
    Reaction score
    1,168
    • Thinking Positive
    • Purchased!
    • Legacy Citizen 4
    I would really like to see this system implemented. People have been asking for something like this, but no one had come up with a good way to make it feasible. Hopefully this is indeed possible. It's a world better than a mass-based turning system and also solves the problem of weird rotation when the core isn't near the center of mass.
     
    Joined
    Oct 13, 2013
    Messages
    109
    Reaction score
    82
    This would be really cool, and, I think, the ideal system.
    However, it if it's too computationally expensive (again, only Schema can tell us this), then I support the Mass-Based Turning System, which is also good, but maybe faster.
    The current turning system is... terrible. Honestly, having a really long pole sticking out each side of your ship should increase your turning speed, as you could put your RCS on those poles to increase leverage.
     
    Joined
    Jun 22, 2013
    Messages
    1,183
    Reaction score
    614
    • Competition Winner - Stations
    • Competition Winner - Small Fleets
    • Legacy Citizen 10
    If this is feasible then, yes please. The advantages sound very good on paper but if they were able to be put into the game, again, yes please. hah
     
    Joined
    Apr 25, 2013
    Messages
    1,076
    Reaction score
    186
    • Purchased!
    • Legacy Citizen
    • Legacy Citizen 2
    I'm not sure I understand it enough but from what i've read it sounds like you want pretty much the same thing I do. I agree with this.
     
    Joined
    Aug 23, 2014
    Messages
    427
    Reaction score
    137
    • Purchased!
    Angular acceleration vs. static angular velocity, MAKE SENSE TO ME!

    +1 here!
     
    • Like
    Reactions: Malacodor