Harnessing a GPU for Server Side Collision Detection

Discussion created by dirus on Mar 2, 2011
Latest reply on Apr 4, 2011 by Meteorhead

While writing a Design Doc for an MORPG game with FPS type combat I started thinking about the collision detection on the server side. Specifically tracking bullets.

I remember when I first started playing FPS' 32 players on a server was more or less the max, iirc largely due to the servers at that time not being able to handle the stress of more players without significant lag, due to the servers inability to keep up with every bullet flying around. I know Planetside had a 10k player max and the same goes for Battleground Europe. The bullet's also only flew so far before they just disappeared.

So I started wondering, since AMD is now really starting to push the GPU into a GpGPU would it be useful to try and harness the power of a GPU to do just collision detection. I know there is costs associated with the transfer of data across the PCIe bus and back, and in most cases that cost negates any benefit and can even make it worse. However I honestly don't have any serious expertise when it comes to coding anything for the GPU themselves.

Ultimately what I'd like is the ability to have the CPU send the vector/velocity info of all the moving objects such as bullets, players, vehicles etc to the GPU and have it run all the collision detection work, then if there is actually a collision the GPU would report that back to the CPU, which could then do any required calculations.

One of the main things that got me thinking about collision detection in the first place is that I think it would be awesome to have a mass battle with 1000 or so players where not only can you get hit by stray bullets(since most FPS' do that already) but also where the projectiles interact with each other. For example player 1 throws a knife at player 2, however while in flight a stray bullet from player 3's gun hits the knife and knocks it off course (I know this would be extremely compute intensive). Or the ability to shoot RPG's out of the air etc.