Bug: Player can Lead a Group, but AIs Don't Like It
Moderators: winston, another_commander, Getafix
-
- Competent
- Posts: 58
- Joined: Mon Mar 02, 2015 2:08 pm
- Location: drifting in remLock mask near Vezadi Station
Bug: Player can Lead a Group, but AIs Don't Like It
Found that it's possible to create a ShipGroup with player as leader, but JS AIs attached to the group then throw exceptions because the Oolite Priority AI Library is written to assume that group leaders have an AIScript, and the player is the only ship which never does (not even oolite-nullAI.js).
Surely either the player should be able to lead a group without problems, or it should be completely invalid to create a ShipGroup with a PlayerShip as leader?
Surely either the player should be able to lead a group without problems, or it should be completely invalid to create a ShipGroup with a PlayerShip as leader?
Equal Rights for NPCs!
-
- Quite Grand Sub-Admiral
- Posts: 6683
- Joined: Wed Feb 28, 2007 7:54 am
Re: Bug: Player can Lead a Group, but AIs Don't Like It
Setting the player as group leader seems to be a pointless thing to do, since there is no proper way to communicate with NPCs and do the leader thing as one should. So, setting the player as the leader of a ship group has been disabled in the JS interface. Attempting to do this will result in the emission of a warning. This will be already active in tomorrow's nightly.
If anyone has a really good reason to reinstate this functionality, better speak now, as release of 1.84 is now closing in. We can consider adding player group leadership capabilities in the future, which is something that would probably require a general revision in most JS AIs.
If anyone has a really good reason to reinstate this functionality, better speak now, as release of 1.84 is now closing in. We can consider adding player group leadership capabilities in the future, which is something that would probably require a general revision in most JS AIs.
- Cody
- Sharp Shooter Spam Assassin
- Posts: 16081
- Joined: Sat Jul 04, 2009 9:31 pm
- Location: The Lizard's Claw
- Contact:
Re: Bug: Player can Lead a Group, but AIs Don't Like It
Not quite yet, please - I'm relocating next week and will probably be without a computer and/or comms for a few days!another_commander wrote:... release of 1.84 is now closing in.
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
And any survivors, their debts I will certainly pay. There's always a way!
- Norby
- ---- E L I T E ----
- Posts: 2577
- Joined: Mon May 20, 2013 9:53 pm
- Location: Budapest, Hungary (Mainly Agricultural Democracy, TL10)
- Contact:
Re: Bug: Player can Lead a Group, but AIs Don't Like It
In
coordinatesForEscortPosition
the position of the leader could be useful. [wiki]Fighters[/wiki] use this way and also a player.ship.escortGroup.addShip(fighter)
call. If it is disabled then these must handle in if(owner==player.ship)
, not a big problem but imho better if not disabled.-
- Quite Grand Sub-Admiral
- Posts: 6683
- Joined: Wed Feb 28, 2007 7:54 am
Re: Bug: Player can Lead a Group, but AIs Don't Like It
My main worry is that, if it is not disabled, whenever an exception due to a missing player JS AI happens, the script that triggered it stops executing and this can be problematic. Can you try tonight's nightly and see how it works for you?
- Norby
- ---- E L I T E ----
- Posts: 2577
- Joined: Mon May 20, 2013 9:53 pm
- Location: Budapest, Hungary (Mainly Agricultural Democracy, TL10)
- Contact:
Re: Bug: Player can Lead a Group, but AIs Don't Like It
Figthers seems ok with 1.84, EscortDeck needed a fix what I uploaded now so it could be disabled.
I found many of these in my log:I do not know why 7200 is better as a limit. Can not be 7500 for compatibility?
I found many of these in my log:
Code: Select all
ball turret weapon range of 7500 for subenitity of ship griff_prototype_boa-NPC is too high, using 7200.0.
ball turret weapon range of 7500 for subenitity of ship aquatics_destroyer is too high, using 7200.0.
ball turret weapon range of 7500 for subenitity of ship aquatics_mantaRay-military is too high, using 7200.0.
ball turret weapon range of 7500 for subenitity of ship aquatics_piratePlatform is too high, using 7200.0.
ball turret weapon range of 7500 for subenitity of ship aquatics_kraken is too high, using 7200.0.
-
- Quite Grand Sub-Admiral
- Posts: 6683
- Joined: Wed Feb 28, 2007 7:54 am
Re: Bug: Player can Lead a Group, but AIs Don't Like It
Following a discussion in the devs internal mailing list, we have reverted the disabling of the player as group leader. The correct fix for this problem is obviously to adjust the AIs in such a way so that a player can be handled as both group leader and/or group member. However, this is not something that we can do three days (or so) prior to release and disabling the player as leader would make an OXP solution impossible. Therefore, we will consider it a known issue for the time being and try to resolve this post-1.84, but in the meantime, anyone who feels like having a go at the JS AIs and making a fix-up OXP is more than welcome to do so.
@Norby, regarding the warnings with turrets, the value of 7500 was hard-coded in the past, but the 7200 is calculated based on the turret weapon characteristics. I don't think it's a big problem and, in my opinion, it is best not to fall back to hard-coded values again.
@Norby, regarding the warnings with turrets, the value of 7500 was hard-coded in the past, but the 7200 is calculated based on the turret weapon characteristics. I don't think it's a big problem and, in my opinion, it is best not to fall back to hard-coded values again.
-
- Competent
- Posts: 58
- Joined: Mon Mar 02, 2015 2:08 pm
- Location: drifting in remLock mask near Vezadi Station
Re: Bug: Player can Lead a Group, but AIs Don't Like It
OK. I was trying to make a 'Tactical Comms' OXP using phkb's BroadcastCommsMFD as the UI and Ramirez' Resistance Commander OXP as a guide to the sort of functionality needed, and it seemed I could save a lot of work if I could use existing AI library functions like
I wouldn't expect any action on this in 1.84 or 1.85, but if you want to make player-NPC collaboration easier in future versions it may be worth actually giving the player ship an AIScript (even if it does nothing, can't be switched and is only a 'dummy' script which doesn't receive event handlers and is no use for a priority AI controller). This way, other scripts could still write data to variables like
Is this idea worth considering?
behaviourFollowGroupLeader
and conditionLosingCombat
with the player as group leader.I wouldn't expect any action on this in 1.84 or 1.85, but if you want to make player-NPC collaboration easier in future versions it may be worth actually giving the player ship an AIScript (even if it does nothing, can't be switched and is only a 'dummy' script which doesn't receive event handlers and is no use for a priority AI controller). This way, other scripts could still write data to variables like
oolite_intership
for NPCs to read if appropriate, for instance to ensure your wingmen get a consistent assessment of your role.Is this idea worth considering?
Equal Rights for NPCs!
-
- Competent
- Posts: 58
- Joined: Mon Mar 02, 2015 2:08 pm
- Location: drifting in remLock mask near Vezadi Station
Re: Bug: Player can Lead a Group, but AIs Don't Like It
Have started trying to fix this by OXP. Initial problem solved, but a new one has come up (and been temporarily patched at least): my wingman seems to be at perpetual red alert, so the standard version of conditionInCombat always returns true.
No idea what's causing it.
No idea what's causing it.
Equal Rights for NPCs!