Project

General

Profile

Bug #7111

Space station docked to asteroid oscillates wildly and rips itself apart

Added by GalFisk about 8 years ago. Updated over 7 years ago.

Status:
Needs Clarification
Severity:
Normal
Assignee:
-
Category:
Physics
Target version:
-
Start date:
02/27/2016
% Done:

0%

Version:
Platform:
Windows
Expansion:
Language:
English (US)
Mod Related:
No
Votes:
Arrow u r green
Arrow d r red

Description

I've had problems with this and other asteroid resource miners, in that they drift through the rock as if it was not there. This could be helped by undocking and approaching the rock again. Sometimes the claw gets dislocated on a craft, docked or not, when using time warp.
This one though, doesn't undock even if I tell the claw to release, and starts flexing wildly when physics is enabled, tearing itself to bits.
Load the save and focus on the craft "Munar Rock Station".
Look at the claw part itself on the claw, this is also rotated incorrectly. This claw rotation error also happens very often when I focus on a craft docked to an asteroid, even if nothing else goes wrong.
If loading the quicksave focuses on a small lander, press [ to focus on the vehicle with the problem.

quicksave.sfs (1.93 MB) quicksave.sfs Quicksave GalFisk, 02/27/2016 07:43 PM
quicksave #3 undocked.sfs (1.93 MB) quicksave #3 undocked.sfs [email protected] GalFisk, 03/02/2016 06:26 PM

History

#1 Updated by Kasuha about 8 years ago

Note: Ships in the savefile have Mechjeb parts. That's likely not related to the bug but needs to be considered when loading the save.

Seems to me like another case of docking/claw problem, possibly related to #6010 and #6967

Releasing the claw does not stop the drilling process and the ship can freely pass through the asteroid - suggests it's part of the ship connected somewhere else than to the Claw. That also explains the oscillation as it hangs on very long "arm". The structure of the ship is already broken in the quicksave.

#2 Updated by Kasuha about 8 years ago

Also the 'inverted' look of the claw is probably related to #2321 and is another clue that the asteroid is connected to the ship multiple ways - the Claw connection is 'secondary' and goes the 'wrong' way, i.e. from the asteroid to the Claw.

#3 Updated by GalFisk about 8 years ago

I was able to save my ship by editing the .sfs and changing connected = False and attached = False on the part with name PotatoRoid.
Now when loading the save, the ship is undocked and the asteroid floating nearby.
If I dock the asteroid again, it stays docked. But: if I timewarp to 5x, the asteroid moves a bit to the side. If I timewarp back to 1x, the asteroid jerks back into position, and the assembly oscillates (though it's a damped oscillation, and nothing breaks).

I therefore believe that the issue is caused by incorrect railing of a docked asteroid, which places it in a different position relative to the rest of the vessel than the one it had when it was originally docked. If this is caused by the malorientation of the claw, or maybe the orientaiton issue is caused by the rails issue, I don't know.

#4 Updated by twich222 about 8 years ago

Sounds to me like this is a basic time-warp issue, similar to any 'kraken' bug, and I am sure squad are well aware of it. It is a side effect of underlying problems that are more than likely quite difficult to avoid. maybe unity 5 will give them the power to do something about bugs like this.

For now here is some advice and tips to work around this.

Time warp does funky things, and when you mix 2 objects that are not officially merged into one object then the game treats them as 2 distinct objects (i believe Docking ports merge ships into one entity, while claws do not, which is one major reason why claws are so buggy). I could be wrong, but I would guess that when you time warp it starts rounding numbers, leading to differences in speed/position, leading to the effects you describe. It also has to do with your position when you start the time warp. If you are under small accelerations when you start time warp, when you come out of time warp that acceleration might be amplified because physics is 'snapping back' into place. make sure you are perfectly still when you want to time warp, especially in terms of angular velocity, as well as any movement relative to the asteroid. If the asteroid is spinning, so is your ship, and your ship is experiencing centripetal acceleration. So when you time warp, bad things happen.

I recall running into the same problems when I did stuff with asteroids. There were ways to minimize these effects and 'avoid them', although i cannot remember everything. I think most of it had to do with your ships center of mass, your claw placement, the angle of your ship to your claw, any movement, and all those things relative to the asteroids center of mass.

In short, make sure that your ship's center of mass lines up with your claw, and that a line drawn straight between your center of mass and your claw passes through the asteroids center of mass. This will 'balance' your ship and asteroids together, minimizing the effects of imbalances. Try to find a flat surface on the asteroid perpendicular to the center of mass, so you can point straight at it. also, sometimes un-locking your claw so you can rotate and then locking it again in a 'better' angle can help.

Hope that helps. Play around with it a bit and you should get a feel for what helps and what doesn't. In the end, these problems can still happen, although you can certainly minimize the chances.

#5 Updated by Kasuha about 8 years ago

twich222 wrote:

(i believe Docking ports merge ships into one entity, while claws do not, which is one major reason why claws are so buggy).

Claw works kind of like a docking port that does need another docking port to dock. When clawing into a different ship, it merges the two ships into one. And similarly to docking ports, it can be also used as a strut, i.e. to make additional structurally stable connection within one ship (see #2321 for an easy to access example).

All you need to verify it is to look into the persistence file after you have clawed two ships together.

I can't tell what is the reason why claws are so buggy but it definitely isn't this simple.

A normal ship has a part list numbered from zero. It was a great surprise to me to realize that when docking, ship parts are not renumbered. So there are parts of one ship numbered from zero, followed by parts of another ship again numbered from zero. All that also with change of root part because the docked ship is now rooted at the used docking port (or attached part) rather than its original root part. It is not impossible to handle such mess but all it needs to screw up is one little piece of code that does not expect this numbering change to happen in the middle of the parts list. Or just a small mistake in handling it.

What seems to be triggering these problems is decoupling part of one ship from complex of two or more docked ships. Or simply undocking ships from each other in different order than in which they were docked. And ship clawed into an asteroid counts as a complex of (at least) two docked ships. It's not the whole story though, just doing this is not guaranteed to trigger the problem. But without knowing exactly what causes the problem, I can't tell how to avoid it either.

#6 Updated by TriggerAu over 7 years ago

  • Status changed from New to Needs Clarification

Also available in: Atom PDF