Offset requests - ship spinning & docking speed
-
First, as I’m sure everyone who’s ever coded pilotable Capital Ships or other large vessels into their mod knows, ship spinning - where colliding with an object results in Freelancer applying a vertical rotation force to try and get you “un-stuck” - is the bane of their existance.
M0tah and I tried figuring this out a long long time ago - it seems the spin is applied client-side when the collision occurs, but after that we turned up empty handed. I’m inclined to believe there is some value somewhere that controls how much spin is applied to a ship, or some multiple or something like that.
So, would any of the assembly-savvy folk feel like taking this on? It would be a monumental step for Capital Ship-featuring mods.
Second, would anyone feel like hunting down anything related to the docking autopilot, and how quickly it brings your ship into dock? Specifically, when you are lined up with the dock and the cut-scene begins, the autopilot brings you in at a painfully slow pace. It’d be nice if it just cranked the throttle to full speed, or at least 50%.
Edit: Yes, I realize there are (messy) workarounds to this issue. However, it would be great to solve it once and for all.
-
Aye, that’s the solution in play in the POC video linked (I probably should have mentioned that). The problem I have with this is that it introduced very annoying swagger to autopilot, which can be extremely aggravating to some players.
Any suggestions for values that don’t disturb autopilot much?
-
rotation_inertia needs to be between 10% and 20% of the steering_torque values, if it is more than 20% you will get the oscillation on goto.
Here’s a tute for the formulae:
http://forums.seriouszone.com/showthread.php?55250-Tutorial-ship-handling
-
btw, there’s a good manual about physics, with formulas, but unfortunately there’re no formulas for rotation parameters except for general laws.
So last time when i messed with my capships i had to guess these values using the laws and check them with FLStat program. I actually became quite good at it, but is there a mathematical way?
-
ive been using STs tut for capships maneuvrability and its genius except for the strafe force (its just slightly too much when your ship slides about five times the speed it flies on max impulse). however, the weird flying 3k up or down is not solved this way but with a bit of personal training you get your way around. getting into a tradelane is also difficult sometimes… but for the rest: great formulae.
-
Sorry about the nudge_force and strafe_force, I didn’t give those much analysis and testing time, just tried 2-3 models.
If you make a spreadsheet like I did, then it’s easy to change it there and get it right.
Did you find a formula that works for those?
The rotation_inertia is the key to spinning/oscillation, if it is less than 10% of the angular_drag (sorry I said steering_torque before) you get bad spinning, more than 20% you get bad oscillation.
Yes tradelanes and jumpgates/jumpholes and stations docks are always a problem with large ships.
When they are really huge and the HpMount is way below the ship I have to approach the goal well high, then slow down and rotate the ship up (backwards) hoping the HpMount will engage sometime! lol.
It’s hilarious at times.
For stations I just approach from high above and it usually works first time.
For planets I made the mooring fixtures dockable as Jumps and all work fine. Sometimes need to rotate the ship belly towards the fixture but that’s not hard.
But even middle-sized ships often get stuck at the tradelane entrance, hanging at one side of the ring. Has anyone solved this problem?
-
if vanilla is concerned, a good tip is placing the HpMount some meters in front of the bow. however, to dock properly you have to know where the hardpoint is.
the nudge force i kept related to your formula (haven’t tested its function yet though) and the strafe force i tried just to make it of some equivalence to the vanilla ship mass. if you have your cute freighters with about 300 mass and strafe force is x so your capital ship’s (which mass we’ll call y) strafe force, that has to strafe approx. the same fast as the freighter shall be (300/x) * y.
it is difficult to figure out the very m/s value of strafe but i am pretty sure that it is mass and strafe force only that lead to the strafe speed in one single relation, maybe there is one more constant factor but no other variables. -
I seriously hate to be that annoying topic bumper, but has anyone found anything on this? Workarounds with steering values work, but they have their drawbacks (like unstable autopilot) - it’d be great to just fix ship spinning once and for all without having to use crazy steering values.
Thanks!
-
No idea about the spinning, sorry, but here’s the docking (and launching) speeds. (1.1 offsets only.)
common.dll 050527 1.0f = relative speed after launching (planet) ~adoxa common.dll 06DE13 0.5f = relative speed after launching (station) ~adoxa common.dll 18BDB8 18f = docking speed ~adoxa
-
isn’t there a difference between launching from a station or from a planet? launching from planet the speed factor is 1.0.
curious, what would it look like, if the relative speed on launch is higher than 1.0? would you then fly with a velocity higher than max speed of your engine? -
@Gisteron: Yeah, that’s right. I’ve updated the list with both offsets. No, there are tests to ensure it doesn’t go over 1.
@foxUnit01: I was sorry because I didn’t look into it. Don’t even know where to start. Can I use the “Realistic Battleship Mod (cheap)” that comes with FLMM for testing? How do I then cause the spin? Do nudge_force or the inertia values in the sur have any effect?
-
Well, if at all possible, take a big ship and try to get hit by an NPC (try sitting in front of a tradelane, dock, or somewhere else they frequent). Having a player collide with you should trigger a spin as well. The Realistic Battleship Mod will probably do the trick, though I’ve never used it.
Edit: Also, it’s fair to note this is a multiplayer-only thing. None of the ships suffer any spinning issues at all in singleplayer (since full physics are enabled - you can even drag an NPC around in your cargo bay in SP)
-
NPCs will never spin around if a player or other NPC flies into them. The player won’t do that too, but just in SP! The NPC will do it in SP and MP.
It seems like there is something like “full” and “half” collision. The player has this “half” collision just in MP, everything else is everytime “full” collision.Until this is fixed I can tell you to set the first value of rotation_inertia of big ships to 1% of the first value of angular_drag (x-axis), because the ship just spins around x-axis.
Steering_torque needs to get reduced at the first value to rebalance the faster speed (because the “drag” of rotation_inertia not noticeable anymore).With 0,01 it moves not and spinning is very very slow. Autopilot is relativ stable because just one axis has reduced rotation_inertia.
-
No, this is very bad advice and will cause severe handling problems.
See this:http://forums.seriouszone.com/showthread.php?55250-Tutorial-ship-handling
-
This is pretty much the solution 88 Flak has in place currently. However, it still has that annoying autopilot wagging that makes any autopilot unusable, particularly with Flak’s camera look-ahead used for Capital Ships (so you can steer and shoot at the same time).
Here’s my personal notes on ship handling:
Class Steering Coefficient Base Steering 4.0 1.0 PLF 3.2 0.8 LF 3.2 0.8 HF 2.4 0.6 VHF 1.4 0.35 FR 1.2 0.30 Transport (L) 0.4 0.1 SC (L) 0.4 0.1 LC/WP (L) 0.2 0.05 Station (L) 0.1 0.025 Drag / Inertia Constants Small: 50000, 50000, 50000 (anti-spin factor: 4) Large: 500000000000000, 500000000000000, 500000000000000 (anti-spin factor: 8) The drag constant is multiplied by the steering amount in the table above to work a value of steering_torque The drag constant is divided by the antispin factor to work a value of rotation_inertia Player-flown (te_ prefix) Large Capitals and Stations should have X-axis rotation_inertia use anti-spin of 500 and X-axis steering_torque divided by 8
-
StarTrader wrote:
No, this is very bad advice and will cause severe handling problems.See this:http://forums.seriouszone.com/showthread.php?55250-Tutorial-ship-handling
I read your tutorial. 10% of the angular drag is to much! It won’t affect the ship! It will still spin around like a carusell.
-
No.
If it’s less than 10% you will get the wagging on autopilot.
If it’s more than 20% the ship will spin like a top.
It is not perfect between these two values but a lot better.
The problem is also compounded by the inertia values in the sur file- I haven’t investigated those to find the effect.
There is also an elasticity parameter in contents.ini that will affect collision rebounds, but again I’ve not done limit investigations on that either.
Don’t forget the FL physics engine was not fine-tuned, it’s unfinished. It was not tested with large ships because DA didn’t put any in. Now we put in big ships we have hit these problems.
Maybe adoxa can find a tweak?
-
Yes I know about that autopilot problem, but if you just put the first value of rotatin inertia to 1% of the first angular drag value it works good without fast spinning.
10% is to much!