Jump to content

  • Log In with Google      Sign In   
  • Create Account





Why You Shouldn't Be Making an MMO

Posted by ApochPiQ, 07 June 2011 · 24,013 views

MMO MMORPG ArenaNet Guild Wars 2 career
Get some unsolicited advice from a guy working on a real MMORPG.


It's nothing new, this trend, but it also doesn't seem to be going away as quickly as most fads; perhaps we can accuse World of Warcraft for making this such a huge deal, or maybe it all goes back to Ultima Online and Everquest. We may never know for sure.

One thing is definitely clear, though, and that's that a significant contingent of people show up here at GDNet wanting to make their own MMO games. There have been many words bandied about in the past over this subject, and plenty of advice warning newbies not to get their hopes up when it comes to shipping a true MMO.

Sure, not everyone is committed to the RPG genre; some people want to make an FPS, or maybe even an RTS. Others might have even more creative and unique ideas for how their game should play. But the real issue here is not the gameplay itself: it's the MMO part. More than that, it isn't even the "multiplayer" or "online" that is really an issue - it's the "massive."

MMOs are expected to host dozens of servers running thousands of players apiece. Successful games may be played by over a million people; some notable ones are played by far more than that. Even a low-grade MMO serves a few hundred thousand players.

The Real Issue
This is the root of the problem, here, this "massively" multiplayer business. Because going from just "online" and "multiplayer" all the way up to "massive" is a huge deal. Serving a pair of co-op players is fairly easy; most off-the-shelf engines these days include at least rudimentary networking support, and it doesn't take a huge amount of network kung fu to get a co-op experience running smoothly for most game designs. Half a dozen players isn't a big deal, either, using existing networking solutions.

But it's a far cry from 16 people playing Halo on a home-rigged LAN to the kind of stuff a real MMO must cope with. Even throwing in something like Xbox Live Matchmaking is incredibly resource-intensive. Companies like Bungie have people whose full time jobs involve doing very little but making sure the matchmaking experience runs smoothly. When a major company has to employ people to do nothing but run their multiplayer system, you can bet it's a good sign that Little Old Joe in his garage or basement isn't going to be up to doing something similar.

But wait! Even running a matchmaking system for a few hundred thousand players pales in comparison to what an MMO must do. After all, a matchmaker simply needs to join up different players and get them running on a separate system (usually hosted by one of the players themselves, or maybe a dedicated server for PC games). If dedicated servers are involved, the matchmaker is often really just a catalog of what severs are running. This is the kind of thing that a lone wolf coder could easily accomplish on his own; something like Xbox Live matchmaking, however, is getting past the realm of stuff that one guy (or gal) could ever do alone.

So if a solo developer can't really hope to build, deploy, and run a large-scale matchmaking service, what about an MMO?

Well, let's take the demands of the matchmaking service and chuck in some complications:
  • Persistent worlds. You're no longer hosting a game for a few rounds tops; you're storing data on players and their every action in the game. This introduces all manner of data warehousing issues which don't affect non-persistent games. Even semi-persistent shard/instancing systems (say, like that used in Guild Wars) are pretty complex.
  • Active role in simulation. A matchmaker can often get away with having a player host the game, which is the typical approach used in console games these days. Matchmaking servers don't have to have any code besides the stuff that links people together, making the actual multiplayer portion fairly straightforward by comparison. Again, remember that for up to about a dozen players, off-the-shelf network code is often sufficient to get a decent game experience. It does require some skill to make it happen, but it's at least plausible that a single person (or a small team of people) could get away with building a good low-scale multiplayer game.
  • Massiveness. We're not talking about sorting through a few thousand people to create a 10-man match; we're talking about having thousands of people connected to a single server, all constantly doing things. Combine this with persistence and active simulation, and stuff just got a lot more painful.


Some Magic Tricks, For Your Amusement
Here's an educational homework exercise for you. Even better, it has a magic trick twist to it. Pick your favorite MMO, and go look up the game credits, either in-game or on the web or wherever. Count the number of people involved.

Now, don't tell me your number. Keep it secret.

Without talking to you in any way - hell, before you even do this exercise - I will know more about your number than you might be comfortable admitting.

In fact, I'm so sure about this number, that I'll even make you a bet.

I will bet you a beer (or suitable beverage of your choice) that you can't find an MMO with over a million players with a development team of less than 100 people.

Here's another magic trick. Go find the lead developers and senior-level programmers, artists, producers, musicians, and other high-ranking folks from your MMO's team. Now go find out what other games those people worked on before the MMO. Do the same thing for the less-senior guys as well; average up how many titles everyone has worked on in their past.

I will bet you a second tasty beverage that the average developer working on an MMO has shipped at least 2 games prior to shipping a successful MMO. Many successful MMO titles are even the results of collaborative efforts from dozens of people with prior MMO experience.




