this post was submitted on 13 Oct 2023
11 points (100.0% liked)
Gaming
9 readers
1 users here now
founded 2 years ago
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Sorry, It's not meant as an attack. I am simply calling it as I see it because I get a lot of gamers who think they've arm-chaired thought far more about my job as a networked gameplay engineer than I have. I've been doing this for a very long time and I know where developers cut costs. Anti-cheat isn't just a slap-it-on and call it a good solution. There are a lot of reasons you want to trust the client and it makes the gameplay feel far better.
Typically, the server, especially in counter-strike's case, isn't dumb. In all games, the server still handles the dealing of damage which typically includes validations of that damage. In counter-strike's case, very little data is calculated on the client. Most of it is raw data sent from input to the server.
Lots of game engines including source include and utilize ways to ensure the player is reporting sane inputs. Also, interpolation is different than extrapolation. Lastly, you don't need to do raycasts to double-check this data. A lot of the time the raycasts are done on the server itself. In counter-strike's case this is also true. Raycasts are done on the client typically for cosmetics only. You can see this with 3kliksphilip's videos on sub-tick.
Heuristics haven't been done by developers in a long time. A lot of that is actually done in Valve's case by Overwatch. Also, Valve makes it's own anti-cheat called VAC. They aren't getting sales pitches.
Frankly, I feel like it's wrong for you to say that the problem is pushed onto users when you don't understand the code and effort the developers are writing to solve this issue specifically with counter-strike. VAC is probably the anti-cheat with the least amount of client code. It rests almost entirely on the server. One thing VAC does do is lock down the client on Windows to prevent modifications. One thing you can easily do is replace assets for walls with transparent textures to see through walls. That's why things like the code and assets can't be tampered with. Most game engines only send updates to the positions of actors in a network bubble. Maybe Counter-Strike's network bubble is too large at the time but that's not an argument you made.
You are the one who continues to make assumptions about what I do and do not understand about the code that makes this work in various games.
I don't really feel like getting into the nitty gritty here in comments, but if your experience is what you say, I'm very surprised at some of your unqualified statements.
I'll bow out now.
Your comments are enough to see where your knowledge of what a networked gameplay engineer does at Valve lies. Especially since you make assumptions that the developers aren't doing things when very clearly there are proof and industry standards that say they do those things. If you are Andrew Burke who works at Valve as an Animator, I would recommend talking to the engineers there.
And the incorrect assumptions just continue...
Edit: Who I am shouldn't matter to you. Addressing the idea that you can shift some or all anti-cheat to the server is something you should try to engage with directly rather than appealing to authority. For what it's worth, I've spent time as a programmer in the game industry in a handful of different roles and your search will eventually find me if you keep going down that road. My experience isn't what I am arguing here, though.
It's not really an assumption if I say "if". I can agree with you that shifting as much data as possible on the server is best. Valve already does that pretty well for counter-strike. Far more than other competitive FPSs. They still keep shot registration on the server whereas most competitive shooters now have that on the client to have the correct gameplay feel. The big balance between keeping stuff on the server and putting some authority on the client is the gameplay feel. Counter-Strike has been and still is notorious for getting shot around a corner when you don't see who shot you. This is because of server authority rather than client authority.