Skip to main content
GameDev.net gamedev.net
🔒 Locked 🤖 Godot

The truth about planning an MMO

Started by Slyxsith Aug 12, 2008 at 7:15 PM 16 replies 3.4k views
Original Post
Slyxsith
Slyxsith

I am writing this post as a suggestion to all of the people out there in indie land who are willing to take on the daunting task of creating an MMO. I appreciate this is the help wanted area and that it is not a recruiting post so if the moderators feel it does not belong here I completely differ to your judgement and apologize for the inconvenience. Personally, after being a member here for the last 7 years, I think it might help a lot of up and coming hobbiest developers to really show them what it takes to make a game work. For anyone planning a "Free-to-play" MMO can you succeed? Read on...

Can an indie developer make an MMO? - Absolutely. It has been done before. Very few times but it has been done. “A Tale in the Desert” is one that comes to mind readily but the one I know the most about is perhaps "Minions of Mirth" by Prairie Games and that is what I am going to talk to you all about.

Minions of Mirth is probably one of the most well known MMOs in the indie community. It is a fully customize-able game that even allows single-player/offline mode and is 100% stable and fully functional. It was created by Prairie Games in 2006 by a 2 person team. Josh Ritter created Minions of Mirth in a mere 11 months. Now before anyone goes running off thinking "Hey thats not bad I can make an MMO in 11 months and be rich!" lets get some facts straight. Josh is a veteran game producer and programmer who had no less than 10 previous successful game titles under his belt when he took on Minions. He is a coding and scripting dynamo and his ability to focus and produce would put alot of "professional"/industry developers to shame. As a partner in crime his associate for the Minions development was his long-time girlfriend and now wife who is an equally talented modeler and artist. These two trusted each other, shared a dream and shared countless hours of hard, devoted developer time.

Why does all this matter? Minions was released in 2006 for the PC and the MAC and quickly became an instant hit. I say quickly but it took a lot of hard work but in fact I don't think unless a person goes through a software launch they really can appreciate the turmoil and brutal nature of the industry "beast". Prairie Games, being one of only a handful of truly successful unfunded indie MMOs is an example to us all as to what CAN be done but it can also serve as a warning as to what can happen if things go awry or are not planned out effectively.

Minions of Mirth was based on a one time fee that allowed people to play the game forever on the minions servers. PG also encouraged a strong "modding" community for their game that had people running their own Minions game worlds all for the price of the initial game purchase. PG repeatedly defended their pricing structure saying that MMOs could be done without a monthly fee. The Minions project has now fallen on hard times. Josh and family are no longer a part of PG and what was once a shining example of success has become a lesson in hard knocks for us all to notes from. This has been done succesfully (some would argue) by companies like Blizzard (With diablo) and Guildwars is an obvious comparison but those companies DID have revenue streams that worked for them. they paid for their servers and their dev teams with updates, upgrades, expansions etc and so forth. Unless you have the money you simply can NOT run a bank of servers and pay for the bandwidth. It's impossible.

Let me give you an example: - I was actively involved in the legal proceedings during the bankruptcy hearings for "Horizons: Empires of Istaria" (Which is making something of a comeback btw and can be checked out at www.istaria.com) and even though at launch they sold less than 30k boxes, a year later when they filed for bankruptcy do you know what their bandwidth costs showed on the legal documents? Nearly 30k a month.. for a dying MMO with reputedly less than 5k active accounts at the time. What does all this mean to indie MMO developers? It means you need to THINK.

- Think - about what you are attempting to do and how it will scale. Do you know how many actual physical "server" boxes you will need to run for a production MMO?Depending on your world engine you might getaway with 5PCs at the start but most likely you will need more than 10.

− Think − about the size of your client data stream. How many kbps per client are you chewing up in both upstream and downstream and what kind of burst traffic patterns will your game experience. All of these things cost money and although your ISP may let you get away with it for a month, maybe two I assure you the walls WILL come crashing down around you.

− Think − about all of the hard work that you are asking people to pour into your development and where will all that work go when someone flips the switch off to shut you down or you simply dont have the servers to handle the traffic. You only get one chance generally with MMO players today. There are simply too many games for them to choose from and if you show them that you arent capable of running yours they WILL move on without a second thought.

Are you saying that Free-to-play can′t be done?

