There are less dumb ways to do this than the WoT spotting system.
WoT spotting system is an attempt to gamify the entire concept of spotting/situational awareness.
Does your client actually know that the enemy tank is there, but just does not let you the player see it, untill certain conditions are satisfied?
Presumably, the server knows where all players are at all times.
Does the server send other player locations out to other players… at all times? When they’re in the view frustrum and view distance range of the player? That, but also only when the spotting system stats for your player tank/crew/profile says you are allowed to see them?
To what extent is it the client or server that is making decisions realtime as to if you player X can see player Y? What do the stages of decisions look like?
Like I am genuiely asking those questions. We can’t really know for sure without the source code, so… ?
You can tweak a lot of how those kinds of systems work, and, you can make an enemy player view culling system work without an entire situstional awareness game mechanic.
You can just make it part of how networking and rendering work, and have that be the same for everyone… and if you do that well, people will not even realize you are doing it.
Clients are given only what the server says to tell it, it’s part of why I think the system has not been implemented elsewhere. As soon as you add this type of spotting system to anything with faster movement it would create issues. No client has all the information and every action is getting server-checked as the game plays out. It creates a bit of a funny with this because a tree will fall over, and you know a player did it, but the client is not told anything other than “put this tree in XYZ orientation now”
There are no mods to force it to show enemy positions or change the maps. No injection cheats. No wallhacks. No invincible god-mode, flight, or becoming unspottable or flying into/out of the map. No turning a single shot into a laser of damage, or unlimited magazine. No recoil cancel. No getting kicked from session like GTA or mod-menus.
Clients are given only what the server says to tell it…
I mean, yes, but that’s either very obvious or near tautalogical.
I’m asking what, specifically, does the server relay to the client, under what conditions, in what kind of process flow chain? The design of that chain is, largely, the netcode.
As soon as you add this type of spotting system to anything with faster movement it would create issues.
Generally this is true.
But, there are many fps games that do this, as I was saying, on the backend level. The ones where you notice it exists are the ones that are not doing it well.
Its why the vast majority of online multiplayer games are 16 total players or less, why Battlefield type games rarely ever actually get beyond 64 players on one map at a time.
It creates a bit of a funny with this because a tree will fall over, and you know a player did it, but the client is not told anything other than “put this tree in XYZ orientation now”
This kind of thing, in particular, is often due to physics being substantially or in some cases fully being handled client side, and then pushed to the server, where the server then basically either averages together what clients are saying about physics, or sometimes picks the first/fastest client physics first, etc.
This can create nonsense desync issues where two people near the same say, exploding vehicle or building, see a totally different trajectory for crashing parts, where you can get smacked by something that didn’t render for you, because the server retroactively decided it did hit you, because your client’s rendering of the physics was ultimately rejected, after a lag.
This is the main real reason why full destructibilty of environments basically does not exist in large multiplayer games… its usually a canned set of potentially destroyable objects… think of every potential physics object as almost another player, in terms of netcode load, and shit gets unmanageable fast, unless you have extremely clever game and netcode design.
There are no mods to force it to show enemy positions or change the maps. No injection cheats. No wallhacks. No invincible god-mode, flight, or becoming unspottable or flying into/out of the map. No turning a single shot into a laser of damage, or unlimited magazine. No recoil cancel. No getting kicked from session like GTA or mod-menus.
A quick websearch reveals this to be completely false, there are tons of hacks and cheat engines for WoT.
There are less dumb ways to do this than the WoT spotting system.
WoT spotting system is an attempt to gamify the entire concept of spotting/situational awareness.
Does your client actually know that the enemy tank is there, but just does not let you the player see it, untill certain conditions are satisfied?
Presumably, the server knows where all players are at all times.
Does the server send other player locations out to other players… at all times? When they’re in the view frustrum and view distance range of the player? That, but also only when the spotting system stats for your player tank/crew/profile says you are allowed to see them?
To what extent is it the client or server that is making decisions realtime as to if you player X can see player Y? What do the stages of decisions look like?
Like I am genuiely asking those questions. We can’t really know for sure without the source code, so… ?
You can tweak a lot of how those kinds of systems work, and, you can make an enemy player view culling system work without an entire situstional awareness game mechanic.
You can just make it part of how networking and rendering work, and have that be the same for everyone… and if you do that well, people will not even realize you are doing it.
Clients are given only what the server says to tell it, it’s part of why I think the system has not been implemented elsewhere. As soon as you add this type of spotting system to anything with faster movement it would create issues. No client has all the information and every action is getting server-checked as the game plays out. It creates a bit of a funny with this because a tree will fall over, and you know a player did it, but the client is not told anything other than “put this tree in XYZ orientation now”
There are no mods to force it to show enemy positions or change the maps. No injection cheats. No wallhacks. No invincible god-mode, flight, or becoming unspottable or flying into/out of the map. No turning a single shot into a laser of damage, or unlimited magazine. No recoil cancel. No getting kicked from session like GTA or mod-menus.
I mean, yes, but that’s either very obvious or near tautalogical.
I’m asking what, specifically, does the server relay to the client, under what conditions, in what kind of process flow chain? The design of that chain is, largely, the netcode.
Generally this is true.
But, there are many fps games that do this, as I was saying, on the backend level. The ones where you notice it exists are the ones that are not doing it well.
Its why the vast majority of online multiplayer games are 16 total players or less, why Battlefield type games rarely ever actually get beyond 64 players on one map at a time.
This kind of thing, in particular, is often due to physics being substantially or in some cases fully being handled client side, and then pushed to the server, where the server then basically either averages together what clients are saying about physics, or sometimes picks the first/fastest client physics first, etc.
This can create nonsense desync issues where two people near the same say, exploding vehicle or building, see a totally different trajectory for crashing parts, where you can get smacked by something that didn’t render for you, because the server retroactively decided it did hit you, because your client’s rendering of the physics was ultimately rejected, after a lag.
This is the main real reason why full destructibilty of environments basically does not exist in large multiplayer games… its usually a canned set of potentially destroyable objects… think of every potential physics object as almost another player, in terms of netcode load, and shit gets unmanageable fast, unless you have extremely clever game and netcode design.
A quick websearch reveals this to be completely false, there are tons of hacks and cheat engines for WoT.