Intresting post about developing an MMO

edited in General
I found an interesting post about creating MMOs and, well, where the shortcomings come from, and why they are considered so complex but that they don't have to, necessarily, be done by a team.

Post on MMOs (Stack Exchange)

P.S. Please read more than the first couple answers
Thanked by 1Tuism

Comments

  • http://forum.unity3d.com/threads/195707-Project-B4-Fantasy-MMORPG

    Have a look at what this guy has done alone, it is honestly unbelievable
  • Mikdar said:
    http://forum.unity3d.com/threads/195707-Project-B4-Fantasy-MMORPG

    Have a look at what this guy has done alone, it is honestly unbelievable
    Looks pretty awesome, I'll have a look at the videos when I'm home though (hopefully my internet is back to 100% then instead of 10%)
  • I love all the solo keyboard warriors coming in after the numbers have been dropped on them and all saying "Well, if you scale all the problems down from astronomical to merely continent-sized, it doesn't seem like it's nearly as big!" with no actual grounding or experience to talk from. Continent-sized is still orders of magnitude larger than small-team-sized.

    Whenever someone handwaves a problem away with a glib dismissal that doesn't demonstrate any understanding of the real causes of the problem, you know it's not going to work. Some of those (like the :"Oh, just use AWS!" one) were pretty classic ;)
  • I kind of liked this post the most

    It's not so much hard to develop an MMO, as to develop another World of Warcraft. If you're willing to settle for only having a few thousand players, you can make an MMO, such as:

    A Tale in the Desert (created by one person)
    ATITD Wikipedia

    Sherwood Dungeon (created by one person)
    How one man made an MMO
    Maid Marion Wikipedia

    Runescape Latest Version (Originally created by two people. The original version was much simpler than the current version - it was improved over time, which took more people.)
    Runescape Wikipedia

    Golemizer: a free, browser-based, steam-punk/sandbox/crafting MMORPG. Developed by Dave Toulouse in 2008 (his bio says that it took him one year to make it).

    Kingdom of Loathing: another free browser-based MMO (apparently very successful).
    Interview: Seven Years Later

    I'm not saying that it was easy to make those games :) But it can be done by a small number of (skilled, dedicated) people.
  • Why did you kind of like that post the most?
  • edited
    Why did you kind of like that post the most?
    He points out that people have made MMOs with just one or two people, and so far as I can remember it's the only one to a give real world examples about them, but also points out that if you do want to create it as a solo/small-group game you will need to be very skilled and very dedicated
  • edited
    @Max9403: Be careful you're not self-selecting to prefer things that are going to open you up to survivorship bias.

    Pointing out that something incredibly rare does happen, doesn't help you replicate that thing yourself. Everyone always seems to want to believe that they're somehow the ones that are just about skilled and dedicated enough. The ratios of people who believe that vs people who actually do succeed are so tiny as to imply no useful correlation between the two.
  • edited
    dislekcia said:
    @Max9403: Be careful you're not self-selecting to prefer things that are going to open you up to survivorship bias.

    Pointing out that something incredibly rare does happen, doesn't help you replicate that thing yourself. Everyone always seems to want to believe that they're somehow the ones that are just about skilled and dedicated enough. The ratios of people who believe that vs people who actually do succeed are so tiny as to imply no useful correlation between the two.
    :D don't worry about that, the thing we are talking about the other day has been put on hold (I ironically happened across this while looking for something else, so sorry if it came over as a jab at you)
  • Yeah. Giving evidence of "it has been done" does not equate to evidence of "I can realistically do it". To quote the book He's Not That Into You:

    “We're taught that in life, we should try to look on the bright side. Not in this case. In this case, assume rejection first. Assume you're the rule, not the exception. It's liberating. But we also know it's not an easy concept. -He's not just into you”
  • Max9403 said:
    :D don't worry about that, the thing we are talking about the other day has been put on hold (I ironically happened across this while looking for something else, so sorry if it came over as a jab at you)
    No worries :) I didn't assume anything was a jab - just saw an opportunity to link to something that I think needs more mindshare as a concept in game development. Re-reading that article every once in a while helps me spot when I'm falling into that trap myself.
  • edited
    @Tuism following that rule how did people first get into coding or game developing, many people make games but how many can say that they can life solely of it
    (original: following that rule how did people first get into coding or game developing, many people make games not many of them are famous or make buckets of money)

    @dislekcia good ^^, as you probably guessed I like being optimistic (to a fault sometimes I guess XD)

    @dislekcia and @Tuism may ask what language you code or prefer to code in?

    I guessing there is a bit of a mix up here, I'll give an example, if you created a tick tack toe game and you have it play with two players locally, expanding it to allow people to play together on LAN (or even through the internet) is almost as simple as expanding the programs ability to send and receive data and exposing the ability to mark which has been selected, which might not qualify your tick tack toe game as an MMO but it's a basic example of how a single computer game could be expanded to be playable across PCs.

    For example coding methods for communication in Java is as simple as using sockets (can't speak for languages like C++ but I think you can use RAKnet? there) also when people mention a MMO the general assumption is made that you want some high functioning game, it doesn't have to be so, it can be as simple as having different balls rolling around the screen that each person controls. Like the people there said, it's not hard to code the basic fundamentals for an MMO (e.g. raw framework for connecting and basic communication, like a text MMO) but it is hard to create a MMO people would want to play (e.g. WoW with its thousands and thousands of quests, etc).
  • edited
    @Max9403: People made games by taking small steps on top of the smaller steps they'd taken before. I had the pleasure of meeting Steve Russel and Peter Sampson, next to an actual PDP-1 that was playing the game they'd built for it, Spacewar! (one of the first games). They kicked our asses at it. And then they explained how they made it - all small steps on top of previous small steps.

    The major thing is that those small steps each took an amount of effort, attention, skill and vision that almost makes a mockery of the size of that step. Almost. But only if we look back from our spots on the escalator that's been built over those steps and forget what it was like before the escalator, before the path. Before the mountain we're trying to climb was even known to be a mountain (and not, say, a hill or a pomegranate).

    And with our 7 league boots, we forget that we still need to take steps. We can run with the help of tools, but we can't jump to the top of the mountain... Running needs agility and balance and you have to know where you're going and be able to stop and turn around if necessary. Experience makes bigger games out of smaller games. Experience is what you get each step.

    ...

    And don't get confused between the ease of opening a connection between two computers and the complexities of what data you send over that connection. My first game industry job happened because I'd written a networked game (well, I'd managed to write a bunch of networked games and the most recent one didn't totally suck) so I got hired to build the multiplayer for a PSP game that was being ported from PS2.

    Every networking tutorial for games tells you how to connect machines together. Rarely do they tell you what you should send and, even more rarely, why. Some games are relatively simple, granted, but as soon as your complexity increases on the timing sense, even a little, things very quickly escalate - so many edge cases and issues are caused by trying to make two different computers share the same time progression.

    Those people who said it was easy to code the "basics" of an MMO, have you checked to see if they've actually written any MMOs? Are you making assumptions about MUD networking, or have you actually played with a MUD framework (DIKU is pretty nice to get started with, if you're interested - it has the best crash recovery systems I've ever seen) and messed with something that does fixed tick updates? I'm not trying to dissuade you with all this, just maybe point to the milestones along the path that you're not seeing right now - how else are you going to run it? ;)
  • hey guys a while ago when i was doing some research i came accross an MMo game engine... take alook.. HeroEngine

    if you dont know about it :)
  • That's why I said creating a basic MMO such as a text MMO is a lot easier than a MMO which works in a 3D world, in java for example this is all you really need to create a basic one where all you are sending is text (yes I know complex MMOs trim data to shrink data that is send) and a basic JFrame for taking input and displaying output. When you create a MMO such as data would be needed to test validation, etc that again is complex MMO where you are concerned about ping and other such matters but a simple one for example could be a 2D turn based battle system, it's turn based therefore ping is not a concern, now let's say it only has battles and no exploring simplifies it even more to the point where you no longer need to remember X or Y coordinates as all you'd really need is what action is used (and the server data is send to is in charge of calculating damage and would reply with player X damaged player Y with ABC doing ### damage, which I would simplify if message are to be shrunk to 0 (what it is e.g. attack, heal, forfeit, etc) 0 (player 1) 1 (player 2) 5 (ability) 300 (damage)) there are many facebook games which work with a similar mechanic (e.g. mafia wars, vampire wars and the list continues)
  • @Tuism following that rule how did people first get into coding or game developing, many people make games not many of the are famous or make buckets of money
    Not sure what you mean, you're implying that people get into games because they think they can make buckets of money from examples before them?

    IF that's what you mean (cos I really can't read anything else from what you're saying, and if I'm wrong please correct me), then you haven't read our very-important FAQ (http://makegamessa.com/discussion/749/read-first-the-makegamessa-faq#Item_1) :) Game dev is NOT a bucket of money goal. Game dev is a passion goal.

    And then the answer for how did people first get into coding etc was because they want to and they were passionate about creating engagement and creating play and blah blah. There are many reasons and no two person are the same.

    ------------

    I learned Game Maker starting from a year ago, I'm planning to move onto Unity. I'm by no mean expecting to "make bucketloads of money". In fact if I know that if I pursue this game dev thing seriously I can expect to be living a lot less easier than I am now for a long long time. And I'm kinda fine with that. But yea, who doesn't want to maximise their earning potential? Of course I'll make money if I can, and I want to learn how to make more money off this passion, but I certainly am not doing it for money.
  • *enters thread to read about making MMO games. Ends up branching mind into parallel universes with multiple endings.

    I can haz a MMO :P

    For real, one thing in this thread that I would like to know more about is @dislekcia and what it is that you ported to PS2 from PSP? You sound like a super interesting person sir!

    I was toying with the idea of having online play built into "my basic platformer," but never stopped to think about the actual work involved.
  • edited
    @Custard It's a good example of how making more complex games are becoming easier to make
    Tuism said:
    @Tuism following that rule how did people first get into coding or game developing, many people make games not many of the are famous or make buckets of money
    ... snip ... how to make more money off this passion, but I certainly am not doing it for money
    Actually that is exactly what I'm saying, I'm saying people create game because they want to not because they will make money, etc. (though thanks for pointing out my typo XD, I rephrased it hopefully it makes more sense now) however I've met plenty of people who say things like I always want to make games but it looks to hard, I can't make games I'm not skilled at it, etc but I've also seen people be pessimistic about what others want to do and say things such as you'll never be able to make a good game because others have made it already. So as to say what I'm saying just because it seems like a high end task in the one language, such as Game Maker which I so far as I know does not have much of a multilayer system, does not mean it is hard in another e.g. the main reason I got into creating an MMO was because in Java intercommunication was so easy to do which is also the reason I asked what your preferred language of coding was.

    A friend of mine is starting in Game Maker for a 2D game, while I have created a 2D game in Java using LWJGL (mainly just missing story line (have a very basic one)/art/level design but other than that it's fully playable), and the reason I'm saying that MMO development in it's most simplistic view is not that hard is because of my own experience (e.g. NDO has a fully working server which listens for commands through dynamic class loading lending it to easily become a text based MMO)
  • but for us to break the barrier and make a step in the world.... we are going to have to make games that are AAAAAA
  • @custard look at @Mikdar example where someone has coded a MMO for fun not for resale (so far as I can tell) and things that cost money can mostly be replaced with cheaper alternatives e.g. we used to run the ERS website of my ip instead of a URL, start with a small server maybe supporting about 10 people, maybe some close friends ask if they want to help invest in your game and see if you can then scrape together to make your server able to have 100 people and tell more people or take your game with to something like OC and ask if you can ask players to come test your game and run the server from your PC, invite people you meet, word of mouth is a very strong marketing strategy and best of all is generally free.
  • edited
    RickyGC said:
    what it is that you ported to PS2 from PSP?
    Final Armada. I-Imagine had built the majority of the game for PS2, then publisher-related stuff happened and eventually the game ended up having to have a PSP version too, or not get any further funding. A PSP version wasn't going to get greenlit by Sony without multiplayer, so they hired me to build that part of the game. @Angrymoose did all the porting pretty much single-handed, I-Imagine was very short-staffed at that point, so it was just 5 people in an otherwise large office. Delays in getting PSP devkits meant that I built the first version of the multiplayer on Xboxes instead :) (Sorry, this is an old story and it's been covered on the forum before, so I don't go into it much)
    Max9403 said:
    So as to say what I'm saying just because it seems like a high end task in the one language, such as Game Maker which I so far as I know does not have much of a multilayer system, does not mean it is hard in another e.g. the main reason I got into creating an MMO was because in Java intercommunication was so easy to do which is also the reason I asked what your preferred language of coding was.
    I built Monochrome in Game Maker. GM's networking is pretty robust, it's only a couple of commands to get a client-server connection going and it has P2P modes and automatic rehosting as well if you want. Sending messages between nodes is just as easy, it's more that knowing what to send and how is tricky. I used to give talks about networking theory.

    I totally get where you're coming from about more complex games being easier to make now and you're totally right. It's just that MMOs are not a great place to start with that logic - yes, they may be simpler to build than they used to be, but they still have many more problems than single-player, same-screen or even session-based network games. All I'm saying is work your way up to them, that's all. There are some pretty out there assumptions in this thread ;)
    Custard said:
    but for us to break the barrier and make a step in the world.... we are going to have to make games that are AAAAAA
    Eh? What's the logic behind that statement?
  • edited
    dislekcia said:
    Max9403 said:
    So as to say what I'm saying just because it seems like a high end task in the one language, such as Game Maker which I so far as I know does not have much of a multilayer system, does not mean it is hard in another e.g. the main reason I got into creating an MMO was because in Java intercommunication was so easy to do which is also the reason I asked what your preferred language of coding was.
    I built Monochrome in Game Maker. GM's networking is pretty robust, it's only a couple of commands to get a client-server connection going and it has P2P modes and automatic rehosting as well if you want. Sending messages between nodes is just as easy, it's more that knowing what to send and how is tricky. I used to give talks about networking theory.

    I totally get where you're coming from about more complex games being easier to make now and you're totally right. It's just that MMOs are not a great place to start with that logic - yes, they may be simpler to build than they used to be, but they still have many more problems than single-player, same-screen or even session-based network games. All I'm saying is work your way up to them, that's all. There are some pretty out there assumptions in this thread ;)
    That's why I said so far as I know (since I don't use it I just came across some articles about it at some point non really mentioned multiplayer systems but rather on a drag and drop tile system), I know what you are saying with the data exchange since you'd have to be careful that people aren't cheating and in what order you are receiving them (Java sockets use TCP) and that they have plenty more issues but an easy way of looking at it as if you are running the game its self on your server (or used for validation) and mainly using the client to show the data. I've mainly been basing my opinions on my own experience with networking or what I've read up about it, the background mechanics take the most time from my experience e.g. making sure a player isn't trying to open his bank when he/she is nowhere near one, that he/she isn't no-cliping, etc.

    Do tell me though where my assumptions are wrong
  • but for us to break the barrier and make a step in the world.... we are going to have to make games that are AAAAAA
    What does that mean? Please elaborate?
Sign In or Register to comment.