open All Channels
seplocked Features and Ideas Discussion
blankseplocked Line of sight v. the Blob
 
This thread is older than 90 days and has been locked due to inactivity.


 
Author Topic

Vol Arm'OOO
Posted - 2011.03.22 19:19:00 - [1]
 

I know its not realistically likely to happen -- but i propose that line of sight be added to the game. It seems to me to be a major break in immersion that you can effectively shoot through other objects, be it ships, roids, etc. . . IMO the lack of line of sight has made the blob possible as the favored tactic. There is simply no need to do much serious tactical manuvering on the field (other then getting close/far away, and orbiting). If los was added, ship to ship combat could become significantly more complex. Small ships could hide behind larger ships (using them effectively as shields), priates could hide in roid fields, etc. . . Attackers would actually have to think about the placement of their ships on the field -- a simpple blob will no longer do.

Marchocias
Posted - 2011.03.22 19:35:00 - [2]
 

Edited by: Marchocias on 22/03/2011 19:38:10
I don't think anyone would disagree with the principle of line of sight, the problem is the extra calculations.

Massive pvp engagements, with many people on the same grid, would become computationally intractable very quickly, as for every single shot fired you would need to check every other object nearby to see if it is in the way...

Sure, you can optimise away a portion of that fairly easily (eg, if A is firing at B, you instantly know C isn't in the way if any one of C's x,y,z coordinates is not somewhere between A's and B's x,y,zs respectively), but the problem is effectively O(n^2) (order n-squared) which means that if n is the number of objects on grid, the number of calculations required is proportional to n^2. O(n^2) problems are a very bad thing for programmers to have to deal with.

Louise Achura
Posted - 2011.03.22 19:44:00 - [3]
 

What a stuningly orginal idea that has not come up before. Well for at least a few hours anyway

De'Veldrin
Minmatar
Norse'Storm Battle Group
Intrepid Crossing
Posted - 2011.03.22 19:52:00 - [4]
 

Originally by: Marchocias
Edited by: Marchocias on 22/03/2011 19:38:10
I don't think anyone would disagree with the principle of line of sight, the problem is the extra calculations.

Massive pvp engagements, with many people on the same grid, would become computationally intractable very quickly, as for every single shot fired you would need to check every other object nearby to see if it is in the way...

Sure, you can optimise away a portion of that fairly easily (eg, if A is firing at B, you instantly know C isn't in the way if any one of C's x,y,z coordinates is not somewhere between A's and B's x,y,zs respectively), but the problem is effectively O(n^2) (order n-squared) which means that if n is the number of objects on grid, the number of calculations required is proportional to n^2. O(n^2) problems are a very bad thing for programmers to have to deal with.


I have to agree with Marchocias here. I would LOVE to see true line of sight combat in Eve, but the calculations would kill TQ in short order simply because the number of calculations would skyrocket, and not just because of people. Imagine a fight in an asteroid belt. Not it has to check to see if the shot will pass through any of the rocks, as well as any other ships. Collidable objects would come into play, like stargates, gun batteries, containers, etc. All of this stuff that TQ currently doesn't have to care about in terms of combat suddenly becomes important, and makes the calculations longer.

Kabaal S'sylistha
Caldari
Caldari Provisions
Posted - 2011.03.23 10:03:00 - [5]
 

You would just have to check each point in the line. It's still pretty computationally heavy and therefore unlikely, but could you people please stop theorycrafting with bad code ideas? Trying to sound cool by saying it's a n^2 issue does no one any good.

Di Mulle
Posted - 2011.03.23 11:18:00 - [6]
 

Edited by: Di Mulle on 23/03/2011 11:20:54
Originally by: Kabaal S'sylistha
You would just have to check each point in the line. It's still pretty computationally heavy and therefore unlikely, but could you people please stop theorycrafting with bad code ideas? Trying to sound cool by saying it's a n^2 issue does no one any good.


Your way is even worse. You still need to check n lines for a presence of n-1 objects each.

Just, assuming maximum firing distance is 250 km and a minimum step for a distance is 1 m, we do 250000 checks for each line.

So n*(n-1)*250000 checks. Sounds cool.

