These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

Player Features and Ideas Discussion

 
  • Topic is locked indefinitely.
 

Line of sight weapons

First post
Author
Joe Risalo
State War Academy
Caldari State
#61 - 2012-04-27 09:57:30 UTC
Francisco Bizzaro wrote:
Vincent Athena wrote:
Now if all 100 ships shoot a missile, its got to do the above 100 times, a total of 10,000 checks. If there are 2000 ships on grid all shooting then 4 million checks need be done.

Each check is not trivial. For guns, the server first has to update the potential target's position to the moment of the shot. It then has to find the minimum distance between the line segment describing the shot and the center of the ship at its updated position. If that distance is smaller than the ship radius, a hit is registered.

Okay, I see that the calculations can scale at N^2 if they're brute forced.

I guess the main point is to compare N targeting vectors with M displacement vectors to determine whether they are approximately colinear and shorter distance. I just tried this out with a small program on my laptop, and for N=M=2000 random vectors (4M comparisons), the calculation took 0.1 seconds.

The loop is trivially parallelizable with a couple of openmp directives, so on the 4-core Sol blades of TQ, these computations would take a factor 4 less. And in practice, the number of targeting vectors to use in computations would actually be decreased by a factor of eve-clock-tick/average-rate-of-fire. So you can imagine this computation adding a fraction of a second per clock tick of an already time-dilated battle.

A more advanced calculation would project the signature radius of the potential occluder onto a plane transverse to its displacement vector. It's fairly simple linear algebra to map the targeting vector onto the plane and determine whether it falls into the sig radius, probably a few extra floating point operations over what I've done.

The Eve model for calculating hits - involving sig radius, transversal and turret speed - is already fairly sketchy as a model of real physical turrets. But this allows them to apply some quick-and-dirty approximations (e.g. using sig radius rather than a detailed model of the shape of the ship) which are still somewhat consistent within the "physics" of Eve.

For more simplifications, you could just exclude small objects from the computation - for instance, invent a rule that frigates and smaller (drones, missiles) never get involved in these type of occluding events.

A more advanced version of that would be to exclude ships beyond a certain distance, which might depend on their signature radius. For instance a battlecruiser at 50km subtends a very small solid angle and is highly unlikely to occlude a shot. So a good approximation would be to ignore it.

And for close range brawlers, there are very few additional occluders with a distance less than its target, so you automatically cut out the bulk of the calculations for those ships.

Missiles are more complicated, but some hacks might be sufficiently good for play. You could do the calculation once at launch - this would correspond to something like the missile locking on to the wrong target. Or just update the calculation 2 or 3 times along the flight of the missile. That's probably good enough for hollywood.

More radically, you could invent a lore explanation which removes missiles from this type of calculation. They are guided, so maybe their guidance systems are good enough to avoid intervening targets. This would correspond to a big buff for missiles over turrets, so would have to be balanced out in other ways. But it could be a neat way of adding further differentiation between the weapon systems.

Finally, I'd say that even if you exclude ships from occluding calculations and just consider large collidable objects, structures and asteriods, that would already be a huge improvement to the tactical game.


Except that drone boats would still have a very distinct advantage because the drones go to the target, which would make standard carriers the most powerful ships in Eve, and in high sec Gallente would reign supreme due to their drone dominance.
Francisco Bizzaro
#62 - 2012-04-27 10:01:39 UTC
Joe Risalo wrote:
Except that drone boats would still have a very distinct advantage because the drones go to the target, which would make standard carriers the most powerful ships in Eve, and in high sec Gallente would reign supreme due to their drone dominance.

Sure. A change like LOS combat would change Eve combat fundamentally and significantly, and a lot of systems would need re-balancing.
Severian Carnifex
#63 - 2012-04-27 19:51:34 UTC
EVE really needs something like LOS to shake things from its roots.
Its only viable solutions too blobs.

