If targetting range is still limited to 5 lightseconds, then you don't really need this though. You'd want to put as many points of damage as possible within the target window, and it's not going to change that much.
Using Steve's Daring Class from the first post, it's got a size of 6873 Tons. That's 68730 m3, or approximately 109m diameter.
The most it can accelerate at 21.83 m/s2. Looking at a 1 dimensional line, at 5 seconds the center of the ship can be at most 117.15m off from where it would be with no acceleration.
I have been considering something along these lines, although it isn't final yet. My maths are slightly different so I'll post my thoughts here in case I am heading down the wrong track.
For a ship that can accelerate at 20m/s, there is more deviation than you might think. During the 1st second its speed increases by 20 m/s and it moves 20m further than without acceleration. During the 2nd second, it accelerates to 40 m/s faster but now it has moved 60m further than without acceleration. During the 3rd second, it increases to 60m/s faster and has now moved 120m more than without acceleration. By five seconds, it is now 300m from its projected non-acceleration point. It could also decelerate instead and be 300m behind where it would be without acceleration.
A ship of 68,730m3 is 50.8m in diameter (using the formula Radius = CubeRoot(3/4 Volume/Pi).
Using 1D only, before the five seconds starts, the ship occupies a line 50m long. After potential accel or decel, the entire width of the ship is contained within a line 650m long (the original 50m plus deviation of 300m either way). Assuming random accel/decel and a random shot, there is a 50/650 or 7.7% chance of a hit.
Using 2D and assuming the ship may modify its course left or right, there is an area within which the ship can be located. For ease of calculation, let's assume that is a circle with a 325m radius, whch has an area of 331,830m2. The ship itself occupies an area of 7853m2, so there is a 2.36% of the ship being hit randomly.
Of course, if this was really 2D then moving left or right on a course perpendicular to the firing ship doesn't matter because the shot would be in the same plane and just hit earlier or later. On a closing course, accel or decel wouldn't matter as the shot would hit earlier or later. However, in reality the ship would be maneuvering in 3 directions so using an area (instead of a volume) as a possible location is a reasonable compromise between reality and playability.
The other matter to consider is that the player may wish to apply some intelligence to his firing solution. For example, if the enemy ship has been under constant acceleration on the same bearing for an hour, he may wish to fire only at the exact predicted location based on current course and acceleration. Or he may wish to allow for speed changes but not course changes, or accel but not decel, or course changes without speed changes, or any combination of the above. He may also wish to apply different criteria to each fire control, or even each weapon, to bracket the target but still emphasise one option over the other (three weapons assume constant accel and one weapon assume random accel/decel and course changes for example).
So at the moment I am leaning toward the following:
1) Player specifies the parameters for the firing control using three checkboxes: Allow for possible Accel, Allow for possible decel, Allow for course change.
2) Aurora calculates the area in square meters, or line in meters if no course change is specified, or dot if no checkbox is checked, covered by that firing solution, and selects a random point within it (or along it).
3) The exact coordinates of that point are recorded, down to 0.1 meters.
4) Based on the speed of the projectile, the exact time of arrival (within 0.0001 seconds) at that point is recorded.
5) At the moment in time the projectile reaches the specified point, the location of the ship is checked to see if the location of the shot lies within the area of the ship.
6) Because the exact point in time will be partway through a sub-pulse and resolution of this will take place after movement, the location of the ship at the exact point in time will be calculated based on its heading and speed during the sub-pulse.
This means that a shot could actually miss even if the bearing would mean the shot would hit the target ship a fraction of a second later. However, because we are using an area rather than a volume, you have a higher chance to hit than you should have which compensates for this possibility. I haven't tested (or even coded) this yet but this is looking the most likely at the moment, unless someone comes up with a reason this won't work, which is entirely possible
. This avoids tracking individual projectiles on the map but also excludes the chance of hitting something else. I could also check any other nearby ships to see if they are in the target location instead, although this is extremely unlikely and may not be worth it.
For shrapnel warheads, which may involves a lot of objects and may be an area denial weapon as much as a anti-ship weapon, I will probably use a debris cloud approach with a chance to hit something when you pass through the cloud (or the cloud passes a ship)
Steve