Actually, previously mentioned optimization by checking single coordinates is much much more effective. Still quadratic though.

Mara Rinn
Posted - 2011.03.23 11:49:00 - [7]
 

Add a few GPUs to each grid simulator node, use the ray tracing to check for intersection between a line and triangular mesh (i.e.: objects in space), ensure that LoS checking is offloaded using something like Grand Central Dispatch using OpenCL, et voila - LoS with minimal impact on the simulator itself.

LoS calculations could even be scaled back so that putting bigger blobs on grid dumbs down the simulation to the current "shoot things in alphabetical order" mode, or use other ideas along the lines of restricting target locking distance as more ships are added to grid, to reduce the search space of the LoS algorithm.

The idea of using general purpose CPUs to perform a math-intensive task seems a little retrograde to me. Sure, we have SSE and other advanced pipelines on modern Intel CPUs, but what a massive blob fight needs is not a CPU that can process individual instructions in less time, but CPUs that can process more instructions at the same time. This calls for parallel processing of math-intensive tasks, which is currently the ideal problem set for GPUs.

Line of sight will add more to the game than any expansion to date. With LoS, the positioning of ships on grid will be important. No longer will you simply bundle up in a big ball of apocs with smart bombs running, shooting all available targets in alphabetical order. The 'big ball' approach will hurt the fleet as weapons fire intended for enemies end up impacting on friendly ships.

On an unrelated note, I'd like to see guided missiles be immune to LoS, due to their guided nature. Rockets and torpedoes would be 'dumb fire' meaning they explode upon impact with the first object they hit.

De'Veldrin
Minmatar
Norse'Storm Battle Group
Intrepid Crossing
Posted - 2011.03.23 12:42:00 - [8]
 

Originally by: Mara Rinn
Add a few GPUs to each grid simulator node, use the ray tracing to check for intersection between a line and triangular mesh (i.e.: objects in space), ensure that LoS checking is offloaded using something like Grand Central Dispatch using OpenCL, et voila - LoS with minimal impact on the simulator itself.

LoS calculations could even be scaled back so that putting bigger blobs on grid dumbs down the simulation to the current "shoot things in alphabetical order" mode, or use other ideas along the lines of restricting target locking distance as more ships are added to grid, to reduce the search space of the LoS algorithm.

The idea of using general purpose CPUs to perform a math-intensive task seems a little retrograde to me. Sure, we have SSE and other advanced pipelines on modern Intel CPUs, but what a massive blob fight needs is not a CPU that can process individual instructions in less time, but CPUs that can process more instructions at the same time. This calls for parallel processing of math-intensive tasks, which is currently the ideal problem set for GPUs.

Line of sight will add more to the game than any expansion to date. With LoS, the positioning of ships on grid will be important. No longer will you simply bundle up in a big ball of apocs with smart bombs running, shooting all available targets in alphabetical order. The 'big ball' approach will hurt the fleet as weapons fire intended for enemies end up impacting on friendly ships.

On an unrelated note, I'd like to see guided missiles be immune to LoS, due to their guided nature. Rockets and torpedoes would be 'dumb fire' meaning they explode upon impact with the first object they hit.



Actually, I like your idea, Mara. Not sure how it would work inside of TQ's architecture since, obviously, I have no idea how its assembled, but the idea of offloading the computations never occurred to me. Embarassed

Combined with the idea of "more ships = dumber combat" it could actually be feasible, assuming CCP wanted to invest the time to do it right. Imagine being able to break a warp scramble by flying behind an asteroid.

Kabaal S'sylistha
Caldari
Caldari Provisions
Posted - 2011.03.23 13:33:00 - [9]
 

Originally by: Di Mulle
Edited by: Di Mulle on 23/03/2011 11:20:54
Originally by: Kabaal S'sylistha
You would just have to check each point in the line. It's still pretty computationally heavy and therefore unlikely, but could you people please stop theorycrafting with bad code ideas? Trying to sound cool by saying it's a n^2 issue does no one any good.


Your way is even worse. You still need to check n lines for a presence of n-1 objects each.

Just, assuming maximum firing distance is 250 km and a minimum step for a distance is 1 m, we do 250000 checks for each line.

So n*(n-1)*250000 checks. Sounds cool.

