Call of Duty: Black Ops III

Call of Duty: Black Ops III

View Stats:
Why Call of Duty Has Bad Hit Detection
TL;DR|Call of Duty__|CSGO ------------------------- Rate_|25kbps(MAX)___|80kbps Tick_|20 sv_fps_____|64/100/128 ticks CMD_ |22.5(FPS link)|64/100/128 packets(no FPS link as long as it meets the max) FPS__|91____________|300
The problem lies in the engine itself. Even though Activision boasts that COD has a shiny new engine, that's a lie. Go on, type "^" then a number in your latest COD and see what happens. COD is still wearing the zombie husk of Quake 3 over its skin like the Buffalo Bill freak it is. As a result it uses poo-poo dial-up settings from 16 years ago.
Lag Compensation
In the COD series, it seems that whoever has the highest ping wins. A person with 50 ping shooting at another with 250 ping will likely find all their shots missing, whereas the 250 ping player would be able to kill at the 50 ping player even if they went into cover. That is because the COD series introduced a new "antilag" feature from COD2 onwards...meaning this series was ruined before it even became popular. ツ

The antilag setting (g_antilag) could be turned off in COD2, but was forced on in all later installments unless mods were used. This setting should just be removed entirely because it's contrary to all other online games. Someone with worse internet should never have the advantage. Thanks to Tally for this information.
The Rate
This is how often you receive data from the server measured in bytes per second. CSGO has its Rate set to 80000 (80kbps) by default and can be raised (not recommended). What's COD's rate setting? 25000 (25kbps) and that's the absolute maximum by the way. Essentially, COD sends its data at less than a third of the speed CSGO does. Strangely, COD1 had this setting uncapped (default 5kbps), but IW decided to cap it to 25000 for whatever reason.
The Tick Rate (sv_fps)
The Tick Rate is the common name for how often a server updates itself--the server-side framerate. We've already established that CSGO (a shootan that actually cares about gameplay over graphics or Snoop Lion DLC) has a max of 128-tick servers. So what Tick Rate does COD have? Go on, guess. 100? 64?

Try 20.

Call of Duty's server-side framerate (sv_fps) is set to 20 by default. The client-side feature /snaps is also set to 20. The game's timings are all dependent on the sv_fps; to raise the sv_fps would mean shorter rounds and shorter bomb timers unless the game itself was running a mod. Some mods raised sv_fps as high as 60. It sounds like the sv_fps problem is incredibly easy to fix, so I don't know why IW/Treyarch can't just change the timestamps like the modders did a decade ago.
/com_maxfps and /cl_maxpackets
The Quake 3 engine has strange quirks regarding FPS: first, its FPS can only be capped to an integer equal to 1000/x. /com_maxfps is set to 85 by default, but it gets rounded up to 91 (1000/11 = 90.9). Meanwhile, /cl_maxpackets is set to 30 by default (CSGO sends 64-128 depending on server). Hold on, it gets worse.

There is total synergy between FPS and packets. If the packetlimit does not equal com_maxfps/x, there is severe packet loss. Here's how it works:
91/1 = 91 91/2 = 45.5 91/3 = 30.3 91/4 = 22.75
As we can clearly see, COD games are only able to send out 22.75 packets a second--once every 4 frames. Now you might be thinking "Well why can't IW/Treyarch change these settings then? Even just raising /cl_maxpackets by 1 would make it less broken!"

Well let me introduce you to the other quirk of the Quake 3 engine: the FPS actually changes the in-game physics. EVER WONDER WHY THEY ALWAYS TARGETED 60FPS ON CONSOLES?! Guess what: you cap FPS to 30, YOU LITERALLY FIRE MACHINE GUNS AT HALF THE ROF! The PC Master Race is real my friends, and it's all because of John Carmack's incompetence.
Packet Duplication
By default, COD duplicates the packets it sends out. This wastes bandwidth and only helps people with massive packet loss, which of course they have since they send 22.75 packets a second instead of the full 100 packets limit. This is a pants-on-head approach to solving a problem that could easily be fixed by the devs by setting /cl_maxpackets to either 46 or 91.
Time Nudge
Just like the Lag Compensation, the Time Nudge was removed after COD1 for reasons unknown and only brought back in some mods. /cl_timenudge is a Quake III staple that changes the interpolation rate.[forum.drc.su] Basically, the Q3 engine sends out a Snap every 50ms. It looks at both the current and the previous Snap and predicts where players will go next on-screen, then readjusts itself once the next packet arrives.

