Search Unity

Unity Multiplayer Tutorails ~ Suggest a game type!

Discussion in 'Community Learning & Teaching' started by Christian-Tucker, Oct 19, 2014.

  1. Christian-Tucker

    Christian-Tucker

    Joined:
    Aug 18, 2013
    Posts:
    376
    Hello everyone, I've been working with Unity for quite awhile; I have a bunch of experience with networking applications as-well as programming in general. So, after the purchase of a new microphone, pop-filter, and windscreen I'm ready to start creating professional level Unity3D tutorials for multiplayer games; However the problem is that I don't know what kind of game the tutorial series should create. Should it be about creating a First Person Shooter, or a small top-down view dungeon crawler that allows a few people per server to connect? Should we make use of the Unity Master-Server, or should we create our own for enhanced functionality?

    Let me know in the comments.

    Now, for the "Make a tutorial on creating a MMORPG request"
    Yes, if it is requested I will create a tutorial series on creating a base for a morpg using a custom built stand-alone server. We will start from the ground up writing the server, the packet systems, and all of our encoding/decoding functionality. However, please keep in mind that this is not intended to be a morpg that you can just host upon completion of the tutorial, instead it will be a series of tutorials that will help you understand how to build your own morpg. You will have to do things like changing values, adding models, creating maps, setting up massive databases, and much more to have a true morpg; However the morpg tutorial SERIES will cover the following:
    • Login Server
    • Game Server (Authoritative)
    • Character Creation (Customize a character)
    • Multiple characters per account.
    • Basic player stats (Health, mana, strength, agility, constitution)
    • NPC Artificial Intelligence (AI)
    • Target based combat System. ( Includes skill casting and cool-downs )
    • Interface System.
    • Inventory System.
    • Questing System.
    • Guild System.
    • Report a Player System.
    • Speak with a GM System.
    • Faction System ( Includes game chat encryption to other faction )
    • Rested experience system. ( Similar to WoW )
    • In-Game mail system.
    • Auction house system.
    • Player trading.
    If there's any aspect of a morpg you feel that I have left out, put it in the list and I'll make sure to add it to the list of things to put inside of the morpg tutorial series. I'll be happy to add it. Remember, this isn't about creating a morpg, but about teaching others how to create the functionality that makes a morpg what it is.

    Oh, by the way, you can't program a MMORPG. It's impossible. The first "M" in MMORPG stands for "Massively" which is a reference to how many people are playing it; So in reality this is called a MORPG, or "Multiplayer Online Role Playing Game" -- Sorry, pet peve.
     
  2. SneiveN

    SneiveN

    Joined:
    Nov 5, 2012
    Posts:
    2
    Hi Christian

    Could you make a tutorial for this kind of project http://unity3d.com/learn/tutorials/projects/survival-shooter ? Where there is a main loby to chose existing game or create a new game with easy/medium/hard difficulty settings witch would multiply mob health and damage inflicted to player. And choice of 3-6 player co-op. Some reload function for weapons, as well as upgrades to weapons and armor.

    Thanks,
    SneiveN
     
  3. Christian-Tucker

    Christian-Tucker

    Joined:
    Aug 18, 2013
    Posts:
    376
    I most definitely could; However this game is already a tutorial on its own, and sending a few variables over the network isn't really worth the time it would take to create an entire tutorial series about it. Follow the tutorial you linked me to; in order to get the game set up, and then follow this tutorial:


    to learn about setting up a MasterServer. The masterserver is what allows you to have a lobby in which you can choose or create an existing game; All of this is explained in that video, as-well as how to send the variables over the network from the existing game to make it multiplayer.

    Hope this comment helps,
    Chris.
     
  4. SneiveN

    SneiveN

    Joined:
    Nov 5, 2012
    Posts:
    2
    Cheers Christian, much appreciated.

    SneiveN
     
  5. nongaming

    nongaming

    Joined:
    Apr 30, 2014
    Posts:
    6
    an "morpg" would be pretty interesting to watch and gets my vote if get one, but would rather see how a action non targeted combat system would be set up.

    anyways chances are ill watch abit of whatever you choose to do goodluck.
     
  6. Christian-Tucker

    Christian-Tucker

    Joined:
    Aug 18, 2013
    Posts:
    376
    I'm currently working on a game like this and have the combat system base completed. I'll do a tutorial somewhere in the MORPG video about converting it over to action based combat. It's not hard to do at all. I'll also consider showing people how to load their Unity scene into a stand-alone server that's not unity based.
     
    nongaming likes this.
  7. NachyoChez

    NachyoChez

    Joined:
    Oct 15, 2014
    Posts:
    2
    I'm looking very forward to this series; I'm new to Unity so I'm a bit away from making use of it, but I've no doubt I'll be coming back to learn from this.

    Thanks!
     
  8. Christian-Tucker

    Christian-Tucker

    Joined:
    Aug 18, 2013
    Posts:
    376
    I've already started the series, however there's currently only two videos uploaded, (Three come tonight) and I plan on trying to do at least one video per two days.

    You can find the playlist here: http://www.youtube.com/playlist?list=PLf3HExmaARYZj8E52Ea8WcZqWwyclRK0v
     
    nongaming likes this.
  9. nongaming

    nongaming

    Joined:
    Apr 30, 2014
    Posts:
    6
    looks and sounds good. many thanks. should be a fun project to follow.
     
  10. __twisted

    __twisted

    Joined:
    Oct 21, 2014
    Posts:
    10
    Do i assume it righly that this is going to be a template for using it as a game server?
    If yes, why do you code it in java? I have no problem with java but would it not been better to use a programming language which is aiming to time-sensetive applications like c/c++ ?
     
  11. Wrymnn

    Wrymnn

    Joined:
    Sep 24, 2014
    Posts:
    380
    2D Top Down Space Sandbox multiplayer game?

    This would kinda aim also for 2D space game creation well as multiplayer, and ofc it wouldn`t be easy.

    There is no tutorial on this, and 2D community + people who want networking would really appreciate it.

    There could be a lot of multiplayer aspects showcased in this.
     
  12. Christian-Tucker

    Christian-Tucker

    Joined:
    Aug 18, 2013
    Posts:
    376
    While using C++ is certainly more time sensitive ( Not by much ) in some situations, I find that when working with servers the better solution is to use Java. C++ Code doesn't like to execute on Unix systems with a lot of work around, and a majority of servers that run games are Linux based. C++ Compiles code natively for each system architecture, so the performance you get is sloppy at best. While using Java and the JIT Comp you can optimize your application to run better on certain machines.

    A well worded answer:

    "Generally, C# and Java can be just as fast or faster because the JIT compiler -- a compiler that compiles your IL the first time it's executed -- can make optimizations that a C++ compiled program cannot because it can query the machine. It can determine if the machine is Intel or AMD; Pentium 4, Core Solo, or Core Duo; or if supports SSE4, etc.

    A C++ program has to be compiled beforehand usually with mixed optimizations so that it runs decently well on all machines, but is not optimized as much as it could be for a single configuration (i.e. processor, instruction set, other hardware).

    Additionally certain language features allow the compiler in C# and Java to make assumptions about your code that allows it to optimize certain parts away that just aren't safe for the C/C++ compiler to do. When you have access to pointers there's a lot of optimizations that just aren't safe."
     
  13. Cinema

    Cinema

    Joined:
    Sep 19, 2013
    Posts:
    18
    You're videos are great!
     
  14. __twisted

    __twisted

    Joined:
    Oct 21, 2014
    Posts:
    10
    Thanks for this meaningful answer and the good argument.