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.
Previous page123
 

When are they going to fix the HORRIBLE collision detection?

First post
Author
Seleia O'Sinnor
Drop of Honey
#41 - 2013-01-07 12:44:51 UTC
Jealousy Asques wrote:
Seriously, this is embarassingly bad, especially in places like asteroid belts. If you're in the middle of a bunch of collidable objects, asteroids etc you can't even tell which way to go, you just keep bumping around unable to warp or move untill you randomly pick the right direction to get out. All this while your ship is visually no where near hitting anything. It hasnt killed me yet but it is only a matter of time. When it does happen, I'm going to be pissed. It would be better not to have collision at all than this mess. You can shoot thru collidable objects anyways, so they are nothing more than scenery. So cheesy and one of my biggest immersion breakers.


It's a feature preserved by CCP by regularly going back to the future with a Navy Issue DeLorean.

Odyssey: Repacking in POS hangars for modules +1,  but please for other stuff too, especially containers. Make containers openable in POS hangars.

Tippia
Sunshine and Lollipops
#42 - 2013-01-07 13:17:45 UTC
Wacktopia wrote:
Is it really down to performance? Or just that CCP have not or round to redrawing the collision models?
Performance. Because…

Xercodo wrote:
On the contrary, the tessellation tech demo we got in last fanfest included some physx stuff as well. I'm not saying that we're guaranteed to have better collisions once the tessellation project is complete but I'd imagine update the game's physics engine to be physx based and provide super accurate collisions wouldnt be out of the question for the next major project.
…that was client-side to demonstrate what tessellation can do for visuals. Yes, in a single-player game, it can also be used for those kinds of collision calculations, but that's not what we're dealing with here. The physics is handled on the servers and don't care one whit about what DirectX version the client is running. They're not going to install (multiple) PhysX copros on every blade to deal with the calculations needed to have the two synch up.

You can't trust the client. You can send data to the client so it can run its own mini-simulation and try to predict where everything will be the next update, but if that simulation substantially differs from what the server does, it will be wrong. So adding in a lot of extra physsim bling in the client, only to have the server say "nah, all of that was wrong, redraw with this new, accurate info instead" will just make things look silly.

The server needs to be able to calculate and predict the interaction of several thousand discrete objects at once at full fidelity and then update all those clients with the information about all other objects. This is not something that can be readily compared with what's going on on the client side. Increasing the fidelity of that server simulation will rapidly ramp up the amount of work and the bandwidth needed.
ISD Suvetar
ISD Community Communications Liaisons
ISD Alliance
#43 - 2013-01-07 13:21:55 UTC
Moved from General Discussion.

[b]ISD Suvetar Captain/Commando Community Communication Liaisons (CCLs) Interstellar Services Department[/b]

Abu Tarynnia
Kings-Guard
Sigma Grindset
#44 - 2013-01-07 13:49:07 UTC  |  Edited by: Abu Tarynnia
Nariya Kentaya wrote:
Jame Jarl Retief wrote:
That's a good point about collision detection, actually.

I mean, yeah, performance is a consideration. But considering there's tons of games out there where dozens if not more people are shooting each other with weapons that have rates of fire at or above 400-800 rpm, and those same games have per-polygon collision detection between players and the environment (and the environment itself is often fully or partially destructible by those projectiles) as well as projectile physics (bullet drop, windage, spread, etc). EVE should have much better collision detection, considering it's only between ships and other collidable objects. It's not like the game has line of sight or projectile collision mechanics to it.

the issue becomes, you now have to calculate and remember complex geometry for the MILLIONS of items strewn around eve, instead fo the just couple hundred in most fo those games. and m,ost fot hsoe games only calculate short term as arenas are only in existence as long as their mdoels are bing used.


Hm .. I wonder how World of tanks solves this problem .. with basically the same number of players online and a far better collision detection then EVE :)

YOU CANNOT HAVE MY STUFF!!!!

Tippia
Sunshine and Lollipops
#45 - 2013-01-07 14:49:52 UTC
Abu Tarynnia wrote:
Hm .. I wonder how World of tanks solves this problem .. with basically the same number of players online and a far better collision detection then EVE :)
By having nowhere near the same amount of objects that can collide with each other.
Joe Risalo
State War Academy
Caldari State
#46 - 2013-01-07 15:50:51 UTC
This is actually already a work in process, but with even more depth than you might imagine.

There will be effects showing the asteroid hitting your ship such as your shields pulsing and so on.

Took me a while to find it, but it's called Tessellation and here's a vid.

http://www.youtube.com/watch?v=8k7oaz8mWug

It's pretty.
Buzzy Warstl
Quantum Flux Foundry
#47 - 2013-01-07 16:03:46 UTC  |  Edited by: Buzzy Warstl
Tippia wrote:
Abu Tarynnia wrote:
Hm .. I wonder how World of tanks solves this problem .. with basically the same number of players online and a far better collision detection then EVE :)
By having nowhere near the same amount of objects that can collide with each other.

It's only the players in space in any given system that require accurate collision detection.

