The Source engine may be to blame for CSGO’s infamous crouch bug

By Nick Johnson

|

Feb 3, 2021

Reading time: 4 min

Players first discovered Counter-Strike: Global Offensive’s odd crouch bug more than four years ago, but testing suggests that the bug might be even older than CSGO. And that’s bad news for CSGO’s pros and casual players alike.

Originally discovered back in 2016, the bug causes a spike in weapon inaccuracy when players transition between a walk and a crouching walk, causing shots to veer off target before suddenly returning to normal. More attention has recently been drawn to the problem, with players finding that CSGO’s newest bug isn’t actually new. Some have sent suggestions to Valve on how it might be fixed.

But Valve hasn’t fixed it, and there might be a more complicated reason for why CSGO’s developer hasn’t taken the lid off the Source Engine and quashed this particular bug.

CSGO crouch accuracy bug likely complicated Source issue

Left for Dead 2 released in 2009, three years before CSGO. But WIN.gg testing showed that moving from a walk to a crouch walk in Left for Dead 2 resulted in the exact same bugged accuracy values that players discovered in CSGO. Valve used the LFD2 version of the Source engine as a foundation for CSGO, meaning that the crouch bug is likely older than the shooter by at least three years. 

Here’s why that’s bad for CSGO. Since its release in 2012, CSGO has dealt with not one, not two, but three different crouch bugs before its recent brush with this particular accuracy bug. In 2015, players suddenly started to report getting stuck in a half-crouched position, unable to stand back up after finishing a round crouched.

Around that same time, users discovered that they could break CSGO’s models by crouch-jumping repeatedly. The trick gave players the ability to see over obstacles without being seen themselves. This bug was a holdover from an even earlier Valve game, Counter-Strike: Source.

The third bug was arguably the most serious. CSGO’s jump-crouch bugs resulted in a showdown when professional pro CSGO team BIG used a silent jump-crouch to grab free information on enemy teams during the 2017 PGL Krakow Major qualifiers. The bug was so controversial that teams were publicly tweeting agreements not to further use the exploit in their matches.

But Valve ruled that the bug wasn’t an exploit, allowing teams use it for the remainder of the Major. 

After allowing the bug at CSGO’s largest event of the year, Valve suddenly changed its tune in the following patch by adding a crouch cooldown to eliminate the trick. 

Valve might fix CSGO crouch bug

Instead of finding and fixing the strange interaction between CSGO’s hitboxes, models, crouch movement, and player cameras, Valve did something even more odd. They added another moving part to a broken system.

The players who originally sent Valve information on the accuracy bug in 2016 have suggested that the fixes are simple, pointing to the game’s code that tells CSGO how to calculate crouching accuracy. But if the fix was simple, why hasn’t Valve acted on it?

Blog post image

That’s where Left for Dead comes in. The appearance of CSGO’s accuracy bug in Left for Dead means that the problem is likely a larger issue than just a single line of code.  Its presence in Left for Dead 2, combined with Valve’s apparent reluctance to fix it, means that it may be easier for the developer to continue slowly porting CSGO’s systems to Source 2 than to dig back into the original Source engine.

According to former Valve employees, the original Source engine is reportedly more like a monster than a game engine after years of rewrites, changes, and additions. It’s possible that fixing the interactions between CSGO’s modded systems might be more trouble than it’s worth for Valve.

Blog post image

We now know that Valve’s patchwork fix for the crouch exploit was released just as the company went all in on Source 2 and its flagship VR title, Half-Life: Alyx. But with Valve writing and rewriting Source 2 as it developed the new Half-Life game, CSGO’s transition to the new engine might only now be getting fully underway.

Either way, fans probably won’t get a fix for the accuracy bug until Valve moves the game’s framework to more current technology. And only Valve knows when that will be.