Hacker News new | ask | show | jobs
by davedx 26 days ago
Why on earth don't the producers of the game implement this? It sounds trivial to do?
4 comments

Because what do you think matters more in an online game:

A. Smooth and consistent client experience, where bullets hit what you aim at (client-side prediction) where aimbots and wallhacks work.

B. Jittery/laggy client experience, where aimbots still work, but wallhacks are disabled?

You can only choose one option.

Generally, everyone agrees "A" is the best option and cheaters will be dealt with at game time. It's annoying, but that's the cost of online video games.

It isn't an unsolvable problem though, there's only jitter because the implementation isn't very good

Implementing a more conservative anti wallhack cheat where player positions start streaming in slightly earlier still significantly cuts down on the efficacy of wallhacking, while entirely avoiding the jitter problem. Characters in CSGO move at a fixed speed, so you can calculate exactly how many ticks in advance you need to start sending that data in, before they will become visible to another client around a corner - and add a margin

There's also no excuse for sending player positions through a smoke for example - the server should be performing visibility culling

With the two combined you could cut the utility of wallhacks by 80%, in a way that would be completely unnoticeable. The real reason that this has never happened is that valve's investment into anticheat has always been pretty minimal compared to what's necessary for it to be effective (VAC has generally been the least effective anticheat). They're a small company which largely develops steam as a platform, not VAC or anticheat solutions for games

> They're a small company which largely develops steam as a platform, not VAC or anticheat solutions for games

If anyone can afford to develop effective anti-cheat, Valve can.

They’d need to either poach folks from other firms or go for a third party solution.

Cursed timeline: Valve pays Epic for good EAC build on CS2 + whatever encryption solution they have for Fortnite executable, 99.9% P2Cs disappear day 1

Valve is rich. They can afford to develop in-house expertise.
Also even if it worked perfectly, there'd still be other practical ways to cheat. In a way it's better to detect cheats than prevent them, because you waste a lot more of their time sticking them into a pool of cheaters and can also undo it. Though afaik Counterstrike tells you when you're low-trust.
C. give everyone wall hack and aimbot.
They've actually unimplemented this. CS:GO being a source 1 game meant the maps used BSPs and got visibility checking essentially for free.

Various platforms even made it stricter. It was not uncommon to see enemies teleport from behind walls on Faceit as their settings were very strict.

However, Source 2 is more of a mesh based engine and so they just never bothered to implement this particular feature back in.

The many tradeoffs involved are not trivial, this can only feasibly work well on LAN.

This is the reason why Valorant is the least playable among all competitive shooters if your internet is anything lesser than Google campus fiber, ironically in spite of having even-slower-than-CS movement physics on its side to mask the problem.

Riot conveniently cherry picks the best case scenario and handwaves the actual technical tradeoffs in their smug "we solved peeker's advantage!" engineering blog posts that are really just barely-disguised monorail Gish gallop.

Yup, I just reread the post you are talking about (https://www.riotgames.com/en/news/peeking-valorants-netcode) and it really seems like just endless fluff and no real solutions. Reading this post is almost unbearable and it all just comes down to this part:

> We built Riot Direct, our own internet backbone, to minimize network routing delays and processing time across the internet.

> We’re standing up VALORANT servers around the world, ultimately aiming to deliver 35ms ping to 70% of our player base.

> We optimized our servers to provide a smooth 128 server tickrate to all players.

> We optimized the VALORANT game client to run at 60FPS on most machines from this decade and higher framerates for players with high refresh rate monitors.

> We run clients and servers running with minimal buffering, targeting one buffered frame of movement data for clients and an average of half a frame of movement data on servers.

This seems like basic stuff that every other game does.

Hah, this reminds me of my "ancient past".

This must have been CS 1.4 or 1.5 times. I had terrible internet. 36k modem times, super high (ish - 150+ms at the very least, been a while, don't quote me, maybe it was way higher even?) ping to a server that had all the custom maps I loved.

I got accused of cheating.

I didn't.

Simply a result of CS/HL netcode. I was able to "run circles" around others. Something in that version favored my local client view of things I suppose. I literally just went around corners and if there was an enemy I circled them while driving bullets into them w/ my P90. They died without even really seeing me (from what they were saying). On my end everything looked smooth and normal.

This tactic never worked all that well on servers where I had the usual <120ms ping. I guess never mind at <15ms :)

CSGO already added this over a decade ago.