In a busy system (barring massive fleet actions) you are looking at a few dozen player ships requiring accurate collision detection at any given time.

Exactly how is this going to be a problem for the servers?

http://www.mud.co.uk/richard/hcds.htm Richard Bartle: Players who suit MUDs

Tippia
Sunshine and Lollipops
#48 - 2013-01-07 16:10:25 UTC  |  Edited by: Tippia
Buzzy Warstl wrote:
Exactly how is this going to be a problem for the servers?
The same way it is one right now.
It must be able to scale to several thousand objects being within potential-interaction distance from each other, which is why they had to devise the whole 1-second-frame causality bubble mechanic, and why they made all objects simple vectors or points.

Joe Risalo wrote:
This is actually already a work in process, but with even more depth than you might imagine.

There will be effects showing the asteroid hitting your ship such as your shields pulsing and so on.

Took me a while to find it, but it's called Tessellation and here's a vid.
Just one problem: that's client-side visual effects. Collisions in EVE are decided on the server, so the graphical (and phys-sim) capabilities of your video card are completely meaningless for the purpose of determining where things go.
Joe Risalo
State War Academy
Caldari State
#49 - 2013-01-07 16:19:40 UTC
Tippia wrote:
Buzzy Warstl wrote:
Exactly how is this going to be a problem for the servers?
The same way it is one right now.
It must be able to scale to several thousand objects being within potential-interaction distance from each other, which is why they had to devise the whole 1-second-frame causality bubble mechanic, and why they made all objects simple vectors or points.

Joe Risalo wrote:
This is actually already a work in process, but with even more depth than you might imagine.

There will be effects showing the asteroid hitting your ship such as your shields pulsing and so on.

Took me a while to find it, but it's called Tessellation and here's a vid.
Just one problem: that's client-side visual effects. Collisions in EVE are decided on the server, so the graphical (and phys-sim) capabilities of your video card are completely meaningless for the purpose of determining where things go.



Except, if you skip ahead in the video to 6:40 and watch that portion where the asteroids are colliding with the ship, they state how tessellation will give ships and asteroids real geometry allowing them to actually collide with each other instead of invisible hit boxes. They even go on to explain how this could allow them to have asteroids shatter when colliding with ships and other asteroids.

So, it's more than just client side.
Buzzy Warstl
Quantum Flux Foundry
#50 - 2013-01-07 16:27:01 UTC
Tippia wrote:
Buzzy Warstl wrote:
Exactly how is this going to be a problem for the servers?
The same way it is one right now.
It must be able to scale to several thousand objects being within potential-interaction distance from each other, which is why they had to devise the whole 1-second-frame causality bubble mechanic, and why they made all objects simple vectors or points.

Asteroids don't move. The only moving objects are ships.

NPC's don't care how accurate their collision detection is.

That leaves player ships colliding with fixed objects, NPC ships, and each other.

It's only thousands of objects during massive fleet battles and exceptionally busy systems that already get special treatment server-side.

http://www.mud.co.uk/richard/hcds.htm Richard Bartle: Players who suit MUDs

Tippia
Sunshine and Lollipops
#51 - 2013-01-07 17:03:05 UTC
Joe Risalo wrote:
Except, if you skip ahead in the video to 6:40 and watch that portion where the asteroids are colliding with the ship, they state how tessellation will give ships and asteroids real geometry allowing them to actually collide with each other instead of invisible hit boxes. They even go on to explain how this could allow them to have asteroids shatter when colliding with ships and other asteroids.

So, it's more than just client side.
Yes, I know, I was there. There's a difference what it could let them do, client-side, and it they actually will let them do, server-side. The server dictates the physical interaction. The server will not have one GPU-accelerated sim for every ship (or other object) in the field.

So not only is it more than just client-side: it's nothing client-side. At most, what the client would let them do is have the ships scrape off each other without any model clipping, but it won't affect what the server actually says about the movement of those objects and trying to give single-player fidelity to the actual-MMO scale of EVE would make the servers have a core dump… the nuclear kind, not the OS kind.

This is the core issue here: people are looking at it from the standard single-player GPU-accelerated perspective. None of that applies to EVE. It will not be GPU accelerated. Your computer is not relevant other than for rendering the result. The tricky part — the one that make things look bad — still has to be done by the server, and it would require a massive recode to change that part, which has nothing to do with fancy graphics and neat new GPU APIs.

Buzzy Warstl wrote:
Asteroids don't move. The only moving objects are ships.

NPC's don't care how accurate their collision detection is.
Doesn't matter. They are still physical objects that have to be included and/or subjected to the same sims. No, the NPC AI doesn't care whether they bump in the right direction, but the simulation does, as do you: if you bounce correctly off the NPC ship, wouldn't you expect it to bounce off you correctly as well?

Quote:
It's only thousands of objects during massive fleet battles and exceptionally busy systems that already get special treatment server-side.
The only special treatment they get is that other systems get lower priority, or that the fleet gets its own dedicated node. None of it changes the physics and prediction sims in any way.

