Thursday, September 6, 2018

3d - Prevent players from wallhacking in an online FPS?


Why do we still complain about 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?



Answer



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.


No comments:

Post a Comment

Simple past, Present perfect Past perfect

Can you tell me which form of the following sentences is the correct one please? Imagine two friends discussing the gym... I was in a good s...