By setting /cl_timenudge to a negative value, the interp time is reduced and can even be removed entirely by setting it to -50. Setting it too low can make in-game movement look choppy. Most Q3 players using the Lightning Gun (a 100% accurate hitscan weapon; hey, just like COD's guns!) recommend -10 for <90 ping and -20 for >90 ping. If COD devs reintroduced this feature, it could go a long way towards making this series more playable. Thanks to Digital Reality Crew[forum.drc.su] for this info.
HOW ACTIVISION CAN FIX COD'S BAD HIT DETECTION
Well, the easiest way would be setting sv_fps, /snaps, /com_maxfps, and /cl_maxpackets to 63 so they can still deliver the PC Master Race goods to the Dewritos-sipping console players. /g_antilag 0 wouldn't hurt either. The harder way would be to start from scratch and take a break from COD for a few years to create a brand-new engine that's actually optimized for 2015, not 1999.

Of course, they'd rather do neither and rake in the dough from stoners across the world.

Credit to mikemartin for the info I researched.[www.mikemartin.co]
Last edited by MuscularMelvin; Sep 20, 2015 @ 1:36pm
< >
Showing 1-15 of 27 comments
GodLikeLeftNut Sep 12, 2015 @ 6:45pm 
yeah i remember people saying that something like 115fps 125fps in cod4 was the perfect fps.

APPARENTLY, this has changed and been "fixed" in bo3...... apparently.

how old is this?

Well, give the dev a tweet. even may be able to use a console again. probably not though. :/


Last edited by GodLikeLeftNut; Sep 12, 2015 @ 6:47pm
Darkey' ® Sep 12, 2015 @ 7:04pm 
Originally posted by Sausage Party:
yeah i remember people saying that something like 115fps 125fps in cod4 was the perfect fps.

APPARENTLY, this has changed and been "fixed" in bo3...... apparently.

how old is this?

Well, give the dev a tweet. even may be able to use a console again. probably not though. :/

There is no perfect FPS in cod , there is only magic numbers which change how the guns and the char model is handled , 125,250,333,500 and 1000. That's the main reason why there is FPS locks in the game especially in IW and sledgehammer games which are locked to 91. If you want a laugh go and download a FPS unlocker for advanced warafre and use the laser gun absoutely disgusting.....

But as for bo3 supposdely they have removed the frame rounding. I tired to test in the beta but struggled to hold a constient 125fps sooo couldn't really tell
MuscularMelvin Sep 12, 2015 @ 8:48pm 
@Sausage Party
Technically it was 100 because the COD series lowered /cl_maxpackets from 125 to 100 for some odd reason. 115 would get rounded up to 125, the closest would be 111 (1000/9). "How old is this?" I will admit my research was limited, I could only go back as far as Black Ops 1 (2010) because there wasn't enough info online. Modifying .cfg files from MW2 onwards was grounds for a VAC ban last time I heard.

Someone (unverified) said BO2 could go up to 125, but again I don't believe it. Came from this page[linustechtips.com] which introduced me to a lot of the COD engine's quirks in the first place.

@Darkey' ®
I would hope the FPS-Packet synergy issue gets fixed. The Source engine fixed that problem the same year COD4 came out, seriously. The Snaps problem still remains, though. Interestingly, only COD has the /snaps 30 limit. Quake III had unlimited snaps (ticks), but the highest the servers ever went was 40 in extremely-rare cases.

IW/Treyarch/Jackhammer could easily remove the hardcoded 30 limit. They could set all three--/snaps, /cl_maxpackets, and /com_maxfps--to 63 and that would at least put it on roughly the same terms as CSGO's official 64-tick servers. Probably would cost them a lot more to host, which is why they'll never do it.
Last edited by MuscularMelvin; Sep 12, 2015 @ 8:49pm
GodLikeLeftNut Sep 13, 2015 @ 9:42am 
Again ive only heard rumors about the fps problem being fixed with BO3 but then they said that about ghosts.

Its annoying that giving us rentable servers wont cost them nothing and we can get higher tick rates but its just not going to happen.

im sure we will find out when the game comes out. a lot of people who play cod though have no idea about these sort of things and sometimes trying to teach them is painful xD
Dante Sep 13, 2015 @ 11:28am 
Originally posted by Sausage Party:
Again ive only heard rumors about the fps problem being fixed with BO3 but then they said that about ghosts.

Its annoying that giving us rentable servers wont cost them nothing and we can get higher tick rates but its just not going to happen.

im sure we will find out when the game comes out. a lot of people who play cod though have no idea about these sort of things and sometimes trying to teach them is painful xD

If you rented a dedicated server for any of the older COD games, like COD1, UO, COD2, COD4, or WaW, you would know you cannot change the "tick" rate (that is a Source term, and isn't really relevant to any other game) of a vanilla server, because if you did, the gametype timings got all fekked up, with the game ending prematurely. COD runs on a server frame rate of 20, and that is that.

Now, having said that, we COD modders (I am a prominent COD community modder) adjusted the timing of all the gametypes and got the server frame rate up to 30. This is a feature of the eXtreme+ mod for COD2, COD4, and WaW. But, this was for mod servers - not vanilla ones.

The gametype timing is the only thing holding back the server's frame rate to 20. If they adjusted the timings for the gametypes like we did for COD mods, it can easily run on higher frame rates. Even 60 is not out of the question. Worm did that for PAM mod for COD2 - he had the PAM mod servers running at 60 frames a second.
Last edited by Dante; Sep 13, 2015 @ 11:30am
Terrible hit detection? You obviously never played Battlefield, there's blood everywhere around your enemy but a hitmarker just ain't showing up and his health's at 100% constantly.
Same happens in CS:GO but it's less common than in BF.
Call of Duty's hitdetection is pretty damn good comparing to any other conventional shooters.

The only ones that weren't so good were MW2 and MW3, where hitmarkers and damage are delayed by almost half of a second even though ping is fantastic. Treyarch's games don't have this problem, and my experience with BO3 beta is that it has the best hitdetection out of all CODs so far.

If there's something to fix, it's definitely performance. Ghosts, AW and BOIII too (although it's better), don't deserve to be this hardware hungry for the graphics quality you get.
Last edited by Chew Ass and Kick Bubblegum; Sep 13, 2015 @ 11:31am
MuscularMelvin Sep 13, 2015 @ 5:27pm 
Originally posted by Sausage Party:
Its annoying that giving us rentable servers wont cost them nothing and we can get higher tick rates but its just not going to happen.
Technically it does cost more which is why Valve went with 64-tick instead of 128. But yeah, even 30 snaps would be less unbearable.
Originally posted by Tally:
(...)you would know you cannot change the "tick" rate (that is a Source term, and isn't really relevant to any other game) of a vanilla server(...)
Actually, that's wrong. Battlefield is infamous for its 10-tick servers, and people complain to DICE all the time about it. Numerous videos on the subject with in-game examples, too.
https://www.reddit.com/r/battlefield_4/comments/1uiqje/while_the_10hz_tick_rate_remains_net_code_will/
IceOps|Ninja told me tick and snaps are interchangeable, and he's a vet that worked on the COD4X and 1.7a mods. Thanks for telling me about the server limitations, though. I never knew that, great info.
Call of Duty's hitdetection is pretty damn good comparing to any other conventional shooters.
Oh no, I must disagree. I played COD4 earlier this summer and the default settings made me lag terribly. Once I was shooting directly at someone running sideways who stabbed me and got zero hitmarkers. On the killcam, it showed me shooting directly behind him. This never happened again after I increased all the netcode settings...but that's something you haven't been able to do since WAW.

I'm glad I'm getting some intelligent discussion here. I wouldn't see these kinds of replies if I posted on the CSGO boards. Thank you so much for your time. I actually found out today that Quake III also had /rate uncapped and edited the OP to reflect that.
Last edited by MuscularMelvin; Sep 13, 2015 @ 5:34pm
Darkey' ® Sep 14, 2015 @ 3:04am 
Originally posted by Tally:
Originally posted by Sausage Party:
Again ive only heard rumors about the fps problem being fixed with BO3 but then they said that about ghosts.

Its annoying that giving us rentable servers wont cost them nothing and we can get higher tick rates but its just not going to happen.

im sure we will find out when the game comes out. a lot of people who play cod though have no idea about these sort of things and sometimes trying to teach them is painful xD

If you rented a dedicated server for any of the older COD games, like COD1, UO, COD2, COD4, or WaW, you would know you cannot change the "tick" rate (that is a Source term, and isn't really relevant to any other game) of a vanilla server, because if you did, the gametype timings got all fekked up, with the game ending prematurely. COD runs on a server frame rate of 20, and that is that.

Now, having said that, we COD modders (I am a prominent COD community modder) adjusted the timing of all the gametypes and got the server frame rate up to 30. This is a feature of the eXtreme+ mod for COD2, COD4, and WaW. But, this was for mod servers - not vanilla ones.

The gametype timing is the only thing holding back the server's frame rate to 20. If they adjusted the timings for the gametypes like we did for COD mods, it can easily run on higher frame rates. Even 60 is not out of the question. Worm did that for PAM mod for COD2 - he had the PAM mod servers running at 60 frames a second.


Oh wow PAM mod holy balls I haven't heard that name is a long time now good times, honestly think Promod did a better job with Networking performance though both still great mods in their repective titles
Dante Sep 14, 2015 @ 4:25am 
Originally posted by Darkey' ®:
Originally posted by Tally:

If you rented a dedicated server for any of the older COD games, like COD1, UO, COD2, COD4, or WaW, you would know you cannot change the "tick" rate (that is a Source term, and isn't really relevant to any other game) of a vanilla server, because if you did, the gametype timings got all fekked up, with the game ending prematurely. COD runs on a server frame rate of 20, and that is that.

Now, having said that, we COD modders (I am a prominent COD community modder) adjusted the timing of all the gametypes and got the server frame rate up to 30. This is a feature of the eXtreme+ mod for COD2, COD4, and WaW. But, this was for mod servers - not vanilla ones.

The gametype timing is the only thing holding back the server's frame rate to 20. If they adjusted the timings for the gametypes like we did for COD mods, it can easily run on higher frame rates. Even 60 is not out of the question. Worm did that for PAM mod for COD2 - he had the PAM mod servers running at 60 frames a second.


Oh wow PAM mod holy balls I haven't heard that name is a long time now good times, honestly think Promod did a better job with Networking performance though both still great mods in their repective titles

Promod simply did what PAM and other COD mods did - they: 1) turned off sv_antilag; 2) set sv_fps to 30; and 3) adjusted all the time stamps in the gametype files to fit a rate of 30 frames per second.

If you ever played on a COD1 or UO server, you would know that there is actually nothing wrong with the hit detection with COD games. In those games, it is spot on. It was only with COD2 and the introduction of lag compensation that the hit detection got a bit fekked up. Turning lag compensation off (set sv_antilag "0") did the trick for COD2. However, with COD4 onwards, vanilla servers had lag compensation forced "on". You could only turn it off with a mod, or on stock servers, with Linux mods like 1.7a bin.

So, the OP is actually wrong in his identification - it isn't the so-called "tick" rate of the server (BTW - snaps is a client setting and has no baring on a server at all), it is sv_antilag and the atrocious lag compensation that COD has since COD2.
Darkey' ® Sep 14, 2015 @ 5:18am 
Originally posted by Tally:
Originally posted by Darkey' ®:


Oh wow PAM mod holy balls I haven't heard that name is a long time now good times, honestly think Promod did a better job with Networking performance though both still great mods in their repective titles

Promod simply did what PAM and other COD mods did - they: 1) turned off sv_antilag; 2) set sv_fps to 30; and 3) adjusted all the time stamps in the gametype files to fit a rate of 30 frames per second.

