I would like to learn...

Internet Multiplayer in Unity

Learn about playing a game over the internet with other users in real time (Starcraft, many FPS, etc)

Things we could include...
+ Peer-to-peer mobile networking

Keneth's Vernon's comment..
"Request - LAN/WAN support for network communication.

At the moment, it appears that you and Brice have only focused on 3rd party server/client communication. That is certainly usable, but I am far more interested in LAN and WAN (via direct IP communication) routes. If I create an IP that I would like to release commercially, I do not want to have a 3rd party's overhead costs to worry about in order to maintain full functionality for my end users. Also, if a 3rd party that I utilize suddenly closes their doors, it would effectively have made my end users waste their money on an IP they can no longer play.

Instead, I would much prefer giving them the ability to connect over a LAN (or VPN) or direct IP communication over WAN, effectively the same communication pathways we see in games such as Minecraft.

If you could provide such a lesson (or lessons) in your Complete Unity Developer course, I would be extremely grateful.

Thank you for all you've done for us, Ben. I am extremely pleased with your content so far.

-Ken V"

257 votes
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    I agree to the terms of service
    Signed in as (Sign out)

    We’ll send you updates on this idea

    Ben PearsonBen Pearson shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

    13 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      Submitting...
      • FrankFrank commented  ·   ·  Flag as inappropriate

        The link to the raw notes is missing.

        Is this course going to be considered for October?

        I want to learn how to network in Unity so bad.

      • LucasLucas commented  ·   ·  Flag as inappropriate

        I and many other people would love to make an online multiplayer game.

      • SeanSean commented  ·   ·  Flag as inappropriate

        First off, love the content =)

        As networking is a hugely complicated item in and of itself, I would suggest perhaps making it a stand alone course rather than trying to cram it into a large course already. I saw an one of the ideas for a "diablo like" clone ... something of that nature would be IMO a fantastic avenue to start from. Something like:

        1. Start from existing project ( e.g. github.com/unitycourse/<othercourse>.git )
        2. Discuss different options, and the pros/cons of each ( like P2P where one game is hosting, or dedicated server where all games are acting like a client ). I myself am in favour of the dedicated server approach, but if done right it could be fenced off from a P2P style game to be extracted.
        3. Visit designs and the implications with respect to the general picture ... things like static vs dynamic entities, transmission frequency, latency, dead reckoning, error correction, etc.
        4. Tools and debugging/testing techniques. Including things like bots, and how to automate testing, visualization tools, stress testing, etc.
        5. The dreaded synchronization. How to you keep 5-6 independently running simulations synched well enough to provide a good play experience. Things like dead reckoning, what information needs regular updates, what needs triggered updates. Who is authoritative, and how to effectively re-align 2 simulations ( and also when to know you have to abandon it ).
        6. Capacity considerations ( how many players, how many monsters, how much data and all other manner of how to handle performance and capacity; what scales, what doesn't ).
        7. Security. Things like authentication, channel encryption, anti-cheating techniques, version detection, etc.

        The goal being to take an existing working project from one of your existing courses, and to make a course that would transform it into a networked game. That way, the entire focus can be on networking ( an oft neglected topic due to its complexity ), and you don't need to worry about picking trivial networking that is easy, and instead make something that is more realistic to what's in current use.

      • Phoenix FirePhoenix Fire commented  ·   ·  Flag as inappropriate

        How to fully integrate your game for online play between hundreds of users. There was a short section about this which utilized UNET and unity 5 but this only touched the surface and for anyone who wants a professional multiplayer game, not enough was covered.

        I'd like to see the different networking solutions discussed:
        * Photon
        * UNET
        * uLink
        * Forge
        * Darkrift

        * Explain the advantages and disadvantages of these options
        * Talk about how to use these tools to network your game locally
        * How to integrate these solutions into external servers e.g. AWS (you could use the free AWS for tutorial explanations)
        * Authoritative vs Non-Authoritative Servers and how to prevent cheating
        * Writing some server plugins
        * Overview of what type of networking is needed for different game types e.g. MMO vs FPS
        * Peer-to-peer networking
        * Integrating VOIP or text communication into your game
        * Network login through social media
        * Databases to player info and then store these on servers like amazon S3
        * Ensuring cross platform network link e.g. mobiles with pv

        There's A LOT to cover but if you made these I know a lot of people would want this

      • GaryGary commented  ·   ·  Flag as inappropriate

        Multiplayer networking is a complex topic and a good section or course of it would help a ton. No one on Udemy really covers this topic and the people on youtube who do cover it, don't do a good job on explaining what's going on.

      Feedback and Knowledge Base