Buzzy Warstl
Quantum Flux Foundry
#52 - 2013-01-07 17:18:05 UTC
Asteroids (and other fixed "collidable objects") only need collision boundaries.
They don't move, and so there is no collision to track unless there is a player or NPC ship involved.

NPC's only need accurate collision mechanics when colliding with a player ship, when colliding with asteroids or each other the simplified mechanic can be used.

So I don't get where you are coming up with
Tippia wrote:

several thousand objects being within potential-interaction distance from each other

except on the busiest nodes.

http://www.mud.co.uk/richard/hcds.htm Richard Bartle: Players who suit MUDs

iskflakes
#53 - 2013-01-07 18:11:09 UTC  |  Edited by: iskflakes
Tippia wrote:
iskflakes wrote:
The collision in EVE is very 2003, and it's evident to new players who are used to seeing flawless collision of high poly models in other games.
…games that still have to handle far fewer collision calculations than EVE does.

So again, how would you handle it on the scale of EVE without massive drops in performance.


Collisions in EVE are very infrequent, and detailed collision detection is only required when the bounding spheres intersect (which is already tested) so the resources required are actually minimal. A ship does not need a high poly collision model, infact only 6-10 would be fine for most ships and would fix most of the issues.

Tippia wrote:
Quote:
To fix this CCP would need to start sending orientation information to the client, which they currently don't (ships don't even have orientations, it's all just made up client side). This wouldn't be a big performance problem as various developers have stated before that EVE's performance is not bandwidth bottlenecked. There's nothing stopping them modernizing this.
…aside from the fact that the client has no need for the orientation information; and that using it would serve no purpose without a complete rewrite of everything that would cause pretty huge performance hits.


You say the client would not need orientation information, which is untrue. If the client is to do its own predictive collision detection (which is how physics is done these days) then it needs to know the orientation of the objects it's trying to collide. As I justified earlier orientation information is not a large overhead given what CCP have made public about their performance issues. Can you justify that final sentence? You seem to have pulled it out of thin air. The changes are all server-side, and limited to the physics sections of code. In my opinion two developers could implement all these changes in a few weeks.

Nevyn Auscent wrote:
CCP have said that in order to have significantly better collision detection, they would really need to move to DX-11.
Not to say it wouldn't be possible other ways, but it's silly to do a complete graphics engine rewrite and use a years old DX version.
(Rather than tweaking some of the bubbles smaller a fraction).

CCP have also said their stats say a large portion of Eve systems are not DX-11 capable, so for them to consider the move, they would need a much larger portion of their player base to be DX-11 capable.

Citations not provided, use the search under Tesselation.


This is nonsense, collisions are not handled by graphics code. The DX11 tesselation features are graphics, not physics.

-

Dersen Lowery
The Scope
#54 - 2013-01-07 19:14:26 UTC  |  Edited by: Dersen Lowery
iskflakes wrote:
This is nonsense, collisions are not handled by graphics code. The DX11 tesselation features are graphics, not physics.


That line is blurring with PhysX, which CCP used to model the asteroids and their collisions in that demo. Given that the old SGI tesselation pipeline is now uncontested gospel, and given that the graphics code is now able to enhance the model in real time with textures and maps, it makes sense to put the predictive physics as close to the final render as possible. That's what's starting to happen.

If you just went by the model geometry then collisions would continue to look terrible under DX11, because the further tesselation and mapping done by the graphics code would be ignored, and the ships would appear to merge with each other. Avatar clothes (which are nothing but textures on the avatar model) would pass through walls and other avatars, and so on.

The strategy revealed by that demo is pretty much what you were getting at: The server will do a gross calculation ("pay attention to these two things, because they're close") and then the client machine's graphics engine will do the fine work once it's applied all its procedural modifications to the base models.

Proud founder and member of the Belligerent Desirables.

I voted in CSM X!

Zanzbar
The Scope
Gallente Federation
#55 - 2013-01-07 22:37:07 UTC  |  Edited by: Zanzbar
Watch the Fanfest demo on using tessellation in eve, a technology that would be available if they upgraded eve to allow dx11? ( maybe 10 can't seem to remember) . It let's the graphics card render a lot of extra geometry for both visuals AND hit detection with little extra coding on their part, even to the extent of asteroids breaking across a ship hull and shield ripples on hit.


Damnit beat to it, guess I should have read further
Kitt JT
True North.
#56 - 2013-01-08 01:49:56 UTC
This needs fixing. Would be nice.
Joe Risalo
State War Academy
Caldari State
#57 - 2013-01-08 03:47:21 UTC
Zanzbar wrote:
Watch the Fanfest demo on using tessellation in eve, a technology that would be available if they upgraded eve to allow dx11? ( maybe 10 can't seem to remember) . It let's the graphics card render a lot of extra geometry for both visuals AND hit detection with little extra coding on their part, even to the extent of asteroids breaking across a ship hull and shield ripples on hit.


Damnit beat to it, guess I should have read further



Yeah.... I kinda beat ya there, and I linked the video, lol...
Previous page123