No I am definitely not saying this. I think I gave 2 examples of free to play platforms that were pretty wildly successful in their day. What I AM saying is that of all of the indie MMO developments that −DO− succeed (And we all know how stacked the odds are already against that happening) it would be a terrible tragedy for the whole community to see those few flickering successes get taken out by bad financial planning or a bad business model.

Guys and gals what I am asking you to do is this:

Before you write "f2p" or non−commerical or anything else down in your design document please give it some thought. Someone is going to have to physically pay money for servers and bandwidth and contrary to what you may think, your $10 or even $50 a month web hosting package isn't going to cut the mustard. It costs thousands. Have a plan, use that plan.

Are you saying I shouldn't even start my MMO if I dont have financials for an MMO? No I am not saying that at all. As long as you PLAN for it. Use your development as a "proof of concept" to present to a financial backer. Use it to get a loan. (Very hard to do these days btw) Use it as simply a learning tool to enhance your skills and learn to work with other people in a development environment. <<-- probably the best thing you will ever get out of your indie MMO.

All of the above is important when you are looking to create the "next big thing" in MMOs. We all know the percentage of games that actually take their dream to completion. It's a fraction of 1%. I felt prompted to write this because as of very recently the Minions project is really falling on some hard times and really it's a blow to all of us to see one of the 1 in a million successes flounder due to poor planning. I dont claim to have the answers, if I did I'd be writing this from my own yacht anchored in my own harbour on my own private island in the Caribbean. Instead I am sitting here in an 8 year old beat up computer chair typing this from my basement where I feverishly work on my own gaming project. :)

Don't let poor planning derail your dreams guys. Always have a plan "B".. I hope someone may find this helpful.

Mark MacPherson
Flybynight Studios
: Owner
Current Skillsets: Project Manager - Team Lead - Scripter - 2D Artwork - Basic 3D Modeller - Web Development - Marketing - Administration
 
Cubia
Cubia
This has been very insightful.

Thanks for sharing.

Still, it surprises me how our team has gotten so far with a $0 fund, and barely anybody who will take pay for the work (in other words, WANT to work for free and demand no payment.) I guess the passion is what fuels them and the promise of a very exciting and enlightening experience.

I hope to link this to some places on the team's forum. Very nice information here.

Cubia, project manager
Team Twilight Children
deathtojohnny
deathtojohnny
You have a basement?? You rich bastard.


Joking aside-- this was very informative, and I appreciate you typing this.

To be quite frank, though, I am starting to detest the idea that all these upcoming indie games are all MMOs. Worst of all-- they all play the same and have similar designs. Where's the originality?

=============================================MEGA MAN EVOLUTIONMy first project was re-designing a dead franchise. Copy/paste the link below into your address bar for a video sample of the gameplay.http://thedelusionaldreamers.com/video/mmevid.html
Slyxsith
Slyxsith
Hey Johny :)

Actually it's funny. It takes -SO- much work to get a real MMO client/server platform developed that once you do get there you'd think people would be excited about being creative with their new found "world". I agree that there is very little thinking outside the box when it comes to "MMO"s today.

Do I claim to be different? Meh. I have one big blockbuster (at least I think so) thing going for my world design and that is the dynamic world AI. For as much as gaming companies today want to tell us who advanced their worlds are it is painfully clear that even among the professional studios we seem to be almost regressing in features instead of expanding. We've gone from seamless worlds to zones (UO to EQ etc) and now down to excessive instancing (DDO, AoC, Guildwars, etc). We've gone from creative excellence with the events of UO, Asherons call etc down to the completely static and 100% predictable nature of every single spawn in a game. It's pretty dpressing.

The World AI is something I came up with a few years back that really wasnt that hard to program and adds crazy possabilites to a world. It basically assigns "desires" to a mob faction on a ratings scale and sets "targets" for each of thsoe desires throughout the game world. These desires slowly adjust in real time as the world ticks away and mobs of particular faction "migrate" towards their goals. If these means building up a warcamp to take on a human outpost so be it :) It really adds a level of anticipation to the player experience in that you really can never be quite sure whats going to be happening when you log in. I am really looking forwad to showcasing this AI for beta.

Anyways glad you liked the post. I just find that so many people "want" to make an MMO but dont think it through. And seeing as it takes so much talent and skillset to make an MMO it would be a shame for someoen to invest so much of their time and the time of others without seeing the gaping pitfills of financial mistakes that those few peopel who do make it have succumbed to.

