Riot Games engineers write about the technology behind League of Legends and Valorant, including netcode, anti-cheat, servers, and testing.
HN commenters recommend it as a good engineering blog at large scale and cite the Valorant netcode and fog-of-war anti-cheat posts.
i think riot put together a good article on technical debt: https://technology.riotgames.com/news/taxonomy-tech-debt
i stopped using the term technical debt. 'technical debt', 'refactoring', etc are not helpful to product owners. if something is contained in an area youre never touching, its not really worth even tracking because making it better won't improve any business metrics. tickets get lost, better to throw a comment in the code if anyone starts touching it later. If new functionality requires code changes, then that's just part of the requirements for that functionality. If some bit of code is slowing you down, then its a first class ticket to speed up developers, with explicit numbers on hours saved.
at the end of the day, the business doesn't care about code quality, it cares about revenue/profit, so reframe any tech debt in those terms
This is already done in Valorant at least (and presumably other games I'm not as familiar with). Unfortunately you are strongly limited by network latency. Imagine you're standing up against a wall next to a door. You expect if you step 1 foot sideways to instantly see the entire room and everyone within it. Hence your client already has to know everyone's locations in the room or you will get pop-in. You can limit people's ability to get truly implausible free information, but pretty much any-time someone is rounding a corner there is an unavoidable period of game-breaking free information you have to give the client.
If you look at the bottom gif in this post you can see what a huge advantage a wall-hack still is: https://technology.riotgames.com/news/demolishing-wallhacks-valorants-fog-war
How useful is this test tool to you? What bugs did you find or do you hope to find this way? How often and long do you run it?
I'm asking, because I guess, it probably takes ages to traverse some kind of dungeon. If there are special sequences, the tool will most likely never find them (like find key, open door, kill boss), right?
I've done some small games in my spare time, but Unit-Testing was either completely useless or way overkill. But I guess, the larger your game gets, the more important it will be.
But the the work involved is so huge, that I think it's not worth it for indy games or small studios. If you look at the test setup for AAA-Games, like League of Legends [1], the work involved is mind-blowing...
[1] https://technology.riotgames.com/news/automated-testing-league-legends
Many forms of cheating revolve around modding the game locally so that certain textures can be seen through walls, so you always know where opponents are. So you aren't breaking any laws of physics, you are just able to make much better tactical decisions.
The obvious solution would be, just don't send data to the player's client about enemies that are behind walls. But this is a surprisingly hard thing to engineer in realtime games without breaking the player experience (see: https://technology.riotgames.com/news/demolishing-wallhacks-valorants-fog-war, and then notice that even in the final video wallhacks are still possible, they're just more delayed).
Cool idea. I thought I’d try to make a Kagi Lens to accomplish the same thing:
https://kagi.com/lenses/LdYine8hZtYmrt8yTMngOUtvTM9rmkRy
Kagi Lenses can be defined in many ways, one of which is specifying URLs to search. Unfortunately you can only provide 10 URLs per lens. Here are the ones I chose:
https://stripe.com/blog/engineering, https://engineering.fb.com/, https://www.uber.com/en-US/blog/engineering/, https://netflixtechblog.com/, https://research.google/blog/, https://technology.riotgames.com/, https://incident.io/blog, https://www.anthropic.com/engineering, https://openai.com/news/, https://shopify.engineering/
Riot has a pretty good article about why it is hard: https://technology.riotgames.com/news/demolishing-wallhacks-valorants-fog-war . Anything more than simple geometry makes server side calculations costly, especially when you're targeting 128 tick/s.
Their settled solution is still not perfect, hence still the need for client-side anti-cheat. The final video clip is definitely done to look effective than it actually is. Those positions are transmitted based on space, not time, and in a real game you'd be moving slower.
Mobas generally have a lower tickrate and simpler vision setups