Search Unity

Discussion Choosing a networking solution for an MMO.

Discussion in 'Multiplayer' started by AtomR, May 22, 2012.

Thread Status:
Not open for further replies.
  1. AtomR

    AtomR

    Joined:
    May 22, 2012
    Posts:
    40
    Hello,
    For my final project at university I chose to do an MMO (big mistake) and am currently thinking of unity 3d as a possible platform to make it in. It would be a very sure thing except because of the available networking solutions.

    The architecture I am implementing features a world with any number of zones and in each zone any number of dungeons. Zones and Dungeons would be authoritative servers controling game logic with the diference that zones can house "any" number of players and dungeons are limited to groups of 4. There would be independent chat between players in the zones and in the dungeons but there would also be a general chat available to anyone in (at least) big cities and group/guild chat. And also http access to a web server to handle the database access.

    This is the arquitecture i'm going for.


    I know the Network class can't handle this type of game and have been looking for alternatives and the one that caught my eye was Photon but i have read in this post that a Photon Server can't be fully integrated in Unity so it has no access to geometry and can't be fully authoritative. I like how it has Area of Interest already fully implemented but really want an authoritative server.
    My questions are:
    How do you handle physics with this solution? I know server could still handle movement but not wether or not the "npc" has bumped a wall or fell off a ledge. One way would be, when an npc was seen by a player then the player client would take control of that npc. Not sure I like that solution.

    What about SmartFoxServer? Does SMF fully integrate with unity3d and has access to geometry or is it the same as Photon?

    Thank you for your atention.
     
    Last edited: May 22, 2012
  2. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,070
  3. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    SFS integrates even less as you code in Java, not C#, so you get 2 distinct codebases.

    There is nothing that is highly scaleable and integrates with Unity as that would no longer be scalable at all as unity is not exactly scaleable or even threading friendly.

    The only networking that I know would help, if you don't want to create a solution basing on a network backend with unity simulation clients, is uLink their PikkoServer technology from MuchDifferent (http://muchdifferent.com/?page=game-unitypark ) but it will also be priced accordingly (you save months of work and that just has its price)
     
  4. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    I'm gonna be rough and tell it like it is: Give up, unless you have a couple of years to spend on building your game, you will not come even close to being able to build an MMO. You also seem to lack a basic understanding of how networking and unity fit together.

    A large distributed simulation like an MMO is probably the last step a professional would take, after having built several other, simpler, systems before.

    Just forget about it, pick another idea, you will fail. Sorry :)
     
  5. AtomR

    AtomR

    Joined:
    May 22, 2012
    Posts:
    40
    You are assuming too much about me and my project. First off, if you notice correctly I did say Big mistake on my original post and that is not because I don't think I can make it but because it is a gigantic endeavour for someone who is currently employed and has to do this on the sides. In the age of the internet it is unfeasable that a project (in my university) has good grades without considering online features and since I really wanted to make a game I decided to make one using the "free to play" business model and that doesn't fit IMO with anything other then MMO since the only reason ppl pay for items is to be able to show it off to their online friends.
    The project has been set in stone and I can't change it on a whim. I either retake the class next semester with a new project and that would mean paying for another year of tution so i'm gonna make my damn hardest to pass and although the official delivery data is september the project delivery can be postponed up to 18 months.
    I can indeed fail just as long as the process of researching diferent solutions with their pros and cons properly documented is well done, with also well done software design documents and what went wrong and presenting possible solutions.
    Lastly, since my project is in fact the "Free to Play" business model I really don't have to implement a scalable, high performance fully featured mmo game, but instead have to make a prototype of a game that features the things present in my game design document like group chat accross zones, grouping, instances and the possibility to access a website where the player can aquire special items to show off ingame.
    Scalability and high performance will not be tested but will just need to be documented. But while I am still researching I want to have these requirements in mind. And that is because if I so desire I can keep working on it after the project is delivered and it's much easier to have these considerations during conception then to go back and redo everything from scratch when you realise you've messed up.

    So if you are telling me that I can't do this in Unity then ok i'll go back to JME3 where the architecture was already implemented but lacks the ease of creating great looking scenes with a few clicks of a button.
     
  6. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    Okay.

    Let's get one things straight:

    • You're in deep S***.
    The question now is, what's the absolute minimum you can get away with?

    For a start - let's get rid of all the crap that is possible. Currently you have:
    • Game Client
    • Chat Server
    • Game Server
    • WebSite Server
    • Database
    If I was doing this I'd do:
    • Game Client
    By using the game client, and a system like Photon Cloud [assuming it meets some basic requirements] you can actually sit down and build a simple MMO.

    The other elements you had are 'nice-to-haves', but greatly increase the complexity of the build. If you insist on having them - build them AFTERWARDS. For example - the out of room chat system is a nice feature to have, and can be 'dropped in' once everything else is done.

    So yeah, get back to us with what you must have at an absolute minimum.
     
  7. AtomR

    AtomR

    Joined:
    May 22, 2012
    Posts:
    40
    Absolute minimum: game client that has acess (either directly or preferably thorugh server) to the web server that houses the site and controls database access, so players can acess the items they bought in store.
     
  8. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    Assume that's the actual requirements, you've got a fair bit of room to maneuver. Though I would note in my documentation that those are somewhat arbitrary.

    For example - you can make your game Text Based or 2D. Furthermore there's nothing saying MMO - so you can opt for the much simpler [though still fairly complicated] MOG.

    Sit down and play a bit of Dead-Frontier - it might give you a couple idea's.
     
  9. tcarr9

    tcarr9

    Joined:
    Oct 11, 2010
    Posts:
    63
    You might want to look at the free examples that come with ElectroServer. I assume that SFS has similar examples, but haven't looked at it closely in more than a year. If you combine the AvatarChat example with DatabaseWithJDBI, then you have the basis for your database connections, your virtual world, and your chat right there.
     
  10. AtomR

    AtomR

    Joined:
    May 22, 2012
    Posts:
    40
    The project submission states a 3D MMO :)
     
  11. tcarr9

    tcarr9

    Joined:
    Oct 11, 2010
    Posts:
    63
    I'm surprised that your faculty advisor let you choose an MMO for your project. I used to be college professor, and it was definitely my job to help my advisees choose final projects that were both ambitious enough to be worthwhile but also small enough that they would have a chance of finishing them. A 3D virtual world is possible. A scalable 3D virtual world that can handle 1000 concurrent users... that's rough.
     
  12. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    if you really want to build this (with little previous experience, it seems - not trying to be rude), I would say that your best bet is to sign up for the 3d buzz Unity + Photon MMO classes that are available on 3dbuzz.com. They will hold your hand the entire way and explain a lot of concepts for you, building an "MMO" (I put the quotation marks because they dont really build an MMO, but more of an RPG-MOG) from scratch.
     
  13. AtomR

    AtomR

    Joined:
    May 22, 2012
    Posts:
    40
    I am sincerelly glad with your help and suggestions, but I am also shocked with such a defeatist attitude towards doing something you've never done before. I realise this isn't exactly doing a standalone pong clone and that it encompasses a lot of areas of knowledge, and even admit it may have been naive to try, but to suggest that I should just give up is, well, discouraging XD

    Regarding my teachers, they did have reservations about it but ultimatelly said it was my decision. Another thing said in my last meeting with them, when I showed them the arquitecture, is that I really don't need to have concerns about scalability for now if at all.

    So keeping up with the "brainstorming" another possibility would be Guild Wars type of MMO. They have main cities where everyone meets and then all the world is instanced and shared only with the party members. Isn't this a kind of lobby > room example?
     
  14. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    Look, to be frank. You're not going to be able to build an MMO game yourself, ever. It's just not going to happen. If by MMO you mean supporting at least 512+ players online at the same time in one big world. But, as you said - scalabilty is not an issue here for you, as it's not going to be a "real" game. Fine, but then you're not building an MMO, you're building an Online RPG that you can play with 10 people or something.

    The key in the "MMO" word is not the type of game play, but the amount of players online. The entire problem, and the reason I'm saying is that you won't build an MMO yourself comes from how big of an engineering task the "Massive" part of "MMO" is. Building an online rpg for ~32 players? fine, no probs. Building one for 512 players? No, not really.
     
  15. kablammyman

    kablammyman

    Joined:
    Nov 22, 2010
    Posts:
    507
    check out electroserver, its what we are using for our core site as well as our facebook-unity networking game. Our core site gets over thousands DAUs so, but it just as easily handle the 4 people your school project would see. Theres also many unity examples that can get your started.
     
  16. tobiass

    tobiass

    Joined:
    Apr 7, 2009
    Posts:
    3,070
    Yes, the latter could be done room based. Even more so, if you don't have to care about scalability.
    In rooms, you might or might not implement a simple interest management (to get more players in a "city" room).

    If the account, shop and inventory aspects are most interesting for this project (you named those as minimum req at least), I'd use rooms and focus on exactly accounts, items, etc. Persistence can be done through the game server or a separate connection to a web-server with http calls, I'd say.
     
  17. jedy

    jedy

    Joined:
    Aug 1, 2010
    Posts:
    579
    Dafuq did I just read?

    Authoritative servers handle database access by themselves, thus making the client accessing the database through http redundant.
    On the other hand accessing the database through http is sluggish, once you try to fire 2000 queries to your database at the same time you will notice that well 13 second delays won't really be tolerable by players.

    A fun fact is that we've got a decent mmo server up and running for a graduating project at high school.

    Basically you can go down one of two roads.
    Either get Photon or whatsoever solution and do some basic "mmo" *setup* which could handle a handful of players and some basic stuff ( aka forget about server side physics calculations, pathfinding and so on ).
    Or sit on your ass study some networking basics for couple of days, check out how other solutions work and do one yourself. On this one you will have to pretty much do a hell lot of work, but it could result in something that maybe some day eventually may become useful ( yes, maybe some day eventually may ).
    Or do the above thing, BUT find someone to share and split the work ( a networking specialist who does well in C++ will do great ).

    Anyway as of networking solutions I would go with either:
    Badumna network suite,
    Python networking,
    or Ace ( C++ library for manual server creation )

    Actually there is no possible way I choose any of the two other solutions over Ace but that's not on topic.
     
  18. chronos78

    chronos78

    Joined:
    Dec 6, 2009
    Posts:
    154
    I'd have to agree that you may have taken on more than you can handle here. Since you seem to be determine to go forward my recommendation would be to use Photon for its ease of use, feature set and cost. That's what we were using over at 3DBuzz.

    It is possible to make a MMO with Unity by yourself all be it a very small scale one. The MMO tech demo which we had around 50 people in simultaneously with combat, spells, quests, chat, inventory, zones etc. Took me about 6 months to create the client for. There were two other people working on the server, inventory and chat systems. If I had to do it all alone it would of probably taken a further 3 months of work.

    The MMO class has pretty much come to a screeching halt since I left and focus has shifted to other projects at the moment. Though it might pick up momentum again at some point. That project was being designed to a much larger scale. Some of the terrain R&D tests that I did where procedural terrains in the 100's of thousand of square miles that could be streamed in real time with no zoning. That system alone took me 8 months to build. Of course to be fair there was over 300 videos recorded documenting the process so that did slow me down quite a bit.

    Not trying to discourage you but the time it will take to complete the project as describe it will take years not months of work if you go at it alone. Yes it can be done if you dedicate yourself to finishing it and give up all your free time for the next couple years. Find some of the more professional looking casual games in these forums. You'll find even those with small teams have taken a better part of a year or more to make. Yet you will be trying to creating an entire MMO by yourself.

    One final thing as a reality check, the time I put in on the MMO class at 3DBuzz wasn't measured in hundreds of hours but in thousands. Just be very sure you are willing to put that amount of effort in or it will fail.

    Best of luck.
     
    Last edited: May 22, 2012
  19. AtomR

    AtomR

    Joined:
    May 22, 2012
    Posts:
    40
    I was also really surprised to read that solution in the IBM article I mentioned but here's what it has to say about it:

    "The Web server serves up Web services that can retrieve and persist data. This loose, straightforward coupling of the gaming clients and servers with a Web and database back end along with HTTP allows for an elegant, simple, yet powerful MMO game architecture. Conceptually, it might help to think of the architecture as composed of two overarching components: the gaming server and client providing MOG functions, and the additional Web and database back end that adds MMO game functions."

    [edit]
    Actually I didn't mention the article in this thread.
    http://www.ibm.com/developerworks/architecture/library/ar-powerup1/
     
  20. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    I'm sorry dude - but I disagree. It *IS* possible to make a MMO in the time he has, and I'll explain why:

    Exactly: An MMO is simply a game that has a lot of players in the same universe/instance [depending on how 'loose' a definition you choose].

    Imagine this:

    A game with an imaginary 'grid'. Each square on the grid contains one of the following:

    • Empty Space
    • Player Ship
    • Asteroid
    • Space Station
    • Planet

    The game is 'turn based' - where the player can only move squares in discreet units [i.e. square by square]. Say the minimum 'move delay' is 1s, but due to the time of various actions the player might only average one movement action per 30 seconds. Actions might include: charging engines, mining asteroids, attacking adjacent cell, docking with station, performing sensor sweep, etc.

    You would also have ship management, intergalactic trading system etc. to keep the player occupied.

    Why is this design good?

    Because the entire game data can be mapped to a DB very easily, and the interactions between items are trivial. You could build this using nothing but a DB and some Restful HTTP servers. The basic infrastructure would be a dozen lines of code. If you ever reach a performance limitation - just add in more servers! Everything is inherently scalable and that work has been done for you already!

    This simple system could easily manage 10's of thousands of CCU. Remember the goal here is to build a program - not necessarily get the millions of players :p

    So yes, it's entirely possible to make a MMO in a few months. They key is knowing what is and is not needed.
     
    Last edited: May 23, 2012
  21. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    Good point! Most ppl confuses MMO with MMORPG, its not the same thing.
     
  22. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    NPSF3000: Until there's actual proof of someone building an large scale multi-player game by themselves, I just do not agree with you. And claiming that the system you described can support "10's of thousands of people" concurrently is just wrong.

    The closest I've seen a small team come to building an MMO is the guys behind "A tale in the desert", and that is seven people that have spent countless of hours between themselves.

    And to the people saying "build a small-scale MMO", the point is that if it's "small-scale", it's not an MMO any more. Anything <= 64 players you can just use standard FPS techniques for state syncing, and it should run pretty well. There's little challenge in building something like that, the whole "problem" with MMO's is the N^2 players problem, and what happens when you have 512 players which visit the "Main city" at the same time.
     
  23. AtomR

    AtomR

    Joined:
    May 22, 2012
    Posts:
    40
    Isn't this also achievable with Photon? What I was asking for was a solution where the the server had native access to the geometry info of the world. Apparently the only solution is an expensive one.

    Indeed. In no point did I mention an MMORPG but overall the features would be very similar with shared big world, inventory, attacks, instances... But the focus is on platformer and puzzle solving and not combat system although it would preferably feature enemies and combat but tbh not necessarilly.

    Thank you for all your sugestions. I will look over each and every suggestion and try to find one that best suits me.
     
  24. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    The only other solution which does this is my SlimNet Server, based on the Lidgren UDP library. It allows you to run a server both inside unity using -batchmode, or run it outside of unity as a stand-alone executable. The code is currently in beta state with a pretty restrictive license, but it might be worth checking it out: http://forum.unity3d.com/threads/132170-SlimNet-Public-Access

    As far as I know it's the only server solution that allows you to choose if you want to run it as a stand alone exec, or embedded inside unity for full access. It also supports simple collision detection even when running in stand-alone mode.
     
  25. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    There are plenty.

    I believe Dead Frontier was done by a one man team - possibly with some art help.

    A lot of people have chipped in here and there, but it’s not really what you’d call a proper development team. Essentially, I do 99% of the programming and hire out various contractors for stuff like art and sound. My server admin Matthew helps out with a bit of programming every now and then too. My brother Ian does support, and my dad helps out with marketing. I tend to put everyone who has ever contributed in the credits, even if it was quite small, hence the big-ish list of names.

    Take a look around at 'Browser Based, Text Based Game' - there are several examples that I've played [back in the day] that I'm pretty sure were one man gigs.

    Why not? While I've not actually taken it to completion [I'm following my own advice and starting with smaller, simpler games] I can't see any fundamental limitations or complications. The code is very simple. The scalability and throughput of the components have been tested and found capable by some of the biggest names in the web business - we're just presenting a different UI.

    The only real problem I foresee is actually getting the players - something that an academic project doesn't have to worry so much about.
     
    Last edited: May 23, 2012
  26. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    Possibly with some art help? None of the art was done by him. None, and he has help from others as he stated. It's not a one man gig, ever. I've yet to see one guy build and MMO from scratch.

    We're not talking about text based games here, we're talking about a 3D MMO as stated by the OP. If there was one thing that might be doable, it would be a text-based one, as it only requires you to be decent on one aspect (programming) and maybe story telling to get people, but that has nothing to do with scalability.

    Have you actually tried having "10's of thousands" of players on your system? If you have, I would love to see the proof of this, as it would be quite huge and open up a lot of possibilities for other people if this is a proven tech, until you actually have please stop touting it like it's something that you know works.
     
  27. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    There is only one 'MMO' that was basically a one man gig and thats Minions of Myrth.
    But that one man had a pretty good grasp on various things, relocated into a crap cheap area to be able to pay his bills and worked on it basically day and night for 2 years and even MoM is hell far from MMO as its server load gets insanely high with rather little user numbers already beside being a hell to maintain and expand (Torque MMO Kit is or better was Minions of Myrth without the game assets and it was not flexible in any form anymore, you could do exactly what it did and add new content towards exactly that)

    so be aware that trying to go there, a real MMO, not a social MMO, is a major effort and if you don't have a solid background you can easily assume 2-3 times that long to get it working right, or basically 5+ Man years @fulltime of work.

    I can't decide if you are capable of creating it but the note on the IBM MMO tech series does not really imply it as you would have spoted its major fails too if you had (its great for Phatansy star online games or guild wars where you are in instances for the actual game play with the 'MMO' part only being a glorified chat room)
     
  28. AtomR

    AtomR

    Joined:
    May 22, 2012
    Posts:
    40
    So when you say I will never be able to make an mmo by myself, are you talking about actually making everything from grafics to level designs, sounds, stories and quest etc etc. Alone? I'm not crazy to even consider that. My concern right now is to have sphere running around jumping on platforms talking and grouping with other balls. Nothing at all fancy.
    I'm just worried about the inner workings for my project.
    If, in the end, I can add some gold plating then I will but that's not a priority.

    I think you are being very anal retentive about what constitutes an mmo. So you say I would only be able to have <50 player per server. And that is indeed very small for an mmo but THEORETICALLY speaking, and given that my original architecture does support any number of servers just by turning a new machine on with a server running and adding it to the database, then it is indeed scalable to any number of clients. Is that the optimal solution, no, but it is a scalable solution.

    My teacher told me that I didn't need to worry about the server not being able to reach the hundreds in CCU.
     
    Last edited: May 23, 2012
  29. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    Then you're not building an MMO. And your architecture working in "theory" is not the same as in "practice". At least stop calling it an "MMO", If you wanna build an online game for <= 64 people, fine. go for it. But stop calling it an MMO and saying that you "can scale to any numbers of clients just by turning on a server". That statement in itself just shows how little you actually know about this.
     
  30. AtomR

    AtomR

    Joined:
    May 22, 2012
    Posts:
    40
    The http access to the database is easily enough replaced with a direct connection to the database. AFAIK, the dbms would still be the one dealing with concurrency and integrity. In any case, for the current academic status of the work it will suffice because it allow me to access the web hosting's database.
     
  31. AtomR

    AtomR

    Joined:
    May 22, 2012
    Posts:
    40
    Maybe, but if you never try you never learn.
     
  32. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    Whoa - what prevents the OP from having help?

    The OP is a one man band trying to program a MMO. There's nothing been stated saying he can't have help - particularly help that's not programming related.

    Read the quote:

    Essentially, I do 99% of the programming and hire out various contractors for stuff like art and sound

    3D means what? 3D space? Can be text-based. 3D rendering? That's just a different UI.

    3D != Real Time != Continuous Movement != Complex Physics != Complex Collision Detection.

    I know the theory is sound.

    I know there are mmo's today that work using these principles.

    I know websites using similar principles also use similar systems to deal with 15 MILLION users.

    Etc.

    I invite you to find flaw with my reasoning, or if you have potential markets for such a tech to talk business. For now it's just an interesting mind-game for me.
     
    Last edited: May 23, 2012
  33. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    NPSF3000: MMO by definition != complex physics != complex collision detection cause MMOs that require that need an order of a magnitude more cluster power, thats nothing most MMOs can afford. There is a reason why the large and successful MMOs are 'point and click' + action oriented and why 'Secret of Mana' realtime interaction MMOs are killed rather fast again due to not being profitable. If you can actually keep the game going at $6 - $8 of the monthly $15, you have a chance to ever make your money back, but if the hardware costs to perform the simulation force you into the $11+ range, you never will make the investment back and even less pay ongoing work into the future.

    Thats also the reason why MMOs tend to have wide scarse environments, allows the simulation to ignore most parts of the world directly and lower the calculation cost massively (instances are another thing that exists for this very reason, there additionally to lower the user / worldarea density in the really 'interesting' spots - next gen MMOs will likely somewhen start to follow EQ2s lead and instantiate the cities too if they want to get some real player density - I don't think any MMO beside eve can handle 2k players within network sync range ... and EVe uses the small nothing of a 1Tera Hz cpu cluster with I think 2TB RAM and tier 1 internet connections to facilitate its insance 60k CCUs)
     
  34. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    Sure, fine - though as it's a university project I would assume that paying someone to help you is out of the question (maybe the rules differ from country to country, but as far as I know that S*** would not fly where I live, etc.).

    Ok, so maybe i made a generalization when I said 3D, but when someone says a "3D MMO" today you can at least assume that it will involve graphics, and having graphics instead of plain text is a HUGE difference on the programming/networking side of things, even you should know this.

    The theory might be sound, but that usually doesn't hold up in practice. I'm sorry but if you have not tried to actually build this all the way through you have no idea what you're talking about.

    So you base your whole idea, and promise that it will work, on the fact that some other people have used sort of the same principles as you to build something which may or may not be what the OP or you want to do? And also, example of this?

    Example, please?

    The flaw in your reasoning is that you assume that just because someone else has built something with "sort of the same tech" as you're thinking about using you assume that it will work for you.
     
  35. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    On a side note, not even eve can handle 2k players in sync range. In the same solar system it should work (They did a test on Jita a while back), but not in the same grid. I might be wrong on this, but I used to keep very up-to-date on the state of the tech they use for EVE.
     
  36. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    So you can't buy any prefab assets or get any collab artists [particularily from the same uni?] Fine, then simple put in placeholder art and call it a limitation - after all he's developing an academic prototype.

    What differance?

    Code (csharp):
    1.  
    2. Psuedo Network Data:
    3. Player Y has Ship X79 at Position (10021,2319,-1500) with health 82%...
    Tell me now - is that game text based or 3D?

    I would agree in principle - but without even a single reason against it I find your argument lacking. Given your normal X, Y or Z MMO I can easily highlight problems - with this one I notice no-one can :p

    I'm explicitly telling the OP to reduce his project down drastically - and giving examples of what is potentially achievable.
    As I said - text based browser based games - e.g. OGAME.

    Foursquare.

    Nope, I assume that it'd work for me because it adds up. The traditional problems with scaling MMO's are:

    1) Complexity of resolving unit interaction [e.g. 10000 units fighting ontop of each other].
    2) Art asset creation.

    My approach manages those two effectively.

    The fact that others use similar techniques to solve similar problems just demonstrates I'm not the only one thing this, and that it works well.
     
    Last edited: May 23, 2012
  37. AtomR

    AtomR

    Joined:
    May 22, 2012
    Posts:
    40
    Actually I did ask that same question to my teachers on our first meeting and they said that as long as I don't hire in the area that I am being tested in (software engeneering/programming) then I am free to hire any help I want. Ultimatelly, for them, it's not about pretty graphics, sounds or even fun gameplay. It's about software design, project planning (that's gone to hell lol) following through what was origionally established and reacting to problems and proper documentation and reporting of the whole process.

    Thanks.
     
    Last edited: May 23, 2012
  38. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    You keep coming back to that you "assume it will work because of X". I'm sorry but until you've built it and actually proved that it works, I'm going to dismiss this as hogwash. And I assume you're never going to build it either, so let's just call it a day.

    I don't agree with you, and think you're ideas are borderline silly and you make to many assumptions, few people would label Foursquare as an MMO.
     
  39. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    Fine...

    I would suggest you're underestimating me just a tad - but my ego is not as fragile to be too upset at such eager rejection :p

    And I never said it was. What it does is it shares geographical 'achievements' with 15 MILLION players, storing billions of 'check-ins' and with peak traffic of ~2500 HTTP QPS.

    In a single universe.

    That's not the basis for a MMO?
     
  40. fholm

    fholm

    Joined:
    Aug 20, 2011
    Posts:
    2,052
    Just gotta reply to this ...

    No it's not, because:

    • Very little data is shared between 'players'
    • What data is shared can easily be sharded before-hand on some parameter such as city or country to give good locality
    • It doesn't matter if this data is several seconds, or even up to a minute late
    • Their calculations are incredibly simple, basically +1 counter and a ~255 char text field needs to be written

    Anyway, that is all from me.
     
  41. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    All of which can be applied to a MMO.

    A MMO can share little data between players.
    A MMO can be sharded before-hand based on parameters such as city or country. [Or in my example space station, asteroid belt, planet or sun.] Furthermore shading while running isn't impossible either - I believe foursquare do this.
    A MMO can handle having data that's seconds, minutes or even hours out date. Not that it would need to occur.
    A MMO can have simple calculations.

    Thanks for playing.
     
    Last edited: May 23, 2012
  42. tigeba

    tigeba

    Joined:
    Sep 11, 2008
    Posts:
    70
    You can in fact design a game so that it is (relatively) easy to make horizontally scalable. If your game can be completely HTTP based with a stateless design you can just throw X number of servers at it to handle the load. When you are done with that, you essentially have to sacrifice a great deal of 'realtime' interaction because you have traded off latency for horizontal scalability. The more information shared between players, the more difficult it becomes to design your game with a stateless architecture. This generally means you either design for very limited interaction (Facebook type games), latency tolerance ( Turn based ), or some combination of the two.

    Just to relate it back to the Foursquare example, a realtime game might very likely exceed 2500 'QPS' with just hundreds of users, and the tolerance for latency will be vastly different. Also just to be pedantic, the complexity of evaluating an 'achievement' in most contexts is substantially more difficult than displaying a checkin. I'm not in any way trying to downplay the complexity of creating a very large web site/platform, but the choices you make are quite different.


    I will leave you with a little puzzle. Why do WoW and SWTOR limit the number of players you can "friend"? Seems pretty arbitrary, right? :)
     
  43. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    Thanks for seeing my point :)

    The one thing I'd note, and this is speculative, is that horizontal scaling doesn't necessarily need to have huge latency impacts. As long as you limit the amount of possible interaction [e.g. no traditional physics] then you *should* be able to scale with minimal latency impacts. While I'm only thing about ~1s resolve time, there's no reason that couldn't be sub 30ms.

    Regarding your little puzzle... no idea I've never played those games so don't know the importance/functionality regarding friends.
     
  44. laapsaap

    laapsaap

    Joined:
    May 1, 2012
    Posts:
    12
    Why are people so pessimistic? And why is it impossible? This is not a indie mindset.

    When you use the term MMO. It seems like you are talking about MMORPGS with hundreds or thousands of players.

    If I make one map where 5 people can chat and fight monsters, I copy(shard) this a 100 times and link chat and stats together. Is this a MMO according you?

    If this was my school project and people telling me its not possible, I would definately keep this project. He doesnt need to make a full product, just a decent proof of concept.

    There are assets in asset store that can generated and populate dungeons, that might be good start.
    uLink trial is fully featured and free to use during development and because it uses unity3d physics system it will save you TONS of time. Chat and database features are also included.

    Prototype/Skeleton of a game is quickly finished, its the balancing and further gameplay/art that takes tons of time. Since he doesnt need those, so whats the problem?
     
    Last edited: May 24, 2012
  45. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    If you have less than 100 people in a single 'play area' it's very hard to call it a MMO.

    The key is 'Massive'.

    Merely having a small play area and linked stat's doesn't really qualify - many FPS's do this.

    I earlier mentioned Dead Frontier which sits right on the line on what is and is not a MMO. To be strict it's probably just a MOG, but they've managed to get away with the naming and as such could be useful precedence for OP.

    Many things people associate with MMO's - persistency, large worlds, clans, chat, fighting NPC's, grinding, quests, 24x7, etc have nothing to do with the definition - though they may be common features. Therefor a game with all those features, but without lots of players together isn't a MMO.
     
    Last edited: May 24, 2012
  46. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    Not exactly. Its about data and traffic there but even more so about discoverability cause the pm chat and notifications require cross server knowledge of presence of users which either requires a complex usage of a memory cache or hitting a database too regularly.
    In either case it limits scalability or raises the costs at very little gain beyond a 'climax point' where the costs for offering more friends does no longer equate in 'more hooked players' and thats after all the main target behind it.

    EVE Online is the only game that is capable of handling that on realistic or 'real MMO' scales (WoW has laughable per realm limits on CCU for a so called MMO) but their cluster cost more than all WoW europe realms together likely as already their latest addition, a HP 'wallstreet monster' known as Fleet combat node, already cost over 80k and its just one tiny piece in their 1 Thz computer power they need to power their 60k CCU single global server cluster ... soon it will likely be even more with Dust 514 entering that world too raising the ccu in the universe to several hundred thousand players


    @NPSF3000: your MMO definition is not the one that currently holds. Interaction and chat is no longer part of the MMO definition, its all about users in a single environment even if they do not interact in realtime at all. While primarily known like this for Social MMOs on FB and Mobiles, its not really different to what guild wars does for example.
    Shooters (beside the 2 MMOFPS I know of) don't fall under this as they don't allow communication in any form across all players within the platform itself. Take BF3 for example which can communicate exactly within your server and nowhere else, anything else is facilitated through Origin which is no longer BF3 space
     
    Last edited: May 24, 2012
  47. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    Either you misread me, or I made boo boo because I agree with what you said.
     
  48. AtomR

    AtomR

    Joined:
    May 22, 2012
    Posts:
    40
    A so called MMO? So not even wow qualifies as a real MMO? LOL i'm kinda relieved now reading that coz I'm ok with wow's faux mmo features :p

    Feels liks we're discussing semantics tbh. Each has it's own definition of mmo and argues that his is the real definition XD
    For me, an mmo is about the social interaction, the persistent world, preferably with a big user count so that the world is as alive as possible but 100 loud people make for a seemingly livelier world then 1000 silent ones, so it's quite relative.
     
    Last edited: May 24, 2012
  49. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    Well... are you doing marketing or programming?

    Edit: Responding to your edit :p

    Nope a MOG has some pretty basic requirements.

    It be Multiplayer.

    It be Online.

    It be Game.

    A MMO is the same... but it needs to be 'MASSIVELY multiplayer'.

    A MMO may enable social interaction, but that's not a requirement for it to be a MMO.

    Remember, you did not tell us you wanted to make a social MOG - rather:

    For my final project at university I chose to do an MMO

    Either you redefine your project [e.g. 'I want to make a MOG', or 'I want to market a game as a MMO'] or you rethink your approach.
     
    Last edited: May 24, 2012
  50. AtomR

    AtomR

    Joined:
    May 22, 2012
    Posts:
    40
    Touchet.
    But are you saying that implemeting a system that worked just like wow would be an academical failure? Or even a comercial one (depending on other variables)?

    Regardless of if it's an academic or comercial project it's would be kinda overkill to think i'd need that kind of scalability.
     
Thread Status:
Not open for further replies.