Good luck in your work.
Mark MacPherson
Flybynight Studios
: Owner
Current Skillsets: Project Manager - Team Lead - Scripter - 2D Artwork - Basic 3D Modeller - Web Development - Marketing - Administration
 
asp_
asp_
Free to play MMOs are generally financed through many micro transactions with dedicated players who want an edge. Having a one time, box only fee is probably worse than the micro transaction model where you buy items, power ups and so on. This is especially true for situations where you have a central server architecture instead of a peer to peer one. Guild Wars is probably the closest you come to a truly free MMO, even though it's so heavily instanced you might as well call Diablo II a MMO. Arena Net have done an incredible job though and I assume they stay afloat via the steady stream of expansions. The question is if they couldn't have an even better revenue stream with a subscription based model.
Azgur
Azgur
I'd like to add something about 'free to play/download' projects.

Many projects are setup as 'free to play/download' for obvious reasons. For many of these projects it's not realistic to consider making money off it.
However, you shouldn't rule out the possibility of making money off it.

Something I've seen happening before is getting yourself stuck in license issues. When you start, you believe any resource available for free is welcome.
However, unknowingly, by using various free resources you just threw away the possibility to ever going commercial (without violated various license agreements).
And even if you don't have the intention to go commercial, you can still get yourself in all kinds of licensing trouble.

When using any type of external resource (libraries, assets, sounds, etc), be sure to review the license. If you can't find it at first glance, don't use the resource till you're sure about the license.
If the license prevents you from going commercial or forces you to release all of your code and assets, consider if it's worth it and look for alternatives.

For example, 2 very popular licenses for 3rd party libraries are GPL and LGPL.
With GPL you'd be forced to release your complete source code and allow people to freely use that code under the terms of GPL.
With LGPL you'd only have to release any changes you made to the library covered by LGPL.

Don't get yourself locked in and be sure to always be aware of the various licenses in place for your project.
"Available for free" is not always what you think it.

Personally I believe you can't start too early with this.


@asp_:
Guild wars has a very unique and interesting model.
Imo, it's clearly not an MMO, but it does go beyond the normal online rpg's.
The really interesting part in their business model is the different versions of the game (excluding the latest expansion for convenience for now). There are 3 different versions you can start off with and you can supplement your game account with the other 2.

Unlike most rpg's featuring expansions, you don't need to start on 1 specific part. People are often put off from starting an 'older existing' game because of the amount of expansions they have to buy to just be able to compete with the rest of the players. Also, older areas end up deserted or less populated due to this structure as new content renders the old content obsolete.

Guild wars properly tackled this problem and gave players multiple entry points to the game making them more likely to buy the game.
And as extra, they don't cause old content to be obsolete.
A new version adds additional content rather than replacing existing content which is the case in most modern rpg's.
Remco van Oosterhout, game programmer.
My posts are my own and don't reflect the opinion of my employer.
Trentelshark
Trentelshark
Great atricle Mark, thank you for taking the time to write this up. On far too many occasions recently you see the inevitable post in a request for help on an MMO "this is going to fail why even bother". Now, as you said this is true the majority of the time; however there is never any backing to the claims and the team only views it as negative criticism which can inevitably hurt team morale. I like the spin you took on things here, being totally realistic while trying to point those working on the projects in the correct direction, and to see the risks and mitigate them before the issue escalates.
d000hg
d000hg
Quote:
Original post by Slyxsith
-Think- about what you are attempting to do and how it will scale. Do you know how many actually physical "server" boxes you will need to run for a production MMO? Depending on your world engine you might get away with 5 PCs at the start but most likely you will need more than 10.
I deny that. You should be able to support a couple of thousand simultaneous users on a single PC, including both the game and DB. 5-10PCs is pretty big for a game just launching... one dedicated top-spec DB server and one or two dedicated mid-range game servers would be a lot of power if the server isn't really CPU-hungry.

Slyxsith
Slyxsith
Intresting d000hg. What are you basing those numbers on I wonder? I dont even know of any text MUD servers that can handle a few thousand users per physical server. Never mind an object based, real time, MMO.. You said in your post 3 servers.. I said possibly 5, more likely 10. so we are seperated by 2 server boxes and you say you disagree?