If you ever played on a COD1 or UO server, you would know that there is actually nothing wrong with the hit detection with COD games. In those games, it is spot on. It was only with COD2 and the introduction of lag compensation that the hit detection got a bit fekked up. Turning lag compensation off (set sv_antilag "0") did the trick for COD2. However, with COD4 onwards, vanilla servers had lag compensation forced "on". You could only turn it off with a mod, or on stock servers, with Linux mods like 1.7a bin.

So, the OP is actually wrong in his identification - it isn't the so-called "tick" rate of the server (BTW - snaps is a client setting and has no baring on a server at all), it is sv_antilag and the atrocious lag compensation that COD has since COD2.

Promod did a lot more other then netoworking though that's what I was getting at
MuscularMelvin Sep 14, 2015 @ 1:28pm 
Oh wow, Tally, that's some great information I haven't seen anywhere else on the web. I looked it up and it's true, though it came up "g_antilag" for me. Haven't tried it yet (COD4X brought it back) but hopefully it makes the positions more accurate.

If you don't mind, I added that info to the OP as well as some /cl_timenudge information I found.[forum.drc.su] I'd like to get this page as the top Google result to help more people, but I don't know how. At least it's 3rd on duckduckgo :/

Higher /snaps would still improve hitreg immensely, though. And again, it was IceOps|Ninja who said snaps and ticks were interchangeable.
Last edited by MuscularMelvin; Sep 14, 2015 @ 1:31pm
wiggaGOTnoHART Sep 14, 2015 @ 2:50pm 
The info is totally unreliable only because its suggest that the connection between a player with high ping and low ping is always static, never accounting for fluctuations between two different extreme connections. There are times you feel you can kill a guy with 250 pings with no trouble, often time obliterating them; while some rare occasion they can also obliterate you too.
MuscularMelvin Sep 14, 2015 @ 10:10pm 
@wiggaGOTnoHART
I have heard some people suggest that this is because /sv_maxping is set way too high by default (800?!) and should be reduced to 110 ideally. They refuse to do that for reasons unknown. Perhaps they could do what Valve did with CSGO and create a "Max Acceptable Matchmaking Ping" slider and cap it at 150.