The Uncomfortable Questions That Must Be Asked
If a typical heavy-hitter MMO needs more than 100 people to make it, how is it in any way feasible for one person to do it alone? What about 5 people? 20? At what point do we "break even" and hit a level of team size that might possibly tackle one of these suckers?

In a similar vein, if the average developer is already experienced with at least a game or two, and maybe even a prior MMO, what makes you think that a total newcomer to game development has any shot at accomplishing such a gargantuan task?

And these are just the obvious, logical questions. I haven't gotten to the heavy stuff yet.


A Case Study in Real MMOs
Let's look at my current employer, ArenaNet, producer of Guild Wars and the upcoming Guild Wars 2.

The GW2 juggernaut employs over 250 people. The GW2 codebase is several million lines of code (I don't have an exact count yet; I might get around to running a full scan of the code and put together a snapshot of how big the codebase is later on). There are hundreds of gigabytes of assets, ranging from artwork to music to design documents to configuration files.

If that scale alone isn't enough to convince you that MMOs are out of reach for the Five Amigos, then let's talk business.

MMOs are fiercely competitive, and a cutthroat business. People are doing all manner of wildly innovative and devious things to make money in the MMO space, and most of them are failing. There are some fascinating studies of how people move between MMOs, and they tend to suggest that many people are constantly on the hunt for the next great big thing - meaning that they'll bail on a mediocre MMO in a heartbeat to go play something cooler.

Running an MMO is immensely expensive. Internet hosting and server costs alone can be in the tens of thousands of dollars a month range. Buying all the hardware you need to run the game up-front can be well into the millions. You need a dedicated datacenter for the endeavor, with redundant power, fire safety systems, industrial cooling, and hundreds of miles of both copper cabling and fiber optics. A single network switch capable of running an MMO backbone can cost ten grand by itself. And if you want a global reach, you'd better roll out a datacenter on every major continent, at the very least. Three or four per continent is more like it.

What about technology?

Graphics are amazingly critical. If you don't have a great looking game, don't expect to attract too many players. The MMO space more than any other genre is dominated by players who are into aesthetics and first impressions. A great game with bad graphics might still get some hardcore fans, but it'll never compete with a great game with great graphics.

If you're just a mediocre game, though, the prettiest pictures in the world won't save you, so don't skimp on other stuff. Physics is becoming increasingly relevant. Audio must be immersive and high-quality. UI must be seamless, well-polished, and intuitive.

And we haven't gotten to the networking side of things yet.

The client side is pretty easy; it just has to connect to a server and spam some packets back and forth. But the server itself is a place of truly dark voodoo.

I've spent a grand total of two days with my head buried in the guts of the Guild Wars 2 server code, and I can say this much: there's more going on here than any one brain can keep track of. The GW legacy includes some truly brilliant, genius-level programmers, and even they didn't pretend to know all about the entire system. Sure, most of the veterans on the team have a good high-level picture of how it all fits together, but the details? Forget it.

At this level, everything becomes important.

The difference between allocating space for a buffer on the stack versus the heap is a crucial design decision. Calling conventions must be selected with great care. Exception handling is nearly verboten, because it has too much runtime overhead and can create unpredictable execution flows in code that must run continuously for years at a time. One-byte memory leaks are show-stopper, can't-ship-the-game-like-this bugs - because that one byte will kill you when it leaks constantly for eight months. Microseconds of sloppily implemented code turn into milliseconds of delay when scaled across thousands of players, which adds up to lag - the number one evil of an MMO.

You'd better be a sheer wizard at lock-based concurrency, because the order in which you lock things might spell the difference between a happy server and a worldwide outage. For that matter, you'd better be a wizard at lockless concurrency too, because locks are often too expensive and too exclusive to scale to thousands of active connections. Memorize those atomic operations, folks, and if you still think "volatile" means anything useful, go back to Go and do not collect $200.

You'd better understand how operating system kernels work, because you'll be taxing the living hell out of yours. Your job will bank on you knowing things like pre-emptive multitasking architectures, monolithic versus micro-kernels, how kernel-versus-user-mode code works, and how schedulers are implemented.

Better brush up on your compiler theory, too, because you'll need to know exactly how your code gets converted to machine language. For that matter, you'd better know your assembly language and your computer architecture, too. Two or three clock cycles here and there will add up in a damned impressive hurry. Don't know what a superscalar CPU architecture is? Pipelining? L1, L2, and L3 caching? Don't know how a memory bus is implemented? Don't know the difference between a northbridge and a southbridge? Don't know the role of device drivers and how they work? Don't know where the network stack of your OS of choice lives and under what context it runs? Pack your bags and don't sell the bike shop, 'cuz you aren't cut out to be writing an MMO server.

It takes half a dozen dedicated programmers just to write the servers for Guild Wars 2 - and that doesn't include the people who wrote some of the legacy code we inherited and modified from GW1, or the people working on auxiliary support features like web sites, forums, wikis, and so on. It doesn't even include the network admins who build the hardware and maintain it, or the community managers who take care of ensuring that the experience is enjoyable for all the players.

The guys I work with are, to a man, incredibly good programmers. I'm still not entirely convinced that I'm cut out to be working with them, or on a project of this magnitude. It's without question an extreme challenge - but one that I'm tackling with gusto, because I love a good challenge. There's more brilliance packed into the room I sit in every day than I've seen in years in the industry, and I've worked with some damn good people in the past.


The Last Straw
I haven't even started to touch on content production, or quality assurance, or game design in general, or balancing, or audio, or art creation, or anything relating to administration and running a business. Those things are all major tasks, outside the already-mammoth enterprise of programming. I've focused on code because that's what I do, but it's by no means the largest, most difficult, or most important aspect of making an MMO.

So, hopefully, that gives you some idea of what you're up against when you waltz into For Beginners and say, "hey, me and my three friends from high school want to make the next World of Warcraft."

Sure, with enough time, dedication, and discipline, you might wind up on a team that does produce the next smash-hit MMO. But you'll probably make up around one percent of the workforce on that team. And you'd better be fucking good - and I mean that.

Please, in all seriousness, start with Pong. Make a good Pong game. Make a killer Pong game. But scheming to produce an MMO from your basement is a surefire recipe for harsh lessons in reality, and for failure. It would be a damnable shame to waste your enthusiasm and talent on a doomed foregone conclusion of a project.

Instead, go make something small. Make something cool. Make something fun. Then, perhaps, you'll see that the important thing isn't massive numbers of players, or huge server farms, or millions of dollars. The important thing is that you do something you really enjoy with your life and your time.


And if you're sick in the head enough to enjoy something like working on an MMO, come apply to ArenaNet. I hear we're still looking for a few good senior programmers.


POSTSCRIPT
Check out my responses to the comments.




Great post! Of course, it is completely pointless because the crowd you are addressing does not listen to reason :).

