Announcement

Collapse
No announcement yet.

Training Livestream - Understanding Replication in UE4 - March 21 - Live from Epic HQ

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • [TWITCH] Training Livestream - Understanding Replication in UE4 - March 21 - Live from Epic HQ


    WHAT

    A new presenter is joining the livestream this time to talk about replication! Ryan Gerleve, Sr Engine Programmer at Epic Games, is dropping in to break down and explain UE4's replication. Be ready for some high-level insight and some quick examples about how Epic Games gets multiplayer running. Come by and ask Ryan your networking questions live!

    WHEN
    Tuesday, March 21st @ 2:00PM ET [Countdown]

    WHERE
    http://www.twitch.tv/unrealengine

    WHO
    Ryan Gerleve - Sr Engine Programmer
    Alexander Paschall - Community Manager - @UnrealAlexander

    Feel free to ask any questions on the topic in the thread below, and remember, while we try to give attention to all inquiries, it's not always possible to answer everyone's questions as they come up. This is especially true for off-topic requests, as it's rather likely that we don't have the appropriate person around to answer. Thanks for understanding!

    Last edited by Alexander Paschall; 03-24-2017, 01:24 PM.
    Twitch /unrealalexander| Twitter @UnrealAlexander
    How to report a bug? | Installation & Setup issues?
    Call me to a thread by posting this: [MENTION]Alexander Paschall[/MENTION]

  • #2
    I don't know this has been covered in the past, but will you be going over anything about matchmaking and/or maybe how matchmaking works in Paragon? If not, will that be a topic you might cover in a future livestream? Thanks!

    Comment


    • #3
      Wonderful, now if I can figure out sql I'll be on my way to making my dreams a reality!

      Comment


      • #4
        #1. Do any of the BP movement nodes auto-replicate by default? For example: The Teleport node.
        In UDK Teleport auto-replicated. When combined with Set-Actor-Location. code could be simplified.

        #2. During prototyping is there a way to replicate everything on LAN by default.???
        In-short how to fully replicate every actor that moves by either Interp / Physics etc.

        #3. Physics Rewind and the larger deterministic problem in Internet Multiplayer etc.
        Is it reasonable to expect the new presenter will cover this and offer some insights?

        Comment


        • #5
          Sr Engine Programmer, you got my full attention! <3
          https://twitter.com/Ninjin4231

          Comment


          • #6
            I'd like to hear about replicating physics!

            Comment


            • #7
              Oooo Multiplayer! This is my jam!

              I know this is a training stream - but I do have quite a few questions. I'd also like to draw attention to a few areas that myself and a few others think could be improved.

              Question 1:
              Not really a question but, a few of us have been piling resources into trying to get a system for replicated PhysX movement with prediction and reconciliation. There's a big thread here, and I have an open-source GitHub project Here. Obviously this is a huge problem and difficult to tackle, but it's something lot's of people have been asking for for a while to do things like properly replicated vehicles and suchlike (UT currently uses client-authority). I'd like to draw attention to this project so that we can hopefully get some information from engine peeps.

              Question 2:
              Is it possible that in the future, Character Movement Component might be divided up into smaller chunks to make it not only easier to customize - but also easier to adapt for other movement styles? I've actually made some progress on this already but it's a lot of huge engine changes, so it's probably better for Epic to do something. The end goal would be to have a nice system for replicating PhysX objects with prediction, and non-physX objects with prediction too.

              Question 3:
              Could it be made possible to send children of structs via RPC's? In my movement system I have a "master" struct for sending input - and I want children to be able to use the same movement component class but send their own "Input" struct to the Server, without creating Server/Client functions for each struct type.

              ^^ Most of these are all related to Movement Component features.

              Question 4:
              Could we at some point have an updated Content Example, which contains C++ code for Matchmaking, Beacons, and using Game and Party sessions. ShooterGame was great but is very out-of-date now, and Unreal Tournament is a huge difficult to follow code base. Beacons and Parties are pretty much entirely undocumented, and those who have figured them out seem unwilling to share their knowledge. Sessions are pretty undocumented too, other than the content examples we have.

              Question 5:
              Any chance we can build Dedicated Server .exe's from a Launcher build anytime soon.

              Question 6:
              Finally, how the heck does Paragon get away with replicating so many minions - when only a handful of characters or vehicles can usually grind a game to a halt?

              ---

              I'm away in Iceland this week (!) so I'll miss the stream, but will catch up when back
              Last edited by TheJamsh; 03-18-2017, 07:08 AM.

              Comment


              • #8
                I can answer a few of these:

                Originally posted by franktech View Post
                #1. Do any of the BP movement nodes auto-replicate by default? For example: The Teleport node.
                In UDK Teleport auto-replicated. When combined with Set-Actor-Location. code could be simplified.
                No - but some functions do have a little icon for "Client" and "Server" which indicates what kind of function they are. Making them call RPC's by default also removes a lot of fine-grain control that you need most of the time, and makes it far too easy for newbies to start flooding their bandwidth. UDK was different because it was very one-dimensional, and most people using it were making online character-based games - so the engine could assume lots of things.

                #2. During prototyping is there a way to replicate everything on LAN by default.???
                In-short how to fully replicate every actor that moves by either Interp / Physics etc.
                PIE Servers and Clients are no different to regular instances as far as the networking layer is concerned. If you tell it to replicate movement, it will replicate position etc, - regardless of connection type (and so long as it exists client and server side).

                #3. Physics Rewind and the larger deterministic problem in Internet Multiplayer etc.
                Is it reasonable to expect the new presenter will cover this and offer some insights?
                Doubt it - but a few of us are making progress on that here.

                Comment


                • #9
                  I would love to hear more about the replay system and how it was implemented in paragon.

                  Comment


                  • #10
                    Originally posted by TheJamsh View Post

                    Question 6:
                    Finally, how the heck does Paragon get away with replicating so many minions - when only a handful of characters or vehicles can usually grind a game to a halt?
                    I think the answer to this question is Oodle Network Compression that is part of Oodle library by RAD tools.
                    Unreal Issue Tracker - Desktop App for Unreal Engine Issues
                    Unreal Nexus - Create Share and Experience!

                    Unreal Engine 4 World-Wide User Map

                    [PLUGIN] Aws Gamelift Client Plugin
                    [TOOL] Create your own binary release of UE4 from GitHub source
                    [Marketplace] Vehicle Soccer Template
                    [Marketplace] Objective Waypoint System
                    My UE4 Tutorials and Misc Tools

                    Lead Programmer at YetiTech Studios
                    Your Friendly Neighborhood
                    Satheesh PV (a.k.a RyanJon2040) | Twitter, Instagram, Facebook, LinkedIn, YouTube, Google+

                    Comment


                    • #11
                      Originally posted by ryanjon2040 View Post
                      I think the answer to this question is Oodle Network Compression that is part of Oodle library by RAD tools.
                      Interesting. I've also been told that Minions use a very very simplified movement component, not the full character movement. Be interesting to get some answers.

                      Generally, anything about compressing bandwidth and good optimization techniques (most of this stuff is C++ only ofc) would be good. RTS games are hard

                      Comment


                      • #12
                        Originally posted by TheJamsh View Post
                        Interesting. I've also been told that Minions use a very very simplified movement component, not the full character movement. Be interesting to get some answers.

                        Generally, anything about compressing bandwidth and good optimization techniques (most of this stuff is C++ only ofc) would be good. RTS games are hard
                        Not just Oodle I guess. If you look at the minions from far (down the lane for example) you can see they dont replicate at all (that is they just stay idle and not attacking at all) unless you get close to them (maybe 3000-4000 units I guess). You might know those settings (IIRC it was something called Network Cull Distance Squared and maybe Network Update Frequency also).
                        Unreal Issue Tracker - Desktop App for Unreal Engine Issues
                        Unreal Nexus - Create Share and Experience!

                        Unreal Engine 4 World-Wide User Map

                        [PLUGIN] Aws Gamelift Client Plugin
                        [TOOL] Create your own binary release of UE4 from GitHub source
                        [Marketplace] Vehicle Soccer Template
                        [Marketplace] Objective Waypoint System
                        My UE4 Tutorials and Misc Tools

                        Lead Programmer at YetiTech Studios
                        Your Friendly Neighborhood
                        Satheesh PV (a.k.a RyanJon2040) | Twitter, Instagram, Facebook, LinkedIn, YouTube, Google+

                        Comment


                        • #13
                          I've got a few suggestions for topic matter, that at least from my perspective, would provide a lot of value, especially for developers who've recently migrated to UE4.

                          A CURRENT ( 4.15, 4.15.1 ), ACCURATE, BEST-PRACTICES, walk-through taking us through the design & construction of a basic, yet functional, properly replicated, server-authoritive, multiplayer project setup.

                          The KEY here is that the setup and architecture of the demo project be validated by Epic's Senior Engine & Networking Engineers and what is demonstrated is "A" CORRECT application of the core Gameplay classes as they were INTENDED to be used, and a solid little setup of a simple, custom Pawn Actor from scratch ( not a Character from one of the templates ) so that it properly replicates during spawning, input and movement.

                          If we can get that far, I'd also like to get into implementing our own client-side prediction component for that Pawn, similar to what's built into the Character movement component but more universal, and of course technical detail on implementing networked physics simulation as franktech and TheJamsh mentioned.

                          My last suggestion idea would be a walk-through of how to mod the stock VR Template to properly support Multiplayer and Replication. I think quite a few VR developers are going to run into that one...

                          I know I went through that whole learning curve, and it wasn't fun, really, it was more like a compound stack of learning curves all at once... As I just finished a crazy deadline to deliver a VR Project that supported cross-platform multiplayer/replication between my GearVR mobile client and my Win64 HTC Vive client... I was researching in circles and digging through all sorts of outdated or incomplete documentation in order to finally break through and get that puppy working.

                          Anyway, looking forward to the Stream and the discussion.

                          Thanks!

                          Comment


                          • #14
                            Would love to know how to replicate child actor components. The Vive motion controllers and Leap motion components don't seem to replicate even when manually setting transforms

                            Comment


                            • #15
                              Although may not be covered in this stream, I'd really love to see a simple replicated game that covers the best practices for setting up basic BP replicated movement, health, score and shooting systems (or another mechanic that causes score/health/game state changes) that works for any amount of clients that join a game. These basic mechanics can then be used as a rock solid reference for extending and creating new and more meaningful systems. Right now it seems that a lot of the content is older or no longer available- any fully setup projects aren't as helpful due to the fact that a lot of the thought process and decision making behind the systems are lost, left for the user to try and figure out. Having a simple game set up as Epic would themselves would be extremely valuable not just for people learning replication, but in general as a good selection of common implementations and the do's and don'ts associated with them.

                              ShooterGame is such an excellent content example, but both for people wishing to create BP only networked games and also to have the step by step thought process and reasoning behind each function, I think a new example would go a LONG way. Thanks Epic for doing what you do
                              ARTSTATION: https://www.artstation.com/artist/noisestorm

                              Comment

                              Working...
                              X