Actually, previously mentioned optimization by checking single coordinates is much much more effective. Still quadratic though.



If the minimum step is one distance, you just plot the line and check for objects. It would add <=250k if statements to every attack, but it has nothing to do with the number of people or objects on grid so it avoids inflation and is a flat rate. It's not like I think a line check is the most optimized way to do it, but a line check shatters all this BS about n^2 floating around.

Vol Arm'OOO
Posted - 2011.03.23 16:43:00 - [10]
 

Edited by: Vol Arm''OOO on 23/03/2011 16:45:29
Originally by: Louise Achura
What a stuningly orginal idea that has not come up before. Well for at least a few hours anyway


lol - eve has been out - what, forever? so i doubt there are any truly original ideas -- but i did check the frequently posted list and didnt see it there so meh....

But my point is that the blob is like the weather -- everybody complains about it but nothing is done. I dont suppose anybody remembers the old paper and pen star fleet battles game? In that game there was shield facings and as a result a lot of tactical manuvering was required. It made the game interesting -- you had to try to get you fleet coordinated so it would hit one shield of the otherside while at the same time the otherside would be either reinforcing that facing or turning their ship. With los and shield facings eve would become more about skill and superiour tactics then it is about merely bringing the right number of ships and mashing buttons.

Di Mulle
Posted - 2011.03.23 20:25:00 - [11]
 

Originally by: Kabaal S'sylistha

If the minimum step is one distance, you just plot the line and check for objects. It would add <=250k if statements to every attack, but it has nothing to do with the number of people or objects on grid so it avoids inflation and is a flat rate. It's not like I think a line check is the most optimized way to do it, but a line check shatters all this BS about n^2 floating around.


I've already seen that mistake you are making here Laughing

Please tell me how you are going to "plot the line and check for objects" without checking all these objects' data one by one. This is exactly what gives n^2.

Arsikere
Posted - 2011.03.23 20:30:00 - [12]
 

I completely agree with this idea, for it goes back to the days of Homeworld and, yeah, it's a cool idea. THe realism is relative in this game and I favor all realistic developments.

Kabaal S'sylistha
Caldari
Caldari Provisions
Posted - 2011.03.23 20:44:00 - [13]
 

Originally by: Di Mulle
Originally by: Kabaal S'sylistha

If the minimum step is one distance, you just plot the line and check for objects. It would add <=250k if statements to every attack, but it has nothing to do with the number of people or objects on grid so it avoids inflation and is a flat rate. It's not like I think a line check is the most optimized way to do it, but a line check shatters all this BS about n^2 floating around.


I've already seen that mistake you are making here Laughing

Please tell me how you are going to "plot the line and check for objects" without checking all these objects' data one by one. This is exactly what gives n^2.


It depends on how it's coded. You're still thinking of checking all the objects in grid to see if they exist anywhere on that line. If every 1m fragment of space has an "occupied" variable that alters as items move then you just check if x1y1z1 is true for occupied or not, then x1y1z2, etc etc.

Di Mulle
Posted - 2011.03.23 21:32:00 - [14]
 

Edited by: Di Mulle on 24/03/2011 14:42:17
Originally by: Kabaal S'sylistha


It depends on how it's coded. You're still thinking of checking all the objects in grid to see if they exist anywhere on that line. If every 1m fragment of space has an "occupied" variable that alters as items move then you just check if x1y1z1 is true for occupied or not, then x1y1z2, etc etc.


Yep, I must admit you are right here.

Just...

Think about data structure of what size is needed to keep that data you propose. For a worst case it is on the level of a few gigabytes per grid.

Edit: it is many terabytes obviously.

Checking each x1y1z1 will be worse than n^2 if overall number of ships is lower than (length of the line)/(smallest coordinate unit). Which in our case is way way over thousands.

Mara Rinn
Posted - 2011.03.23 21:47:00 - [15]
 

Originally by: Kabaal S'sylistha
It depends on how it's coded. You're still thinking of checking all the objects in grid to see if they exist anywhere on that line. If every 1m fragment of space has an "occupied" variable that alters as items move then you just check if x1y1z1 is true for occupied or not, then x1y1z2, etc etc.