I am not arguing that you are incorrect on this but I think it emphasises an urban myth among indie "MMO developers". I have been developing network backends for almost 7 years and been a network IT admin for almost 17. I am unaware of any network middleware that can handle even the smallest MMO datastream (Say 3k async stream per client with bursts to 10k) with "thousands" of users on a single server. Hell, even Blizzard with world of warcraft spreads each "Server" across 30-60 physical CPUs. If Blizzard can't do it with their teams of hundreds of programmers I would say the chance for your average indie team to accomplish that feat to be a very lofty goal indeed.

To use my software as an example. It can support 100 persons per zone before latency starts to get a little thick. I can run multiple zones per server but the CPU useage will kill all of the zones once it hits capacity. Since my services run in many threads, a Quad core server with 2 gigs of ram can run 4-5 "zones" quite well. However if I had a single zone capped at 100 players it woudl definitely affect the performacne of the other 4. All of the AI decisions being made every "tick" on the server also has a huge impact on how much "world" you can run per box.

I guess the bottom line of this is people developing an MMO should be very aware of their technology and it's limitations. d000hg, if you have technology that will allow you to run a 3D object based MMO with thousands of concurrent users per physical box, you sir, are very talented :) I did not mean this response to belittle the possability of what you are proposing but simply that it appears to reflect the unrealistic and currently unproven myth that people can run an MMO off of their home PC on their ADSL line. Trust me, if it could be done like that Why would blizzard be spending close to 40 million dollars a month on bandwidth, server farms and entwork administration?

Food for thought.
Mark MacPherson
Flybynight Studios
: Owner
Current Skillsets: Project Manager - Team Lead - Scripter - 2D Artwork - Basic 3D Modeller - Web Development - Marketing - Administration
 
Blake Rieger
Blake Rieger
Excellent post. I especially appreciate the industry stats:

"Nearly $30k a month.. for a dying MMO with reputedly less than 5k active accounts at the time."

Quite dire. It's hard to find clean information like that.

What are your thoughts on multi-player games using p2p networking to soften the server load?
Slyxsith
Slyxsith
Hey Blake.

Just a little clarification on those stats I gave. It is the opinion of a few people who have looked at the network backend of that particular MMO that it could've been done way more efficiently. Their datastream was just massive. Their dataflow on their server was also pretty messy. A significant portion of that $30k a month was on bandwidth costs. Well written datastreams can run for much less.

I am very ill-informed when it comes to P2P middleware. It has been used in some Asian "MMO" platforms from what I have read but I do not approve of it from a design standpoint. Various methods of protecting the data have been tossed around but the end result is you have clients sending packets directly to otehr clients. You simply can not stop the hacking, cheating and worst.. the harassement of other players. You have players able to packet sniff the IP of other players and from a legal standpoint that opens you up to a whole can of whooparse. What if someone harasses a palyer ingame, gets their IP, tracks them down via their ISP and starts harassing them/stalking them in real life?

Im not saying it cant or shouldnt be done but I simply do not see the merits of it. Especially not when you can police your data so much easier in a controlled environment.

I am open to others showing their thoughts on P2P MMO technology. I think peopel could successfully do this if they havent already but I personally rejected it as an option just for security/safety and potential legal concerns.

Good luck in your search for a solid project btw. It's a messed up jungle you are walking into haha. Nice portfolio by the way.
Mark MacPherson
Flybynight Studios
: Owner
Current Skillsets: Project Manager - Team Lead - Scripter - 2D Artwork - Basic 3D Modeller - Web Development - Marketing - Administration
 
d000hg
d000hg
Quote:
Original post by Slyxsith
Intresting d000hg. What are you basing those numbers on I wonder? I dont even know of any text MUD servers that can handle a few thousand users per physical server. Never mind an object based, real time, MMO.. You said in your post 3 servers.. I said possibly 5, more likely 10. so we are separated by 2 server boxes and you say you disagree?
I'm saying 3 would be enough to keep you going for quite a while, with backup in case one falls over. I really think one server can do it, although it is always preferable to have the DB running on its own server.

Quote:
I guess the bottom line of this is people developing an MMO should be very aware of their technology and it's limitations. d000hg, if you have technology that will allow you to run a 3D object based MMO with thousands of concurrent users per physical box, you sir, are very talented :)
I think you're being quite narrow in thinking about MMOs. If you want a realtime quake-style world then you do need a huge amount of power. If you can manage to have a game which doesn't require particularly accurate synchronization of all clients seeing exactly the same world, I think this requirement drops considerably. Other things like partitioning the world so that you are never directly interacting with more than a handful of players also have significant reductions.

