Every simulation is an approximation. You use the degree of approximation that balances realism and transparency against the limitations of hardware and developer resources.Jorzi wrote:The problem with simulating actual trajectories is the computing requirements; it is not a trivial thing to do efficiently and its cost is always proportional to the amount of units on the map.
So for direct fire weapons you could use a totally flat trajectory, i.e. a vector for projectile travel.
For indirect fire you create an arc for the projectile to fly along, created between the firing unit and the terrain coordinates its targeting. Then for accuracy based spreading you either mess with the arc directly or with the target terrain coordinates based on distance to target (dynamically, no set short distance / long distance boolean type crap, I agree with Per on that). This appears to be how the Spring engine does it, though I've never looked at the source.
Well it is an option, actually, since there is no hard reason for it not to be. My feeling is that having hitting a smaller target be more difficult is totally intuitive and totally desirable. I think it would be a good thing for the player to consider, but would not become a "constant preoccupation" as Iluvalar somewhat dramatically puts it.Also, collision with the actual geometry is, as said, not an option. We would have to use some kind of proxy object / bounding box system for collision, so that the graphical appearance of units doesn't affect hit probability.
Either way, this is a separate discussion, since the collision geometry can be the same dimensions for all units, the same for all chassis sizes or conform specifically as much as possible to the graphical geometry.
The point is let collision detection decide what's a miss and what's a hit. That's its job and its very good at it.