• renegadespork@lemmy.jelliefrontier.net
    link
    fedilink
    English
    arrow-up
    0
    ·
    5 months ago

    But the server is the authority on player location. It can tell if a player is visible to another because it knows their locations (as well as any obfuscations) at any given instant. It doesn’t need to know what they’re going to do next until it gets that next input from the client.

    Obviously calculating this requires more work on the server’s part, but in smaller competitive matches this is totally doable. We’re talking basic wireframe vectors.

    • ulterno@programming.dev
      link
      fedilink
      English
      arrow-up
      0
      ·
      5 months ago

      You seem to not be taking into consideration:

      • lag
      • extra information required for graphics stuff, like shadows

      The reason your client computer needs to know the opponent’s location when they are still 1m on the other side of the wall, is because, within the next 100ms, you might make a jump+move action which lets you see their shadow or the tip of their weapon.

      The shadows and reflections need to be calculated on your system or the server would be doing too much work and if you find the opponent pop up where they clearly were not, 50ms ago (because the server just told you now), you won’t be particularly happy either (I know I won’t).

    • 9point6@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      5 months ago

      Right, but as I mentioned unless you have an actual infinite number of variations of every player model (impossible, you can’t store infinite variations in fixed storage), you’re going to need the full player model in GPU memory and something client side will need to do the chopping with knowledge of the players origin coordinates, it’s impossible to determine the shape of and position the chopped shape without sending that information to the client. Streaming graphics data from a server into even a top of the line GPU would be a prohibitive hit to game performance when milliseconds matter.

      It’s not processing power that’s the problem, it’s the speed of light