Thank you all, this makes me happy
YES! I didn't dare to hope for this since I remembered you saying at one point that it was too tricky to do. Glad you got it sorted out.
Yeah, some parts of this were... involved. A bit concerned some bugs may slip through, truth be told - this is a tough one to test out comprehensively, just because of how many different things in all layers of the game it touches. Ah, well, will deal with 'em when they happen.
Soooo... my really big question is what will this look like from the player's perspective when initiating a combat and other fleets come to support? Will there be a short period where we still see the campaign layer with both fleets in contact and other fleets can choose to swoop in and support, will they appear at the engage/disengage screen where we see each fleet's composition, or will our first notice be a lot of additional ships appear in the tactical combat stage? Will joining fleets appear immediately or partway through the battle?
The second screenshot is what it looks like. The "supporting" fleets don't actually move from where they are, they just need to be within a certain (relatively short) range to join in.
(Not exactly what you asked, but related: if you join an ongoing battle, you'll be a bit late to it, with some combat time - up to a minute or two - having elapsed.)
I'm curious about a few details. How are reputation/loot handled? Will fleets sometimes break off between sub-battles when their ships are worn out, or do they always support allies after the initial decision? And if they can leave, how is only part of a larger fleet retreating handled?
Reputation and loot are reduced by what fraction (under the hood, in terms of fleet points) the player's fleet is of the overall forces, at the start of the battle. Likewise for bounty rewards; you'll only get a share and not the full bounty.
Once a fleet joins a battle, it can't leave until one side decides to disengage, at which point there's a final autoresolve round and that battle ends.
Regarding battles taking place on the campaign map: is simulated combat done in discrete "rounds" like in Mount & Blade where you can hover over them and watch combatants disappear every few seconds, or is it a single timer?
Discrete rounds every day or thereabouts, which a "engage or disengage" decision being made by each side every round.
If NPC fleets can join into a player's battle in progress, that means that campaign time is running during battles now. Do we get any sort of awareness of what's going on in the campaign layer during battle? To see if anybody's coming to aid or murder us? It seems necessary, even if it's just a little minimap with friendlies and enemies marked
(Or can they not do that?)
They can't join a player battle in progress, and campaign time doesn't run. Who joins a player-initiated battle is decided at the point you interact with another fleet. Running time in the campaign etc would be rather complicated and, as you point out, would also lead to other complications.
What isn't clear is whether these supporting fleets are available from the outset, or if they have delayed arrival. (based upon their speed & distance from the battle site).
From the outset.
How are allied ships outwardly identified via script?
FleetMemberAPI.isAlly(), ShipAPI.isAlly(), FighterWingAPI.isAlly(), if that's what you're asking.
My only worry with this feature is very large fleet battles, as they are usually messy and involve friendly fire, collision parties and stupid frigate AI.
Well, on the bright side, that'd make those issues easier to spot and fix. I'm cautiously optimistic about the new and improved ship AI, though
Edit: attaching what a battle looks like in the campaign.
[attachment deleted by admin]