One of the biggest issue with most, if not about all of the MMO topic starters is that they are not actually planning to complete the game. They just come online with a cool idea, request a team of 10 programmers, 10 artists, etc.. They don't actually invest a lot of time themselves in the project. So in the end, there isn't a big failure, there isn't a big time or talent investment. And there are always new ones in line to repeat the process.

But yeah, that was not the most interesting thing about your post. I really love the insight you are giving about what is involved in MMO network coding. When I bought Guildwars I was completely amazed by how perfect the entire network solution worked. From the impressive content streaming, the incredible performance to all multiplayer aspects. It was and still is a work of pure brilliance. You must have some serious skills and knowledge to be working on that.

So yeah, keep posting about your experiences, and maybe enlighten us about some of the mentioned topics like compiler theory, it is very interesting!
I love this post, when I first got into game development as a hobbyist I too was bitten by the MMORPG bug...
After MONTHS of pouring through books about programming socket based clients and servers I finally had a server that clients could connect to and a client where players could move a little square around in my "world" and chat with each other.

After getting to this point I reassessed the amount of work it was going to take to get anywhere near my goal and it was outside the scope of my ability/time....
I think if I was still working on this project (Wow has it been 6 years already?) I might have something playable at this point.

But I am very glad that I abandoned the project... While I gained a enormous amount of knowledge in the process I think had I started a bit smaller, with easier to achieve goals, I would've had a lot more fun.

TLDR;
I don't think people realize the scope of the project.
I'm developing an "MMO" and there are three key things that I think hinder the serious multiplayer game developer (this post is key in what most definitely hinders the non-serious developers and people who have no idea what they're jumping into).

First is that the term MMO has been misused by all of us. I believe that most serious indie "MMO" game developers (like myself) don't truly expect to make a game that thousands of people play (although we all have our wishful thinking-it's not our logical goal), but to make a game that a handful of people, maybe even a hundred or two at max wishful thinking, will play. So when we say "MMO" we're all forgetting that some of us don't truly mean "massive." Perhaps more of us need to label our projects "MO" instead of "MMO," and that needs to start carrying forward for more indie MO developers to be taken seriously.

The other thing I've discovered sort of coincides with what DogmaDZ said:

"...they are not actually planning to complete the game. They just come online with a cool idea, request a team of 10 programmers, 10 artists, etc.. They don't actually invest a lot of time themselves in the project"

This ruins it for serious developers who actually DO plan to complete the game; who DO actually invest an immense amount of time, effort, skill, and money into it; and who DO genuinely understand what goes into it and aren't under any delusions; who DO have a plan. I, for one, DO, and I can't tell you how many times people have tried to grill me and discourage me to GIVE UP after they have seen all of the hard work, money, time, plans, etc. put into it, even after telling me things like, "you're a lot more serious than most people I've met on Gamedev," or "wow, you've thought out a lot more than most other people." I can't quite understand why anyone would tell someone who they feel is actually showing signs of progress to give up, other than this disease of good ideas with no direction leaving a horrid taste in everyone's mouth.

