Advertisement

Hit Registration in FPS games

Started by March 12, 2018 07:35 PM
2 comments, last by hplus0603 6 years, 8 months ago

Hey everyone! I am very interested in the topic of hit registry in games specifically FPS. I had a few questions and hoped this was the correct area in this forum to post this topic. 

First off what exactly causes good or bad registration between players? Is a players ping or server location critical in this department and if so would the individual in a 1v1 fight with higher ping for example be at any sort of advantage or a complete disadvantage considering they are a few ms behind? Next what is involved in I would assume to be the coding aspect for this feature of a game? Why do some FPS games feel so clean and polished when it comes to shooting an opponent and others feel like you are hitting a ghost? The last thing I can think of right now and I may add more soon is are there any recording programs or in-game programs that can be run that show shots that hit/miss for testing purposes in various games? 

Thank you guys for any input and explanation I really appreciate it

 

 

I'm moving you to the networking and multiplayer forum, since this question appears to be about latency compensation in a multiplayer FPS.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

Advertisement

The main trade-off in latency compensation is one of "if you see it hit, it hit, but the netcode is open to cheating" versus "everything is determined on the server without the ability to cheat, but you have to lead shots or otherwise feel significant latency." This is because the transmission time from player A to player B is significant, and when player B finally sees player A and can shoot at them, player A has of course moved on to some other place on THEIR screen.

On game consoles, the console manufacturers keep the consoles largely cheat free, through making it hard to hack the console, and also through banning users who hack their consoles. Thus, developers can turn the slider all the way towards "if you see yourself hit, you hit." On the other hand, they only have game controllers as input.

On PCs, players have full control over their computers, and there's a constant cat-and-mouse game between the sellers of cheat tools and the developers / operators of games. The games will then try to compensate for latency some other way, such as making a server-side determination on whether the player "could" have made the shot or not, typically by rewinding time for each hit detection, trying to calculate what the player "should" have seen. The draw-back is that you either let players cause rewinds of a long time (which leads to "turn off the network hub and shoot everybody while they're frozen" hacks) or that you start giving players with longer ping times a rougher time.

If cheating wasn't a problem, much of lag could be mitigated, and the only remaining problem would be things like "who got the healthpack first?" which can be solved with sound, smoke, and mirrors and other game design tricks in many cases. (There's also the "but I dodged around the wall, how could you shoot me?" problem.) At least the shooter would hit what they see. But, people are people, and cheats mean that games will have to deal with lag in a variety of design choices that may impact players with different ping times, differently.

In almost all cases, though, you should get a better, less lag-filled experience, if you have a lower ping time. The only exception to this is games like RTS-es, where everybody runs the same game step at the same time (thus, with the latency of the longest connected player ping,) and the latency is hidden behind "yes, sir!" command acknowledgement animations.

 

enum Bool { True, False, FileNotFound };

This topic is closed to new replies.

Advertisement