If every 1m cube of space has an "occupied" variable?

Here's a thought experiment: the base size of any grid is a sphere approximately 250km radius.

How many 1m3 boxes of space exist in that 250km radius sphere? How much memory would be required to contain the data structure, assuming you can use exactly 1 bit to encode "occupied" for each 1m3 box? Now how many boxes would have to be modified any time a Slasher moves through grid?

The key to getting LoS to work is to have the "does this line intersect any object apart from the target" calculation done for every ship on grid, within the time budget defined by the difference between current turret weapon calculations and current missile weapon calculations.

Rastigan
Caldari
Ars ex Discordia
Test Alliance Please Ignore
Posted - 2011.03.24 12:42:00 - [16]
 

Why would you need boxes ? the game obviously has a coordinate system , the client knows where to place ships and objects with those coordinates and knows the distance of said objects so you could just make the calculations of only objects that are closer than the target to see if its in the same direction as the target and increase the area of blockage depending on the blocking objects size/signature and distance.

Di Mulle
Posted - 2011.03.24 13:13:00 - [17]
 

Originally by: Rastigan
Why would you need boxes ? the game obviously has a coordinate system , the client knows where to place ships and objects with those coordinates and knows the distance of said objects so you could just make the calculations of only objects that are closer than the target to see if its in the same direction as the target and increase the area of blockage depending on the blocking objects size/signature and distance.


Because this leads to n^2 problem.

"Box" approach gives a n*const calculations. But, because of const>>n in our particular case, it is even worse.

De'Veldrin
Minmatar
Norse'Storm Battle Group
Intrepid Crossing
Posted - 2011.03.24 13:23:00 - [18]
 

Edited by: De''Veldrin on 24/03/2011 13:26:25
Originally by: Mara Rinn


If every 1m cube of space has an "occupied" variable?

Here's a thought experiment: the base size of any grid is a sphere approximately 250km radius.

How many 1m3 boxes of space exist in that 250km radius sphere?



V=(4/3)*pi*(250,000 ^ 3)
65,476,190,476,190,476 1m3 boxes - give or take.

Originally by: Mara Rinn

How much memory would be required to contain the data structure, assuming you can use exactly 1 bit to encode "occupied" for each 1m3 box?



7,443 terabytes, if I did my math right.
Per grid.

Di Mulle
Posted - 2011.03.24 14:41:00 - [19]
 

Originally by: De'Veldrin


V=(4/3)*pi*(250,000 ^ 3)
65,476,190,476,190,476 1m3 boxes - give or take.

7,443 terabytes, if I did my math right.
Per grid.


Lol, I somehow counted an area, and even then it is unbearable ugh

Vincent Athena
Posted - 2011.03.24 15:39:00 - [20]
 

Ships are big. You could use 100 m boxes, then you only need 7 gig.

Or you could off load the N^2 calcs to the N clients. Each ship calculates for itself if there is an obstacle.

But would it really stop the blob? Or would people just learn to spread out a little, and keep right on blobing?

Also this nerfs blasters even more. A blaster user in close orbit would keep getting shot by friendly fire.

Di Mulle
Posted - 2011.03.24 16:10:00 - [21]
 

Originally by: Vincent Athena
Ships are big. You could use 100 m boxes, then you only need 7 gig.


While 1 m unit may be an overshot, 100 m is already too big. If you happen to be blocked by a nearby BS, his movement by a mere 50 meters will change a lot.

But actually, we have a discussion here of a kind "do you care you were flattened by asphalt roller 20 times or only 5?"

Originally by: Vincent Athena
Or you could off load the N^2 calcs to the N clients. Each ship calculates for itself if there is an obstacle.


Just hehe. Guess how many obstacles they will find Laughing

Originally by: Vincent Athena
But would it really stop the blob? Or would people just learn to spread out a little, and keep right on blobing?



Exactly.


Manalapan
Dynasty Banking
General Tso's Alliance
Posted - 2011.03.24 16:24:00 - [22]
 

Edited by: Manalapan on 24/03/2011 16:25:17
Alright, I was not going to post but some of the thought in this kills me a bit. LoS is not as dramatic of a calculation if done right especially since in EVE there is no 'travel' for charges, bullets, and lasers and you don't calculate landing location of shot etc. If done right (not how I keep saying that) it would not matter how many people were shooting on grid the calculation would be constant time.

