Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Why do we still moan on wallhackers in multiplayer first-person shooters?

Isn't it possible to perform occlusion culling for all players server-side? For example, send player xyz information to client only when the player is visible in client's frustum and not occluded by any object ? Even if the collision-geometry is very, very simplified, most of the time cheater won't receive tactical information.

Why not do this?

share|improve this question
add comment

3 Answers 3

up vote 15 down vote accepted

Think you're lagging now? Just wait 'till you have to get real-time occlusion information from the server. Now you can walk around from behind a wall and bad guys will suddenly pop into view as the server catches up and sends you the updated occlusion data.

So my snarky comment tells it all. Likely the primary reason not to do this is lag and server load. If you want the server to know when another player is visible to you, that means the server has to know exactly what geometry each player is looking at and calculate that occlusion.

I agree that exploits like wall hacking can make the game not fun. And I see that developers would worry about this because they want to make the game as fun as possible. However, when developers get to the point where their anit-cheat/hack counter-measures diminish game play and/or customer satisfaction, they'll lose far more customers than if they had just left it alone. See DRM.

share|improve this answer
3  
+1 for urging that anti-cheat/hack countermeasures should never diminish the experience of an innocent customer. –  Jonathan Hobbs Apr 18 '12 at 2:31
    
Why the down vote? –  Byte56 Jun 1 '12 at 3:51
add comment

It's doable, and has been tried in research before; for a comparison of interest management schemes, see http://dl.acm.org/citation.cfm?id=1230069

As Byte56 said, it may require more CPU, but it may reduce your bandwidth, and reduce the likelihood of wall-hacks.

And as Byte56 said, an interest area strictly limited to the player's occlusion-area may reduce responsiveness on the client-side: ambushes will take at least half a round-trip to be displayed. However, you could make the player's interest area slightly larger than the occlusion area, so that the client receives the opponent's ambush a few seconds before it happens. That way, wall-hacks are still possible, but only at the very last moment.

share|improve this answer
    
Nice, thanks for bringing some actual research to the answers. Welcome to GDSE. –  Byte56 Apr 18 '12 at 15:48
add comment

The short answer is that yes, server side occlusion culling is possible, but it's often not done due to complexity and limited benefit.

Keep in mind that for a large portion of modern FPS games, complete occlusion is rare. Characters these days use cover or hide in grass, and the actual uniforms and camouflage actually has an impact on visibility. Walls and corridors still play a large part of online battle, but not as much as in years past.

Games with lots of tight corridors and opaque surfaces can (an sometimes have) used occlusion culling on the server for event filtering. This just doesn't work so well for large open environments and realistic cover/camo games.

Wall hacking is also only one small part of cheating in online games, and fixing each individual hack has not worked well so far. The best approaches have simply been high quality match making and player rating systems that filter out the cheaters and decrease the likelihood getting put into a frustrating match.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.