Search Unity

Approaching a open world MMO

Discussion in 'Multiplayer' started by Superl0l, Nov 23, 2015.

  1. Superl0l

    Superl0l

    Joined:
    Nov 23, 2015
    Posts:
    9
    I decided to create an open world MMO game, it will be small, small enough to just host it by myself or via LAN (thought, i'd prefer to host it with my computer or someone elses..)
    After digging for a while i found Photon, but i dropped it out because it seemed like it would work only for room-based games, since i'll also need a DB so the world will be saved (levels,items,player positions etc..).
    After a bit more digging i found uLink that might fit to my needs, but it seems like i'll need a license to use it or it will last for 30 days only, if i read it correct.
    I would like to get your opinions, how should i approach this kind of game? Would LAN will be enough to host the game constantly (for "24/7", and also with a DB of my own) or i'll need some kind of network, maybe even Unity's one would be enough.
    What do you guys think?
     
  2. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Unet isn't ready for big numbers of players, but if it's a small number it's fine ie up to 16.
    Photon has many solutions but they will eventually cost.

    How about you first manage to network 2 people and move on from there? It does not sound like you have much experience in the process?

    FYI I would consider it suicide to do more than a 16 player game without some form of paid services like photon + playfab to deal with it in a more serious indie manner.
     
  3. FStar

    FStar

    Joined:
    Sep 11, 2015
    Posts:
    50
    What is the problem with Unet? For say 100-500 players, what would be the failing part?
     
  4. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I was going to reply seriously, then stopped, realising that nothing I say will be of any help to you. Have you managed a 2 player networked game? If you haven't (in any api or even in Unity) then it's utterly pointless even having a conversation about MMOs.
     
  5. Superl0l

    Superl0l

    Joined:
    Nov 23, 2015
    Posts:
    9
    I'm currently a program engineering student, fresh year, so i decided to create a game that i'll learn from the process of programming it. Obviously i would also want to it be playable, on a small scale (close friends, etc..)
    So yea, it won't have more than 16 players online at once, but i really want it to have the MMO elements, which means we will be able to connect to the game and progress (while everything is still saved).
    If a day will come when this game will be successful enough to have more than 16 online, i'm pretty sure i'll know how to handle it by than (even if it will cost).
     
  6. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Ah then you should be fine with the Unet lobby system. The code concepts here use the same script for server, host and client. It will take a lot of reading the docs and blog posts about it to get up to speed. What Photon (and optionally Unet) do is mostly relay server stuff. This is to circumvent firewalls and routers.

    There's a heck of a lot to go over, I'm not sure what a forum post can do. You should go and read up then pop back for specific questions rather than "how do I make the moon". No offence intended.
     
  7. Superl0l

    Superl0l

    Joined:
    Nov 23, 2015
    Posts:
    9
    Yea i know its a big question, hoped to get answers like you that would help me to focus on what i should learn. I would've gone with Photon, but i've read this post:
    http://forum.photonengine.com/discussion/4815/keeping-the-photon-room-open-when-all-players-leave
    Which means, Photon always needs to reset the room or it will run out of space, etc :/
     
  8. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    That's actually reasonable, when nobody is on a server, it shuts down. You would probably want to have a persistent database in that case. Services like playfab help a lot here, otherwise its a murky road of databases and so on..

    Since it's just a local machine you're using as server, you can just have it run all the time, saving the state, so next time someone joins (or it's been rebooted) it seems like it's all been left as it was. It's less black box secrets and more lots of tiring hard work at this point.
     
  9. shopguy

    shopguy

    Joined:
    Jan 12, 2013
    Posts:
    282
    It depends on how much time you want to spend learning networking issues vs writing video games. If you use the simple UNet you'll spend 90% (or more) time writing the game.. if you go the real route, that massive-MOs do, you'll likely being a year or two older before you really start writing the fun/game code, at least if you have any other classes/homework/life taking up time.
     
  10. Superl0l

    Superl0l

    Joined:
    Nov 23, 2015
    Posts:
    9
    Thanks for the answes. It won't be Massive, but i think i got an idea on how to implent my logic with Photon that would fit to the game.
    Like i said, i would like to learn as much as i can and trying to figure the network enviorment and logic is a good start, and Photon seems to cover most of the part for it which would save some time.
     
  11. Brendan-Vanous

    Brendan-Vanous

    Joined:
    Nov 7, 2014
    Posts:
    73
    @Superl0l - It's also worth noting that you don't pay anything for our service (PlayFab) throughout your development cycle, so combined with Photon Cloud's 20 CCU free tier, you could effectively build and test your game at no cost.
     
    Superl0l likes this.