The issue is that you are adding up to 8x more calculations per combatant in a system that already lags. This will get fixed as CCP continues its work on some of the older server code and when they start to upgrade their equipment to more processing powerful systems (Someone mentioned GPU servers earlier woot Teslas).

Now that my nerd rage is over.

I am not saying bringing this back would not be an issue. There are just more pressing issues that need to be addressed before this should be incorporated.

Vol Arm'OOO
Posted - 2011.03.24 17:32:00 - [23]
 

Edited by: Vol Arm''OOO on 24/03/2011 17:36:42
Edited by: Vol Arm''OOO on 24/03/2011 17:33:02
Originally by: Manalapan
Edited by: Manalapan on 24/03/2011 16:25:17
Alright, I was not going to post but some of the thought in this kills me a bit. LoS is not as dramatic of a calculation if done right especially since in EVE there is no 'travel' for charges, bullets, and lasers and you don't calculate landing location of shot etc. If done right (not how I keep saying that) it would not matter how many people were shooting on grid the calculation would be constant time.

The issue is that you are adding up to 8x more calculations per combatant in a system that already lags. This will get fixed as CCP continues its work on some of the older server code and when they start to upgrade their equipment to more processing powerful systems (Someone mentioned GPU servers earlier woot Teslas).

Now that my nerd rage is over.

I am not saying bringing this back would not be an issue. There are just more pressing issues that need to be addressed before this should be incorporated.


IMO while I lack the techical knowledge to comment on the calculations issues, I suspect that the concern about the adition of more lag is overblown. IMO the addition of LOS and shield facings will likely make blob combat less efficent. Consequently, smaller group actions may become more common. Thus,any potential for lag may be washed out in the final analysis.

Also doesnt LOS already exist in this game -- after all if you are flying in space and bump into an object you bounce off. Thus the game already is already making determinations as to whether two objects intersect in space -- LOS would merely apply those calculations to weapons systems to determine if your hitting what you aim at.

Vol Arm'OOO
Posted - 2011.03.24 17:41:00 - [24]
 

Originally by: Also this nerfs blasters even more. A blaster user in close orbit would keep getting shot by friendly fire.[/quote


Maybe it should just be a question of aiming/locking -- your guns can't track/lock onto a target that is "behind" another bigger target.

Syas Morakl Badasaz
Posted - 2011.03.24 22:15:00 - [25]
 

I must admit the LOS idea does sound like a good way to control mass blobs. More ships make getting a LOS hard and bring in a real world aspect that is missing from battles. Getting the high ground is what wins battles and hiding behind objects was one aspect of StarTrek Online that I liked.

The calculation is a problem, but not as big as I think people are thinking it is. The raytracing is a potential solution, but handing it off to the client has issues as I don't know of any calculation in eve that are handed off. (correct me if I am wrong) Beside you are talking about instead of the server having the calculation you have to send off and then wait the result to come back.

I really believe that this is something that needs to be seriously looked at for the future of eve as it would add so much. However like anything the cost is high, but the rewards higher


Kalia Masaer
Amarr Border Defense Consortium
Posted - 2011.03.24 22:25:00 - [26]
 

Sadly if you hand off calculations to the client people will hack it and essentially be able to do the impossible, unless a program like PB or VAC is added with all their challenges.

Bender 01000010
Caldari
EVE-RO
-Mostly Harmless-
Posted - 2011.04.04 11:37:00 - [27]
 

Originally by: Kalia Masaer
Sadly if you hand off calculations to the client people will hack it and essentially be able to do the impossible, unless a program like PB or VAC is added with all their challenges.


I think few people will have the balls or wish to use cheats..you wait months or years to get good skills...

Jaik7
Posted - 2011.04.04 14:18:00 - [28]
 

think we'd see raven blobs if missiles could steer around objects and hit their targets and turret based weapons just hit whatever was in front of them?

caldari FTW


 

This thread is older than 90 days and has been locked due to inactivity.


 


The new forums are live

Please adjust your bookmarks to https://forums.eveonline.com

These forums are archived and read-only