I updated the OP with more info. Apparently, COD1 had most of its netcode settings like /rate, /snaps, and /cl_maxpackets uncapped. It's strange that they would cap those settings from COD2 onwards. I also made individual guides for fixing hit detection from COD1 to WAW on their own boards.
Last edited by MuscularMelvin; Sep 14, 2015 @ 10:13pm
Dante Sep 15, 2015 @ 12:32am 
Originally posted by volcanic_lightning:
@wiggaGOTnoHART
I have heard some people suggest that this is because /sv_maxping is set way too high by default (800?!) and should be reduced to 110 ideally. They refuse to do that for reasons unknown. Perhaps they could do what Valve did with CSGO and create a "Max Acceptable Matchmaking Ping" slider and cap it at 150.

I updated the OP with more info. Apparently, COD1 had most of its netcode settings like /rate, /snaps, and /cl_maxpackets uncapped. It's strange that they would cap those settings from COD2 onwards. I also made individual guides for fixing hit detection from COD1 to WAW on their own boards.

They can't do that because some people live in very remote parts of the world, and there aren't any server data centres near to them (this is not just the Far East - certain parts of the Americas are also remote). If they locked down the max ping acceptable to find a match, those people would be left without a game.

BO2 has done the best it can - it defaults to over 250 ping, but recommends that users manually set it to find servers nearer to where they are. I set mine to below 100. From that, I always get put on a server somewhere in Europe. My ping is never above 60. However, I sometimes play against people with pings in excess of 300. When asked where they are from, they are from remote parts of the world, and they have to connect to servers far away from them, because there aren't any nearer to them.
Methodman Sep 19, 2015 @ 8:46pm 
Tally, was you able to ascertain the server situation with the beta?

I'm considering getting a Netduma at some stage, but maybe I should give up with CoD. There's nothing else that irks me as much as bad hit detection, lag compensation etc.
< >
Showing 1-15 of 27 comments
Per page: 1530 50

Date Posted: Sep 12, 2015 @ 5:59pm
Posts: 27