Unreal Multiplayer Quick Explainer

Поделиться
HTML-код
  • Опубликовано: 27 фев 2024
  • Here's some basic concepts and explanations on how to start developing multiplayer games in Unreal. TBH, the tutorials I could find were all so bad that I feel like there's a few things I'm probably missing. Let me know.
    I didn't like the other tutorials I could find. Hopefully this helps!
  • ХоббиХобби

Комментарии • 11

  • @decoyminoy
    @decoyminoy 4 месяца назад

    Really good video!

  • @MaxStudioCG2023
    @MaxStudioCG2023 4 месяца назад

    nice ...teach us how to do with the custom events for example where we might have alot animations and variables gowing on (like we have a attack on mouse click ,how we replicate the hole thing) or functions where also we might have alot variables and animations ....

    • @CraigPerko
      @CraigPerko  4 месяца назад +1

      Well, the basic way is to use prediction to sync people up. Ping will always be an issue, but rather than starting the animation at the same time on all clients, you let the slower clients "flick forward". This is automatic for a lot of things - for example, it's a checkbox on level sequences. But player-input-reponsive animations are not usually intended to be synced up across clients, only the "meat" is supposed to be synced up. IE, you spawn the bullet with the same stats for everyone, but you don't really care too much about the animation of pulling the trigger. If it happens a bit late, so be it.
      If you try to sync up those kinds of animations, you'll need to have VERY low ping tolerance. IE, you can't play Street Fighter with even a mediocre ping, it has to be tight.

  • @jamesonvparker
    @jamesonvparker 4 месяца назад

    Thanks. I was recently trying to figure out a way to simulate lots of physics multiplayer, but things would move to different places on each client, and I learned that physics are simulated client side. To try and fix this I considered pre simulating physics using a take recorder, and then playing the sequence in sync in multiplayer situations. Any thoughts or recommendations with regard to this? I’m referring to the physics of radial fields applied on meshes simulating physics for example.

    • @CraigPerko
      @CraigPerko  4 месяца назад +1

      I'd say it depends on the physics you're doing, but one of the big problems in what it sounds like you're doing is the sheer volume of data. Like, if you're running tick-by-tick mesh deformation on the server, putting aside the server's processor, you have to transmit the exact position of every vertex every tick.
      For me, I'm doing wave calculations for an ocean. On the client, the sea surface gets calculated and distorted on the client's graphics card. But the server and the clients ALL calculate out the few positions we actually need to check for things like boat flotation. The math all lines up, so everyone is in sync... and the server does not care about the rest of the ocean so it does not do the rest of the math.

  • @Eschen_
    @Eschen_ 4 месяца назад

    Nice overview, made the topic a lot less intimidating. Should have probably mentioned that you wouldn't want the client to have authority over the movement speed in an actual game.

    • @CraigPerko
      @CraigPerko  4 месяца назад +1

      There's a lot of topics I didn't cover, I didn't want to get off topic too much.

    • @Eschen_
      @Eschen_ 4 месяца назад

      ​@erko Right, but if I'm following a tutorial I would expect what's shown to be the proper way to do things. So even just one sentence like "You wouldn't want to do it quite like this in an actual game because this gives the client authority over the movement speed." would have been a good idea I think. Then if someone doesn't know what that means, they know they need to look it up. Other than that, there aren't really any issues with the bit of code shown, are there? Or maybe there's just a bunch more stuff that I don't know about.

    • @CraigPerko
      @CraigPerko  4 месяца назад

      ​@@Eschen_ It looks like our priorities are a bit different. You're not wrong, but I don't want to distract from one of the most misunderstood concepts in Unreal by talking about how to secure your game against hypothetical hackers you may be attacked by a year or two from now after you've mastered the concepts here and hundreds more besides...

    • @Eschen_
      @Eschen_ 4 месяца назад

      @@CraigPerko Not quite the way I would describe the scenario, but yeah, different priorities I suppose. Anyways, thanks for taking the time to respond. Love your videos!

    • @decoyminoy
      @decoyminoy 4 месяца назад

      @@Eschen_ He did cover client side prediction a little bit. Its a whole other can of worms though and is hardly beginner friendly and would likely deserve a 30+ minute video of its own.