The third thing is quite perplexing to me. One of the biggest problems I've run across seems to be a catch 22. It's not the problem of finding people who are willing to volunteer or sign contracts or agree to profit sharing. It's this: People don't want to work on a project that isn't serious or going anywhere...yet people don't want to work on a project that is, because it's "too big." Well then, why are any of them in the game development business in the first place? When did this illusion of game development being a small project come to be? Any game, whether it's an emulator, a reboot, 2D, 3D, FPS, RTS, MMO, or even a basic calculator app for iphone is a big project. The thing that's even more perplexing is that every single one of these people I have come across has worked on previous projects that "died." Well, why did they die again? Because they weren't serious and they weren't advertised as big. No one is ever going to be successful if so many of these skilled people keep hunting for that unicorn in the woods called a small, 2 week MMO blockbuster project. Perhaps more serious indie games would be successful if the talent out there who claim they want to work on a game (paid, volunteer, profit share...all of it is affected) would actually commit to working on a real game and not a dozen fly-by-night projects a month.

So this all leaves me with a question: Where and how do you find those talents who are actually serious and understand that game development is a "big" project? Because it's certainly not on Gamedev.

By the way-small teams can very well produce successful MO games. It has been done. One of the best success stories is Minions of Mirth. The problem is finding people who want to actually invest the time it takes to do it, and to actually want to WORK at it. I've come across lots of people who think it's going to be all fun & games; who just want to talk about what cool things they think the game should do, but once they come across their first bug or their first task that takes a week to complete they toss in the towel. So yes, we do have talented programmers, artists, etc. but I have only come across TWO in the past 4 months who truly realize the scope of the project and are willing to commit to it. I've lost count of how many people seemed enthusiastic, were very talented, then jumped ship when they realized the scope of the project and the work that needs to be done on it. Wise of them perhaps? Well, everyone wants to make a game, but no one is going to succeed if they keep jumping ship.
Dragonfly3, you mention Minions of Mirth, reading on the company website:

Prairie Games, Inc.
Praire Games, Inc. is a collaberation of game, internet, movie and television engineers, designers and artists. Our talent have worked for some of the largest names in entertainment today, such as Microsoft, EA, SONY, SEGA, Activision and THQ.


This is exactly the point. It is not impossible, but it requires talented and experienced individuals on the job, full time to complete a game of this scale. This does not sound like a small team. You mention you are different, and that things are planned. But as a start you use an unproven mmo engine developed by a single person. What if this person decides to discontinue the engine?
Minions of Mirth was not always the large game & team it is today. It originally started as a small indie game developed by a husband & wife team. Just 2 people. It grew in success allowing them to turn it into what it is today. It wasn't always a big team of the best gaming experts in the field. It's indie success allowed them to grow it. So yes, it can be done. There are talented people out there who do not work for game companies. These gaming companies did not always exist and they did not always support the MMO world. They took notice of a small industry that they recognize they could capitalize on. MMOs today with EA & Blizzard are what they are BECAUSE of garage geeks.

DAoC was made by a relatively small team (compared to what is typically used on a commercial game today) who had never made a game with some of the mechanics it had, and had outdated equipment-they only expected about 5,000 people upon launch but got 20,000 and their server crashed. It wasn't always owned by large companies. It started small.

That's what successful businesses do & what makes them successful-starting small and growing.

Now you just proved my point about the sour taste in developer's mouth by knocking me & suggesting I have no plan because I am using a game engine that is not commonly used & that you obviously don't know much about.

You know absolutely nothing about the work I've done, what my plans are, what my GDD looks like, or what I've invested. You also haven't seen the games made with Esenthel. I, on the other hand, did quite a bit of research (8 months worth) & testing before choosing a game engine. Esenthel has been around since 2007 but only recently started adding MMO capabilities. It may not be the most popular engine used in america but it has been used & is a proven success in Japan. It's a very powerful engine & those of us who use it know it. Just because I'm not using UDK or Torque like everyone else doesn't mean I don't have a plan, as you suggest, nor does it mean my game is doomed to be an instant failure. I've worked with it almost a year. I know what it can do. I'm also active in it's community and have seen the projects that others have done with it. It is a proven engine, it's just not an engine that all of the not-so-serious "teams" use.

Again, you just displayed why it's so difficult for any serious developer or project to have a difficult time-because we are always lumped in with the 13 year old kids who have an idea, no skill, no money, & want to be boss; because we are always put down, ridiculed, and assumed to be unintelligent with no grounds for such assumptions.

I was contributing to this journal, like you, & it turned to knocking me. Why does everyone always resort to this instead of having a cordial discussion?

Regardless, I know what my project is & where it's going and that's all that matters.
Here is another point of view from another guy that made a real MMORPG.

http://duatiu.blogspot.com/2011/05/duatiu-faq.html

-= Dave
I've never tried to make a MMO nor do I have any desire to do so but I think the real issue is more to do with risk because...

ALL projects start out small.

