View Issue Details [ Jump to Notes ] [ Related Changesets ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0000945 | FSSCP | docking | public | 2006-06-11 15:15 | 2012-07-01 01:59 | ||||
Reporter | The Trivial Psychic | ||||||||
Assigned To | Goober5000 | ||||||||
Priority | urgent | Severity | major | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Platform | AMD-2600+ 1GB DDR400 ATI9600XT | OS | WinXP in OGL | OS Version | SP2 | ||||
Product Version | |||||||||
Target Version | 3.6.14 | Fixed in Version | 3.6.14 | ||||||
Summary | 0000945: Non-Leader Docked Craft Attempt Maneuvers | ||||||||
Description | If you dock one or more fighter craft to a larger ship, regardless of the fact that the larger ship is the dock leader, the smaller craft will still attempt to loiter, or engage nearby hostiles, causing the larger craft to spin about. If there are more than one small fighter docked to the large craft, it will also cause a degree of jerkiness to the spinning, since there are multiple fighters trying to maneuver the ship. The only way to avoid this is to give every ship except the dock leader, orders to play dead. If a wing is docked in this manner, the individual fighters in the wing must be given such an order, rather than the wing as a whole. Unfortunately, this behaviour has been somewhat present since Retail, and I'm certain that one or more campaigns have taken advantage of it for comedic effect. Therefore, the best way I can see to preserve backwards compatibility would be to add a checkbox either in the docking controls or in the ship flags, that causes the ship to be inactive while docked, which includes engines and weapons primarily, though perhaps not turrets. Not sure if this should be engaged by default for any new missions created with a such-enabled FRED, so that when a designer docks 2 or more objects together, any object not deemed as the dock leader, automatically has this checkbox enabled. Missions previously created and loaded either in FRED or in FS, will default to the previous behaviour. | ||||||||
Steps To Reproduce | Take a ship with multiple dockpoints, dock several fighters to it, make all hostile, then play in mission and watch the core ship spin around. Then, change the intial orders of the fighters to "play dead, 89", then replay the mission and watch how it behaves as it should. | ||||||||
Additional Information | This was split from bug 0000530. | ||||||||
Tags | No tags attached. | ||||||||
Attached Files |
|
![]() |
|||||||||||
|
![]() |
|
The_E (administrator) 2010-10-22 09:00 |
Is this still current? |
Goober5000 (administrator) 2010-10-23 16:33 |
I believe so. |
FUBAR-BDHR (developer) 2010-10-23 19:41 Last edited: 2010-10-23 19:45 |
I second that believe so and know that the speed issue still happens as well. Probably should a relation to that one. Guess I never filed that report in SCP Mantis because this one was here. It's still open in Diaspora Mantis so the problem still exists in some form. |
Goober5000 (administrator) 2012-01-03 03:15 |
Okay, here's how I propose to fix this: If a ship is docked to something, and does not have any active goals or orders, then it should not perform evasive maneuvers. Note, the decision should not be whether the ship is the "dock leader" or not, because the dock leader only matters as far as warping into the mission. It's not necessarily the ship that has control of the stack at a particular time. |
Goober5000 (administrator) 2012-01-03 03:17 |
I should also look through the code to see if I made that incorrect assumption anywhere else the dock leader is referenced. |
Alan Bolte (reporter) 2012-01-03 03:51 |
I don't understand the relationship to 2548. 2548 is for non-docked cargo containers, nav buoys, and sentry guns. In the patch I attached, all I had to do was give non-flyable 'ships' the same exclusion from shockwave-dodging that big ships have (which is handled separately from normal weapon dodging as far as I can tell). I guess the shockwave-dodging behavior might be feeding into the docking issues, I dunno. |
Goober5000 (administrator) 2012-01-03 03:57 |
Oh. I assumed 2548 was for docked cargo containers. Reopening then. |
niffiwan (developer) 2012-06-19 21:08 |
Would a kind soul be able to FRED up a test mission for this bug? |
MjnMixael (manager) 2012-06-21 16:26 |
Test mission uploaded for no mods. |
niffiwan (developer) 2012-06-22 05:23 |
Thanks MjnMixael! |
Goober5000 (administrator) 2012-06-25 06:35 |
Okay, the case demonstrated in the test mission is now fixed. You should also draw up a test case for a fighter that isn't initially docked. (Initially docked ships have a particularly clean AI state that later-docked ships may not have.) |
MjnMixael (manager) 2012-06-25 09:54 |
New mission uploaded, is that what you mean? Also, the Argo's maneuverability in retail is impressive.. |
Goober5000 (administrator) 2012-06-25 18:52 |
Hmm. As I feared, the Argo flips out in the second test mission. More detective work is needed. |
Goober5000 (administrator) 2012-06-25 19:27 |
I have patched most of the gaps, but the fighters still pulse their engines if shot at. I'll defer this for now, but revisit it later. |
Goober5000 (administrator) 2012-06-25 19:29 |
I've uploaded my current patch. |
Goober5000 (administrator) 2012-06-25 19:33 |
This new version of MultiDockTest assigns one of the ships to stay-still (the other is still play-dead) and changes the mission name. |
niffiwan (developer) 2012-06-26 06:13 |
I had a go at stopping the fighters from maneuvering by preventing them from entering AIM_EVADE_WEAPON mode (see patch3) - in testing with the 1st mission this has stopped most of the movement, but not all. There are a few "twitches" which don't appear to be being caused by changes in the AI mode, i.e. the fighters are staying in AIM_NONE the entire time. So I'm not sure what's causing this... |
Goober5000 (administrator) 2012-06-27 01:32 |
Well done niffiwan. Two out of three of those are solid fixes. The third I'm not sure about; will have to double-check. |
Goober5000 (administrator) 2012-06-30 23:25 |
All fixed! |
![]() |
|||
fs2open: trunk r8914
Timestamp: 2012-06-25 05:39:26 Author: Goober5000 Ported: N/A [ Details ] [ Diff ] |
fix the old Volition bug where a docked ship would execute its default behavior even when the preceding comment explicitly said that it should "just sit here" :-/ also guard against a few edge cases related to this (all of this is in regards to Mantis 0000945) |
||
mod - /trunk/fs2_open/code/ai/aicode.cpp | [ Diff ] [ File ] | ||
mod - /trunk/fs2_open/code/ship/ship.cpp | [ Diff ] [ File ] | ||
fs2open: trunk r8918
Timestamp: 2012-06-30 23:24:41 Author: Goober5000 Ported: N/A [ Details ] [ Diff ] |
this should fix all of the issues with docked fighters and bombers (Mantis 0000945) | ||
mod - /trunk/fs2_open/code/ai/aicode.cpp | [ Diff ] [ File ] | ||
mod - /trunk/fs2_open/code/ship/shiphit.cpp | [ Diff ] [ File ] | ||
![]() |
|||
Date Modified | Username | Field | Change |
---|---|---|---|
2006-06-11 15:15 | The Trivial Psychic | New Issue | |
2006-07-19 21:27 | Goober5000 | Additional Information Updated | |
2006-11-24 18:04 | Goober5000 | Relationship added | child of 0000530 |
2007-10-22 01:41 | Goober5000 | Relationship deleted | child of 0000530 |
2010-10-22 09:00 | The_E | Note Added: 0012422 | |
2010-10-23 16:33 | Goober5000 | Note Added: 0012433 | |
2010-10-23 19:41 | FUBAR-BDHR | Note Added: 0012434 | |
2010-10-23 19:45 | FUBAR-BDHR | Note Edited: 0012434 | |
2012-01-03 03:05 | Goober5000 | Relationship added | related to 0002557 |
2012-01-03 03:08 | Goober5000 | Relationship added | parent of 0002548 |
2012-01-03 03:09 | Goober5000 | Relationship replaced | has duplicate 0002557 |
2012-01-03 03:09 | Goober5000 | Relationship replaced | parent of 0002557 |
2012-01-03 03:10 | Goober5000 | Priority | normal => urgent |
2012-01-03 03:10 | Goober5000 | Severity | minor => major |
2012-01-03 03:10 | Goober5000 | Target Version | => 3.6.14 |
2012-01-03 03:15 | Goober5000 | Note Added: 0013020 | |
2012-01-03 03:17 | Goober5000 | Note Added: 0013021 | |
2012-01-03 03:51 | Alan Bolte | Note Added: 0013022 | |
2012-01-03 03:57 | Goober5000 | Note Added: 0013023 | |
2012-01-03 03:58 | Goober5000 | Relationship deleted | parent of 0002548 |
2012-06-19 21:08 | niffiwan | Note Added: 0013680 | |
2012-06-21 16:26 | MjnMixael | File Added: MultiDockTest.fs2 | |
2012-06-21 16:26 | MjnMixael | Note Added: 0013695 | |
2012-06-22 05:23 | niffiwan | Note Added: 0013700 | |
2012-06-25 06:33 | Goober5000 | Changeset attached | => fs2open trunk r8914 |
2012-06-25 06:35 | Goober5000 | Note Added: 0013721 | |
2012-06-25 09:54 | MjnMixael | File Added: MultiDockTest2.fs2 | |
2012-06-25 09:54 | MjnMixael | Note Added: 0013722 | |
2012-06-25 18:52 | Goober5000 | Note Added: 0013723 | |
2012-06-25 19:27 | Goober5000 | Note Added: 0013724 | |
2012-06-25 19:29 | Goober5000 | File Added: patch2_for_945.patch | |
2012-06-25 19:29 | Goober5000 | Note Added: 0013725 | |
2012-06-25 19:32 | Goober5000 | File Added: 0MultiDockTest2.fs2 | |
2012-06-25 19:33 | Goober5000 | Note Added: 0013726 | |
2012-06-26 06:08 | niffiwan | File Added: patch3_for_945.patch | |
2012-06-26 06:13 | niffiwan | Note Added: 0013727 | |
2012-06-27 01:32 | Goober5000 | Note Added: 0013729 | |
2012-06-30 23:24 | Goober5000 | Changeset attached | => fs2open trunk r8918 |
2012-06-30 23:25 | Goober5000 | Note Added: 0013740 | |
2012-06-30 23:25 | Goober5000 | Status | assigned => resolved |
2012-06-30 23:25 | Goober5000 | Resolution | open => fixed |
2012-06-30 23:25 | Goober5000 | Fixed in Version | => 3.6.14 |
2012-06-30 23:25 | Goober5000 | Description Updated | View Revisions |
2012-07-01 01:59 | Goober5000 | Relationship added | has duplicate 0001723 |