Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

please post some tutorials to get started to create MMO Games

Discussion in 'Multiplayer' started by Vickylance, Apr 20, 2014.

  1. Vickylance

    Vickylance

    Joined:
    Mar 28, 2014
    Posts:
    17
    Ok I am new to game development and I want to create a real time multiplayer game 2d game(RPG) ..... so I am learning unity, inkscape, gimp, blender simultaneously and creating some basic mini games .... but I also wanna learn basic networking concepts, networking programming for games especially in unity because that's the one I will be using forever, and server side and client side programming for effective management of game logic and security, so please help go on the right and easy path so that using those tutorials I could create an MMO game within a year or so.... I searched for many tutorials online but I don't get any effective tutorials or ebooks. So if you guys know any easily explained and short span learning materials for the purpose said above PLEASE be sure to post the links for them below so that I and many others like me could learn. And also I am a solo developer so I cannot invest much financially so the cheapest servers and server programs also can be posted.
     
  2. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    There is no "learn to make an MMO by yourself" guide or tutorial, it's simply not possible.
     
  3. Glader

    Glader

    Joined:
    Aug 19, 2013
    Posts:
    456
    I'm a bit tipsy; happy holidays!

    Anyway, Fholm is right. You'll find academic papers on tops related to MOGs (Multiplayer Online Game) that span various topics ranging from bandwidth usage reduction (interest management), serialization and all sorts of topics you'd never really be faced with in a single player game. Seeking, reading and understanding these papers is incredibly important to producing an MMO. I'm a bit too tipsy to go and look for these papers atm but start simple. Attempt to send a string from one client to all clients connected (chat). From there you can slowly get the basics. A fully authorative server is a totally different thing, especially if you want to simulate physics outside of Unity3D. I've honestly yet to do that portion yet.

    Anyway, good luck. It's an unfinishable task that I and others set out for. Don't expect to ever finish it.
     
  4. Vickylance

    Vickylance

    Joined:
    Mar 28, 2014
    Posts:
    17
    Is it easy if I use uLink or SmartFox Servers
     
  5. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    No it isn't, besides I don't even think you could build an MMO on stock uLink.
     
  6. Glader

    Glader

    Joined:
    Aug 19, 2013
    Posts:
    456
    Easier than writing your own networking library or dealing with built-in Unity3D networking. However I've never used either of those. It'd have to be a networking solution/library that can easily allow you to have several serverside applications communicating with eachother to balance the load you'll be experiencing.
     
  7. 3D Omelette Studio

    3D Omelette Studio

    Joined:
    Oct 1, 2013
    Posts:
    130
    There has been for a loooong time a paradigm of mmos being impossible to achieve by an individual or a very small team.


    well, to me an mmo game is nothing else but a multiplayer game that has a special server backend load balancing capabilities to support massive players.

    but the main game core/game play mechancs is just the same for a 20 players multiplayer game to 100k ccu mmo game.

    what i mean is do not worry about the first m from "mmo"

    just build a multiplayer game , make sure to pick any of the mmo capable networks, ie: ulink, photon, smartfox , electrotak etc..
    since those are supposed to be mmo capable networking backends.

    once your game reaches more than 100 ccu then start learning implementing a load balancer and or more focusing on backend infrastructure to spread you players on several nodes etc...

    so imo, just start with a multiplayer game, then add mmo features to it.

    just my .002
     
  8. P_Hansson

    P_Hansson

    Joined:
    Jul 4, 2012
    Posts:
    31
    Totally depends on the definition of 'MMO'. What fholm meant is you're not going to make the next WoW by yourself (or find a tutorial for a 'typical' AAA MMO with seamless world). You can however make simple games that scale into the "massive" range far by as an individual, by wise choice of tech. You'll still not find a complete tutorial for that. I don't recommend the "lone wolf" approach either, for that matter, few people manage to accomplish anything that way.

    If you have to ask the question "how do I make an MMO?", you're better off attempting smaller multiplayer games first.
     
    Last edited: Apr 22, 2014
  9. Erisat

    Erisat

    Joined:
    Jan 31, 2013
    Posts:
    88
    I've found alot of useful information on a few sites. Alot of this info will probably not be very helpful in making an MMO, but ive been building an MORPG, and these are my starting points. It can handle about 20 players at a time, so unless your a networking guru an MMO isnt going to be realistic. To me, that first M in mmo just means ALOT OF PLAYERS AT ONCE, like gw2 or wow, or my favorite example of networking, eve with its tens of thousands of ccus(those nerds).
    setting up an authoritative server (good for morpgs do reduce cheating). its a 3 part tutorial.
    http://playblack.net/zee-code/unity-3d-authoritative-server-networking-pt1
    I used this for saving player information (login info, position, UMAdata, levels, inventory, etc.)
    http://wiki.unity3d.com/index.php?title=Save_and_Load_from_XML
    Also, i LOVE UMA. It's a great framework for character customization, its free from assetstore and completely open source, and sponsored by unity.
    It is a young asset and still under development, alot of the documentation is outdated, but with a little fiddling its not that hard to figure out, and is immensely useful. Before I found it, i thought unique customizable characters were just a pipe dream.
    http://forum.unity3d.com/threads/219175-UMA-Unity-Multipurpose-Avatar-on-the-Asset-Store!

    Also, unity wiki, and unity learning are great places to go. I hope you find these as good "jump-off" points, theyre what I used as primary learning materials.

    P.S. it took me 10 months on my own to get to the point of creating an account, creating a unique avatar, logging in, moving around, equipping items, having an inventory, seeing other players, and having a chat. So it's a very slow process, especially for a beginner like i am. i tend to agree with 3d omelette that you shouldnt aim to build an MMO. start with just the MO
     
  10. Glader

    Glader

    Joined:
    Aug 19, 2013
    Posts:
    456
    I would recommend against Unity3D's builtin networking, as well as any general RPC based solution. Also, 20 players at a time is an incredibly small amount. Is there a reason you're capped on 20 players?
     
  11. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    I agree with Glader, anything which relies on reliable RPC will not be playable in a real environment (players in different countries, playing against each other, on a server located in another country).
     
  12. Holyschytt

    Holyschytt

    Joined:
    Nov 3, 2012
    Posts:
    4
    Rust Has been made of ulink .. and its been pretty stable except a few DOS attacks.. but its been cleared up and fixed.. Rust its Partialy MMO
     
  13. Glader

    Glader

    Joined:
    Aug 19, 2013
    Posts:
    456
    Rust no longer uses uLink.

    Don't use uLink. Some of the stuff they talked about I didn't post but it was definitely some stuff that should make you want to avoid uLink like the plague.
     
    Last edited: Apr 25, 2014
  14. mavericked

    mavericked

    Joined:
    Mar 22, 2014
    Posts:
    1
    Thanks for the info. Is there any other networking solution available besides uLink for servers that would hold ~100 players or so? As I understand it, Unity Networking isn't recommended past 32 players, so I am curious if anybody has an idea of other solutions. Thanks.
     
  15. P_Hansson

    P_Hansson

    Joined:
    Jul 4, 2012
    Posts:
    31
    Indeed. I think that if the whole NetworkView abstraction model doesn't add anything for you and you want something more low level to be able to avoid a number of traps (such as large numbers of instantiations occurring at once stalling main thread), you can try e.g. regular Lidgren. I think that uLink *is* a great choice assuming your code design fits with the framework, if you end up fighting it, not so much. We'll see how Rust without uLink turns out.

    Please be specific. 'some stuff' doesn't convince me.
     
    Last edited: Apr 25, 2014
  16. 3D Omelette Studio

    3D Omelette Studio

    Joined:
    Oct 1, 2013
    Posts:
    130

    Maybe because of this: copy paste from http://playrust.com/ from Friday Devblog 4

    man, so sad seeing the very bad review from rust devs against ulink ceo and personnel.
    this is what to expect in the future if you use ulink, :-(

     
  17. P_Hansson

    P_Hansson

    Joined:
    Jul 4, 2012
    Posts:
    31
    MD despite being a NPO cannot operate for free as programmers need to eat. Garry disclosing business negotiations in his blog that's read by people without full information is unfortunate. From a business perspective Rust can't be given higher priority than customers that pay > 100 times more, and yes, that's the actual case here. Garry is arguing out of the position that because his game is popular, MD should prioritize it, unconditionally. From a moral perspective, it is in no way fair that indie devs who paid near as much as Garry despite not being anywhere close as successful should be down-prioritized. TLDR; his blog tells his subjective view of the story.

    Yes I admit I am partial. :) However, getting majorly off-topic now so this will be the last I say on this matter.
     
    Last edited: Apr 25, 2014
  18. Vickylance

    Vickylance

    Joined:
    Mar 28, 2014
    Posts:
    17
    Ok I actually didn't mean to create an mmo like WoW ... I know its definitely not possible by me. I actually tried to say MO game but then just typed in MMO game thinking that that wont make a difference and all are same .. actually I need tutorial to make a basic but real time ... and by real time I mean not turn based games but where you can actually see a player move in real time .. so I don't worry about the no. of players I atleast want to make 20 - 50 ccu players to play real time MO game. So where do I get started to create one such all by myself. so I only need tutorials to learn basics of servers, server connection and management, server programming but all these in the perspective to make a very simple MO game .
     
  19. Vickylance

    Vickylance

    Joined:
    Mar 28, 2014
    Posts:
    17
    Is it possible to have a server in India and make players all around the world to connect to that server and play in real time on a same map?
     
  20. Vickylance

    Vickylance

    Joined:
    Mar 28, 2014
    Posts:
    17
    Also is it possible to create an MO game with Windows Azure?
     
  21. Glader

    Glader

    Joined:
    Aug 19, 2013
    Posts:
    456
    If you're able to toggle between UDP and RUDP depending on the packet type then maybe.
     
  22. Vickylance

    Vickylance

    Joined:
    Mar 28, 2014
    Posts:
    17
    Ok if I don't use the built-in unity networking or uLink , Smartfox , Wamp or any other library how do I create a basic MO game and where to get started for it?
     
  23. P_Hansson

    P_Hansson

    Joined:
    Jul 4, 2012
    Posts:
    31
    If the networking library is worth its salt, you should be able to move to zoned MMO from single server MMO, so you could start by creating a single server game (i.e. normal multiplayer game), and then expand from there. Of course, zoned MMO isn't very scalable (you'd have to have several realms after a certain point due to risk of players converging on a single server), but it's a lot easier.

    Note that even if the networking solution has no support for handovers between servers, you can code that yourself via TCP in the "worst case".

    It's even easier if all you have is a bunch of separated game servers (more like MO than MMO). E.g. there's uZone to handle those.

    So to get started, just read any introductory material on building multiplayer games with the network library of your choice. Since I am biased, I can link to http://developer.muchdifferent.com/unitypark/ but depending on your requirements other alternatives might suit you better (expecting someone else will fill you in if they haven't already). In the end, it depends on the details of your game and you need to do the research yourself as nobody else can state the requirements.
     
    Last edited: Apr 25, 2014