And I don't think server juice would be huge problem here.
Wolodymyr
Breaking Ambitions
#64 - 2012-04-29 03:01:05 UTC
Joe Risalo wrote:
Except that drone boats would still have a very distinct advantage because the drones go to the target, which would make standard carriers the most powerful ships in Eve, and in high sec Gallente would reign supreme due to their drone dominance.

Actually fights in space happen fairly spread out. If you are zoomed out enough to see the entire battle you usually can't see individual ships. I imagine it'd only relaly be an issue in huge blobs.

Although large close range ships might have issues, like blaster megathrons.

Either way if LOS goes through there is going to need to be a lot of rebalancing.

I honestly think PoCo based sov is a good idea https://forums.eveonline.com/default.aspx?g=posts&m=1417544

Valerie Tessel
Center for Advanced Studies
Gallente Federation
#65 - 2012-04-29 06:52:30 UTC
Bloodpetal wrote:

This has been proposed for almost a decade (really).


CCP has generally said it's too much load and not scalable for massive fights (when you have 1500 people on grid, if the server has to figure out a calculation for each person shooting at each other person's line of sight, we're talking about over 2.25 million possible combinations to figure out (including friendly fire, reps and so on).
...

Silly question, but if positional play is desirable, might my solution for active defense be a better way to go in terms of load? Rather than calculate all possible positions, you calculate those where only a mutual target is involved. It yields positional play, without complete LoS mechanics. Link above and in sig.

Tactical destroyers... I'll take a dozen Gallente, please.

Master Tarn
Keeping Up Appearances
#66 - 2012-04-29 15:30:33 UTC
MIRROR DRONES, to bounce LAZORS off and shoot around corners...

AMARRRRR FTW...

On a serious note. I fully support the idea if it's possible. Anything that adds realism in the game has my vote.

However, as long as i keep bouncing of stations with 20km undocks i suspect it not to happen :p

o/
Avila Cracko
#67 - 2012-05-01 08:56:31 UTC
THIS, THIS, THIS!!!

LoS would go long way in EVE.

truth, the whole truth and nothing but the truth.

Logan Revelore
Symbiotic Systems
#68 - 2012-05-01 11:32:36 UTC
Well I agree with the OP, some more realism would be awesome, but I fear that this would probably require a whole rewrite of the base engine underlying EVE, in other words, most likely not going to happen.

I too would love some more physical realistic simulation though.
Logan Revelore
Symbiotic Systems
#69 - 2012-05-01 11:45:40 UTC
The raw implementation of a collision based system is pure vector calculus, not that intensive after all.. You have a given coordinate system, static one (already implemented in EVE), add to that, once a shot is fired, it's vector direction is decided based on parameters such as optimal range of weapons, precisions of the barrel etc. and once a vector is set, it's easy to keep track of it as its magnitude is the only thing changing in direct linear relationship to time 't'.

Collision detection is then made based on whether or not an object occupies the path of the vector path of the weapon shot, at the same time 't' in the system. So not that heavy calculation to keep track of, even with 200 000 players logged in at the same time, all shooting 6 turrets each 3.5 seconds: 200000*6/3.5 = 342857 projectiles at max to keep track of each second, not accounting for midair projectiles (should be very possible with modern CPUs doing billions of calculations/second).

In the real world you'd have to take into account gravity, and non-fluidic space, but in EVE we're working with fluidic space and no gravity, so the calculations are straight forward. But of course we can't let uncollided bullets stray forever, since eventually they would clutter the system, so I'd say give them a travel distance of 200-300km and give some mumbo jumbo explanation why they can't travel further than that.

This means though that we need to have travel time on projectiles implemented as well, which I don't think we have presently.. They hit as fast as lasers currently, should probably be adjusted to something like 50km/s for projectiles.
Logan Revelore
Symbiotic Systems
#70 - 2012-05-01 12:02:20 UTC
CCP would of course have to implement full support for parallel computing via multicore systems.