I didn't realise we were talking exclusively about games like WoW... if we are then I agree with you. Otherwise, I think that through smart game design decisions you can greatly reduce the server/player ratio.

d000hg
d000hg
Quote:
Original post by SlyxsithI am unaware of any network middleware that can handle even the smallest MMO datastream (Say 3k async stream per client with bursts to 10k) with "thousands" of users on a single server.
I'm aware of middleware which claims to be able to support thousands or even tens of thousands of online players on a single high-spec server. The game I'm leading development on isn't released so I can't guarantee it, but I know there is at least one MMO with millions of users using it.

833
833
"Just a little clarification on those stats I gave. It is the opinion of a few people who have looked at the network backend of that particular MMO that it could've been done way more efficiently. Their datastream was just massive. Their dataflow on their server was also pretty messy. A significant portion of that $30k a month was on bandwidth costs. Well written datastreams can run for much less."

I can tell you for a fact this is very true having worked on the game myself (not the server code). The main database was a single table. The server code was designed in such a way that provided very advanced reports and lots of customization that were never used. The network side of things were a neat idea just not used as well as it could have been. Horizons is a poor example of how efficient a datastreem can be. No indy game designer team of 2 people could create such a mess even if they tried, you'd need at least 5 people trying to screw up to match it.
.833
Slyxsith
Slyxsith
Oooh 833 you have my attention now ;) I hope you managed to move on OK after HZ and are still working in gaming? Got a project keeping you busy atm? Stop by if you get a chance and let me know what you are up to.

And dh000g I will agree to disagree with you on the server thing. There is a big diff between "thousands of simulatenous connections" and "thousands of simultaneous datastreams."

I wont argue that things like a "flash" based MMO or web based MMO could support potentially thousands of users but I described a 3D MMO in my post and really I think that's what most of the folks here are working on.

BTW I think there is a lot to be said for non 3D based MMO projects as they ARE much easier to manage and produce than 3D based games. Exponentially easier by a factor of 50 IMO :)

Anyways, nice to have differing points of view in a discussion, thats what makes it intresting.
Mark MacPherson
Flybynight Studios
: Owner
Current Skillsets: Project Manager - Team Lead - Scripter - 2D Artwork - Basic 3D Modeller - Web Development - Marketing - Administration
 
Slyxsith
Slyxsith
Wow 833 I just did a huge double take.. The main DB was a single table?!! Holy crackers! That right there... that one thing.. explains the massive problems with scaling up that HZ had. Once it hit 300-400 concurrent players the DB lag would start to hit hard and at 500 players it would take 5-15 minutes for things to update. I am sure there were some cachign mechanisms in place to try and offset that but IMO that is a wild and crazy design for an MMO. The Biote #s were probably the keys for the primary Table as well. hehe very cool to learn all these little tidbits.

BTW not poking fun at people who designed that, Im sure they had their reasons and their work arounds for issues but even in my limited indie capacity I can see the pitfalls of that. I spent a couple years tyoing with differnt DB systems and caching methods trying to ease the querry load on my backend. Currently Im using a hybrid system with mySQL and SQLite. It's very strong. Err.. at least I think it is heh.

Appreciate you sharing that tidbit. Always like to learn from the mistakes of the past and that sure explains alot to me.
Mark MacPherson
Flybynight Studios
: Owner
Current Skillsets: Project Manager - Team Lead - Scripter - 2D Artwork - Basic 3D Modeller - Web Development - Marketing - Administration
 
d000hg
d000hg
I think this thread should be moved elsewhere? It's interesting and I reckon a bunch of people in more appropriate forums would have useful input if they saw it.
Slyxsith
Slyxsith
I wouldnt be adverse to it being moved if a mod sees fit. I wrote it mainly though to shine some hard, cold facts on what it really takes to run even an utterly basic 3D MMO. I thought it might possibly save some of the teams here in the help wanted forum from some dissappointment down the road or at least make them think twice about wether or not they could truely even host a basic MMO.

Some of the neat discussions in here though are intresting in their own right. I know cross posting is not allowed but if a mod wants to do it that is fine by me.
Mark MacPherson
Flybynight Studios
: Owner
Current Skillsets: Project Manager - Team Lead - Scripter - 2D Artwork - Basic 3D Modeller - Web Development - Marketing - Administration
 

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.