I only read half of the discussions about combat simulations and weapon targetting, but it's evident that you need help with that. Too bad no one of us is a theoretical physicist with experience in statistical physics. Oh wait, I am!
So let's first start with some assumptions:
- The movement of space ships is complicated due to tactical decisions, therefore it's best to instead assume random movement (random walk)
- Space ships are point particles. This should be a good approximation if the typical distance between them is much larger than their size. It's also important to note that they can either attack in all directions or can turn so fast that their facing direction doesn't matter.
- Space ships move independent of each other.
More parameters are necessary. I suggest to add two more meters: an effective velocity or 'combat velocity' for ships (I think there was a combat velocity long time ago) and an effective weapon range for weapons.
Stealth can be incorporated easily: stealth reduces the effective weapon range by an amount that is equal to the difference between the target's stealth and the attacker's detection. E.g. if the target stealth is 100 and the detection is 50 the effective range will be reduced by 50. A detection that is higher than the target's stealth will not increase the effective weapon range.
Also the new weapon meter allows more variations of weapons:
- High damage, low range (e.g. plasma cannons)
- Low damage, high range (e.g. lasers, flak)
Next a method to calculate the probability of attacking a certain target with a certain weapon is required.
I propose that this attack probabilities are equal to the amount of time that the target is within the effective weapon range of the attacking ship while both are performing a random walk with mean velocities equal their respective effective velocities. This probability is then divided by the total number of valid targets. However, this will be difficult to calculate. I guess the expression for the probability it will involve a non-gaussian path integral that is difficult to calculate. As these attack probabilities have to be calculated very often during a combat turn, explicit expressions are necessary. Even calculating a rather simple integral numerically will take too much time. I guess I have to do more assumptions and approximations until an explicit expression can be found.
This method should be easy to implement as it will only change the way how attack probabilities are calculated from a uniform distribution to a more complex one.
Some remarks on this idea:
- The attack probability will be maximized if the effective velocity of the target and the attacking ship are equal.
- In the limit of infinitely large effective weapon range the attack probability will be 1/N (uniform distribution, just like it is right now).
- There is no anisotropy in the sense that only the absolute difference of effective velocities matter. For example if two ships A and B have the same weapon but different effective velocities their attack probabilities will both be equal, for A attacking B and B attacking A respectively. So fast ships will also have a lower probability of attacking slow ships. Maybe you don't want this behaviour? A kinda hacky solution would be to limit the effective velocity of the attacking ship to the effective velocity of the target.
- The sum over all attack probabilities is equal or lower than 100% which means it is likely that some weapons will not attack.
- Positions in space will be handled in an abstract way, not explicitly.
- There is no need for something like a ship size variable as large ships should coincide with being slow.
The rules will vary for each ship. For example it makes sense for a heavily armoured ship to approach enemy ships head on while for a ship armed with long range weapons it makes sense to stick to other ships form their fleet and to keep distance to opponents. However, these rules may be rather complicated. This behaviour should be able to be set in the design window.
This method will not necessarily require a larger amount of combat turns in order to utilize the advantages is has. Instead there could still be 3 "attack turns" and a larger amount of "movement turns" (like 9 or 18?). It will still require a larger amount of computation time than the first idea, that should only matter for large number of combats and large amounts of ships involved though.
So any thoughts on that matter? Any ideas for further assumptions/approximations? I'll have to do more simplifications anyway.
I haven't started doing any calculations yet, so now is a good time for complaints .