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.
Eric Phillips commented
For those of us looking to add some server architecture for a game, could you perhaps add a section focusing on something like: http://image.slidesharecdn.com/mmocloudpresentationupload-090423062222-phpapp01/95/using-the-cloud-to-build-a-mmorpg-2-728.jpg?cb=1240467763
Is this going to happen?
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.
I and many other people would love to make an online multiplayer game.
AdminBen Tristem (Tutor, GameDev.TV) commented
Had a great meeting with a potential new instructor Kim today. We have read all your comments, and have a suggested list of projects (see our raw notes here: https://www.evernote.com/l/AA7N2K9l3x1Czrwij0f8uqgkpmzju4JTjBA).
We're meeting again on Friday to take the next steps.
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.
Bernhard Obermoser commented
Well, then Unity Multiplayer Matchmaking is a thing there should be a tutorial about.
Lots of people doing stuff in VR
Nick Farrow commented
Peer-to-peer or torrent networking+++++++++ I would really like to see something on it.
I would really like to see that!!!!
There really needs to be a course on this.
Phoenix Fire commented
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:
* 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
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.