I agree that it takes over 100 people to make a "massive" game of any kind, although, it's not like 100 people all decide at the same time to create a MMO. More likely it's going to be a small group of people that put together a prototype and when the project needs more people they bring them in. I'm sure this happens a bit differently within an established company that have already created large scale games before but the principle is still the same.

My point is, if you are willing to invest the time, money and effort into a project, start your own company and employ people to help you it could be done. The real issue is risk. Most people are not willing to put their money where their mouth is (probably because they don't have much of it). Big companies face the same kinds of risks, but they know the risk is reduced by already having an established team and lots of capital. Most of the time they got there by doing smaller projects and progressively growing.

P.S. My statements are in no way trying to defend my position.
I love how negative these forums get. I mean a lot of people deserve it, but that doesn't mean its totally true. I think the real point of your post is that, most people don't have enough money to compete with ArenaNet. Obviously, this is more insult to injury, as you're trying to compare companies with publishers with companies without publishers.

Big World Tech, Hero Engine, Esenthel, ect. I think you need to look on the internet and use search, you will find too many indie projects that have complete or incomplete mmog features. As for competing, its all about money and how you use.
I wish other MMO providers had equally good teams. All the ones I played (SWG, WoW, EQ2) have daily server restarts (I'm guessing due to memory leaks and AI getting into bad state over time, which I have seen plenty of btw). I've not played Guild Wars so I can't comment on its stability, but certainly the list put forth here is what you -should- be doing for a big budget game. When you're only designing for a few hundred things might be a bit different.<br><br>It's bad enough trying to make a small single player game with only 1 person!<br>

Minecraft is a good example of a successful MO created by one person.

But Minecraft isn't a MMO, so the points of the article still stand. Minecraft only supports a small number of players per server. Minecraft servers can support what? Two dozen or so players at once? The article is talking about games that support two million players at once.
Also, Minecraft is one of those runaway success stories. People always point out the rare successes as if they make the hundreds of very common failure stories cease to be true. Plus, the creator of Minecraft has a background of completed games from his previous job, not to mention worked on one of the multi-million dollar MMORPGs.

Yes, several people (even some GDNetters) have successfully made MMORPGs, and ORPGs. Also hundreds of people have failed to make those very same MMORPGs.

Is it bad to try something that's hard to make? Not at all, you'll gain experience from it. But it'd be downright cruel for us not to warn you about the difficulties.
What people want to do is make a MMORPG. 99.9% of them will fail. Of the 99.9%, how many give up and quit permanently? (We don't really know)
If we tell them to start small and work their way up, they'll have a better chance (in the longer run) of creating what they want, and are probably less likely to give up along the way.

You don't let a kid who just got his drivers license to race in a NASCAR race... he could seriously get hurt, and potentially hurt others. If that's his dream, great! But let's start by driving around the block at the proper speed limit.
Interesting article however ... a few points that have struck me as questionable.


Art ... if art was the sole reason someone played a game or not; and if it made that huge of a difference(as mentioned); what happened to EQ2? It was far beyond it's time with graphics and yet ... yeah well we know where it is now.

As for MMO's running several (I believe you said eight???) months at a time with the "one byte memory leak and it's a show stopper ... also said above, I don't know any MMO (I believe WoW is several times more "massive" than Guild Wars) that doesn't reset it's servers (down time) at least once every two weeks. Does Guild Wars really run for 8 months at a time without any "maintenance?"


Lastly as Dragonfly3 pointed out; there are several "indie" groups that have created such games (perhaps not MMO in the terms that you're thinking and then if so does anything really compare to WoW in terms of active players at once ? Is there a baseline that says "once you hit xxxx players online it's now a MMO? (If so please correct me). But as Dragonfly3 said, it is pretty sad that there are so many people on these forums that discourage learning, that discourage following or chasing after your dreams. It's pathetic really. What others do with their time, why does it matter to you? As someone else mentioned above also, if they are having fun (or even not at the "frustration points in programming"); who cares what they are making?

I admire teams like that who have took the plunge who haven't "thrown in the towel" and made games such as Minions of Mirth and Eternal Lands (I'm not associated with either project btw).



Just some food for thought... how many people laughed at Bill Gates? How many did this incredible company start with? *scratches his head*

http://windows.micro...windows/history -- looks like two people. And now Microsoft Employs 70,000+ people? Sure dwarves any MMO company out there that I know of. And I'm sure making a software company like Microsoft also dwarves making a MMO; but the point remains: Two people.
I'm sure there are many, many successful companies out there now also who started small (indie anyone? ) in a garage.


For the comment about a newly kid who just got his driver license driving a NASCAR ... when did programming become a physical situation where one could become injured or potentially (physically) injure others? Odd analagy but the point is to take it slow; that is understood but again, who are any of us to tell others what to do? What to dream? How to go about their desires? We should be encouraging them to follow their dreams, not to give up.


No one can however compare an indie team to one backed by a multi-million dollar company. Apple to ... seeds. :rolleyes: :rolleyes: :rolleyes:


I'm willing to bet a tastey beverage also that every single one of us attempted to "take on a task that was "too big" for us" .. and yet here are countless people on these forums who are saying "do as I say not as I do." So much can be learned from these explorations to push your limits. I hope anyone who is serious about any task be it making a MMO or whatever do not listen to such "nay sayers." Perhaps a better article would've been "Take Caution if your path is that of a MMO" and list all the potential complications.


To quote Scully from X-Files (Love this quote):

"That what can be imagined can be achieved. That you must dare to dream, but that there's no substitute for perseverance and hard work. And teamwork, because no one gets there alone."




TLDR:
For those who want to make a MMO (MO?) keep your motivation strong and know what you are getting into. Follow your dreams, don't let anyone tell you otherwise, but start slow; nothing is made over night or even years.
I'm not sure why everyone think it has anything to do with MMO's. Back in the 90's everyone wanted to make FPS's - because that's what the industry was making back then and those were the games that were successful. Today, it's the MMO's that are the games you hear about and that's why people want to make them.

An indie can't compete with AAA MMO's but they've never been able to compete with Quake or Doom either. They also can't compete with something like Mass Effect or Call of Duty either, even though those clearly are not MMO's.

Now you just proved my point about the sour taste in developer's mouth by knocking me & suggesting I have no plan because I am using a game engine that is not commonly used & that you obviously don't know much about.

....

I was contributing to this journal, like you, & it turned to knocking me. Why does everyone always resort to this instead of having a cordial discussion?

Regardless, I know what my project is & where it's going and that's all that matters.


We just have different perspectives. You started by pointing out your own case as a successful way to make an MMO, and how you are different. I just assumed that by including your own case in the discussions I was also allowed to respond to it. All I am saying is that I think that basing your entire business strategy on an engine that is built and maintained by a single person is a very risky business decision, regardless of its capabilities. You clearly thought that one line was offensive enough to start a big rant, so I am sorry if I offended you.
Ok for starters i'd like to say being in a company and yet being ignorant must be terrible.Not a flame just a opinion i find myself having to say alot as i read your post.You do not and i repeat you do not need 250 people to design a game or to even come close to making a game like company quality.

"I will bet you a beer (or suitable beverage of your choice) that you can't find an MMO with over a million players with a development team of less than 100 people."
You sir owe me a beer actually a life time of beer since you gotta swallow your words hardcore.Nexon a company is hosting a game called maplestory.Wizet started with less then 100 people,around 20~40 people just to design the pixels.Not many coders needed since they coded it in java. Now i can keep going saying there is more games that have more then 1million players active but i rather not take the time out of my day to make you feel more dumb then you already are feeling. I'll get straight to the point of what ill say now. Anyone is capable designing a AAA game,does not matter on how many people you need for your game but just the knowledge of how to work with the engine and the programs.Its time consuming with 1 person thats a no brainer but to say you need dozens and dozens of people is just plainly ignorant and grosses me out that you even posted that knowing full well that the engines do MAJORLY all the work.UDK can have a player v.s player of 128 so to say that you can only have up to 16 people playing against each other is just dumb you can have plenty more.Look up your facts please before you post a blog that will make people just put you in your place.Your not all knowing and i really dont understand how you got a job at any company with that mindset.
Well...there was a member here(Raduprv) that runs a free MMO(Eternal Lands). Whether you would call it "massive" is a question, however when I was working on it, it had 400-500 people online at the same time, and at some point afterwards it broke the 1K mark IIRC. It was made by Radu and his wife, plus any coding work done by volunteers after the client became open-sourced. Granted those numbers are negligible compared to AAA games, but we seem to forget that it's not necessary the goal here. As far as I know, the makers of Eternal Lands are making a living exclusively from the game(they have some pay-to-play features), and at the end, isn't that what indie is all about? They made a small game, on which they have total control of, and turned their hobby into paying work.

No disrespect, the article was great as far as giving us a sneak peak into the industry's real players(although Guild Wars is not really an MMO either, is it?), but sometimes I get the feeling that some more experienced members here seem to stray into telling beginners what and what not to do...a more balanced article by someone with your knowledge examining how to scale the MMO genre into a size that can be handled by an indie or hobbyist would be more interesting. You could say it's not worth the trouble...but indie developing is hard in general, and MMOs do have a certain appeal to many(not me, but hey). Just my 2 cents.
Very good opinionated post. We've been working and playing Face Of Mankind for over 12 years now. In the past there were thousands and thousands of unique players on a single world at a time. Now we have a few thousand unique players and still consider the game a success. We ended up taking over full development and upgraded the graphics a bit. Now we are introducing a cash-op based system into a fully integrated website, which we are planing to re-launch the game full retail in the coming months. There are many ways to produce a successful MMO and they all take time, but if you have the time to invest into your ideas then you can be very successful.

BTW our game runs on 2 servers alone. One located in Germany and One in the U.S. and all players are connected to a number of unique worlds at one time with no lag. Its a community ran game with factions and a government system with ranks in each faction. Different from many of the MMOs out there. It just goes to show that with the right ideas, a game can last for almost as long as you want it to.
@David Neubelt
Thanks for the link!!! That was so cool to see because I used to play S.C.A.R.A.B waaaaaaay back before EA ever picked it up. I was was working for a web design company at the time and during lunch and after work we would do LAN sessions and SCARAB sessions lol. I was a leader of one of the clans (KOR) that played regularly and was sooooo addicted to that game. I had heard that it was still running but could never find it. If it were still available today I'd play it! Graphics weren't the best in the world but it was incredibly fun!

It was also an excellent article to read and made some great points. Thanks again for the link :D
Very interesting post on the inside of an actual MMORPG developement!

As others have said, MMORPG is now effectively a "genre" and the term has become divorced from the original acronym. "Massive" isn't necessarily what people have in mind anymore, really they could use "Graphical MUD". GMUD sounds awful though, so I can't see it gaining traction (not that mo-mor-peg-eh sounds much better).

So, hopefully, that gives you some idea of what you're up against when you waltz into For Beginners and say, "hey, me and my three friends from high school want to make the next World of Warcraft."

I think most of your points would still be true if you replace "World of Warcraft" with Doom - Doom I. Beginners aren't going to create AAA games right away. Not now, not ever. Trying might teach them a lot though, provided they don't give up.

Personally I think that pointing people at something like "Eternal Lands" or "Frost wind" is better - it gives a realistic sense of what might be achievable for a small team or one man - even these require experience though. I think expectation management is what is required, rather than dream crushing (it is the same thing really, but people will take it differently).
IMO, saying things like "make a killer Pong game" is not the correct way to encourage budding game developers. Because most of us would have never settled for that, nor should we. It's one thing to tell him he can't make a sort of game, like an MMO, that by nature requires a massive dev team. It's also fine to tell him that he shouldn't try to roll his own engine just yet (been there, done that).

But what you can't do is tell him that he'll only be able to start with Pong, because that implies more than you think it does. Perhaps you indeed accept that a novice game developer should not be aiming higher than that in terms of technological difficulty. And I don't think that's fair given what Mojang has done. Or what Id Software did (and I don't mean with Doom...they were an established studio well before that). Or what great tools Epic and now Crytek are beginning to provide for those who don't want to worry about coding entirely from scratch.

But even if you accept that, saying that someone should make a great Pong game also limits them creatively. It says "you should try to fit the mold of what's already been done years ago" rather than "you should try to take something easy and turn it into something awesome using a simple but ingenious and original gameplay mechanic." And while I will concede that most newb game developers aspiring to make the next Warcraft probably do so because they don't have a lot of other ideas of the sort that could actually work, that sort of misguided rhetoric is simply wrong.

And I do think you can definitely create an AAA-quality title, you just have to have the right artists. There are plenty of mod teams who've come very close, only that their general vision was untenable, and they were in some cases limited by engine technology. These are people who understand that it's not about recreating something that already exists, it's about building something completely new from spare parts and various influences and giving it shape.
I do my own artwork, and it's on par with AAA artists. I use mudbox, zbrush, 3ds max, and photoshop to make my artwork. I have experience coding many emulated works ranging from Lineage 2 to World of Warcraft. I've coded emulators from scratch, I've coded on various game engines ranging from Unity to Cryengine 3. I've made chat applications, and cleaned the floor with my own Steam Clone network idea.

This is impossible to the OPs eyes, and because he is so blind he insults ArenaNet. It sickens me that he assumes my budget and artwork are below substandard as his is. He was hired by the company out of desperation, as they needed anyone with a certificate to help complete the project.

My budget is in the 7 digits, and is being funded by online distribution publishers. My main companies plan is to fuel development of the mmorpg that we plan to create by making smaller games and releasing them on Steam.
I've had the MMORPG bug for years. I know realistically to build one as the author mentioned takes a large team. I am fairly knowledgeable in many of the more technical topics the author mentions (Platform Arch, OS Kernel, concurrency, performance programming, 3D graphics, security, etc). Personally, I am just hoping to build out enough of my engine to start down that path. We'll see where life goes from there. No illusions about doing it solo. Been in the trenches for over 18 years (mainly performance, security, graphics, networking and systems). Either way, it will be fun working on the system.
Comment responses have been posted in a follow-up journal entry.

Thanks to everyone for your feedback!
I'm still really new in game development (been playing with ReactOS in my last job, now studying and learning gamedev) but AFAIK most of skills you mentioned about are necessary to make any serious game... bah, any realtime application. Besides of them, i don't really know why north/south-bridge existance should be a concern for a MMO game developer (not like i didn't tried to program south-bridge myself).
The only real blockers i see here are lock/concurrency and art which for second i believe got the solution.
As others have said i believe almost none indy developer trying to make MMO is believing he will have thousands of players in let's say a year. Although, having 5-10-20-30-50-100 players by working iteratively on your big goal is highly more rewarding than writing 'killer pong games' which doesn't interest author at all.
To sum up, i'm highly tired by all this 'advices' - "You can't do that", "No way", "You're insane". There been enough of them to undestand that MMO is really big goal, so pretty everyone got small evolution plan for his project.
Finally, i'll blindly follow my dreams apart of being ashamed by professing "I'm going to write an MMO" and hearing "Oh no, next one". Furthermore, I'll be glad to hear about other blinded.
I dont even see the point of discouraging newbies from attempting MMO's. Let them try, see how far they will get.
In the end they will most likely fail, but at least they will learn two things: the amount of time and effort required for
an MMO and some game development skills.
Here's a question I'd appreciate an answer to. I'm building something like this, but alot smaller than an ordinary MMO. In fact to be truthful, I would ever want a maxium of about 200 players, absolute tops. Not looking to make big bucks just a small wage really.

Within the next 2 years I'll be starting on the server stuff, and yes it looks scary, but I've already conquered things I thought I never would.

Given that I do have lots of free time and drive, and yes I would a very limited life compared to others how realistic is it to get this run safely? Is there any huge big incredibly long boring books for only the dedicated out there which can teach you server technology in a raw and nasty way intended almost to put you off? I like books like that. The one I'm reading at the moment is 900 pages long, I've cleared 500 pages of it and got all accompanying code to run in 4 months.

I've bookmarked this article, as I like stuff which injects a healthy and very painful dose of reality into the territory of my dreams. I'd be most grateful for a reply, of any kind - thanks :)

Here's a question I'd appreciate an answer to. I'm building something like this, but alot smaller than an ordinary MMO. In fact to be truthful, I would ever want a maxium of about 200 players, absolute tops. Not looking to make big bucks just a small wage really.

Within the next 2 years I'll be starting on the server stuff, and yes it looks scary, but I've already conquered things I thought I never would.

Given that I do have lots of free time and drive, and yes I would a very limited life compared to others how realistic is it to get this run safely? Is there any huge big incredibly long boring books for only the dedicated out there which can teach you server technology in a raw and nasty way intended almost to put you off? I like books like that. The one I'm reading at the moment is 900 pages long, I've cleared 500 pages of it and got all accompanying code to run in 4 months.

I've bookmarked this article, as I like stuff which injects a healthy and very painful dose of reality into the territory of my dreams. I'd be most grateful for a reply, of any kind - thanks :)


You could probably pull it off. 200 connections isn't prohibitively hard, but it will take some craftiness and some study to get it stable.

Look into Networking Windows 2nd Edition and the Windows Internals book(s); they'll give you some guidance on stuff like IOCPs and whatnot which are central to building scalable servers.
I totally agree with this article but when people say an indie game can't compete with something like Call of Duty I have to disagree. I have played many Indie FPS games that blew the socks off of Call of Duty. Part of the reason for this is because a lot of AAA games are nothing more then a franchise anymore with no innovation so it is like playing the same game over and over and over. Thank god for companies like Arena Net who have no fear in changing long standing mechanics for a over saturated genre. Same thing with CPP and eve online grats to them for putting there asses on the line trying to do something different for a change.
I made an MMO (area) server that handles 12000 players on the same server.
Proof: http://www.next-gen.cc/uploads/2010_5_25_23_37_39_report.txt

The test ran for 30 seconds, 12000 clients were connected on my LAN to a connection server (1 Ghz Celeron, 512 RAM linux) which handles the communication with the area server (2.2 Ghz AMD Phantom quad core, 8 GB RAM).
The players were simulated tcp clients, were split out evenly through out an area of 10x10 square kilometer on a grid with 16x16 quads (each quad 625 meter). This is roughly 46 clients per quad.

The clients were moving around randomly in the world, changing their speed and direction, each client request resulted in the message being also send to everyone else in the same quad.
Thus about 3.2 million messages were handled during 30 seconds, the average response times where with response times between 10 and 20 milliseconds., measured as time it takes from the point where clients send message to server, handled in the server and arrived back to the client.

Of course, real gameplay features would show less impressive numbers.
The key to making concurrent, scalable low-latency server is:
Write server in a language with good support for concurrency
Make sure your server can scale horizontally
Avoid DB reads and writes at every cost, do not design your server around the database, (do not use DB to help you scale horizontally). The database in my opinion, is not the heart of your system, just an junk yard were you dump things for later retrieval.
I also want to add that I with 20,000 connected clients, I had response times closer to 150-200ms, at 24,000 clients I started to get server time outs and response times well over 2 seconds.



That's great, thanks alot puts my mind right at ease and gives me a good educational material starting point too! I don't mind chasing things that are almost impossible, but I definitely don't want to chase anything that's absolutely impossible :D

Thanks so much for this gem of wisdom :)

December 2014 »

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
28 293031   

Recent Entries

Recent Comments

PARTNERS