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

Lets talk about MMO development...

Started by jakt Sep 23, 2008 at 12:44 AM 60 replies 13.7k views
Original Post
jakt
jakt
If I had to quote one piece of advice from the community that I heard most often on MMO development, it would be "DON'T DO IT!". People give reasons like, "You will need server side programming knowledge", or "It takes millions of dollars". I am wondering how accurate these assumptions are. Many suggest making a single player RPG instead. Is a single player RPG really that much less complicated than an MMO? Lets say you have plenty of server side programming experience (as well as client side obviously), a team of 20 or so people willing to dedicate a few hours a week to development, and strong leadership. Is it really so impossible? One thing I am not understanding is where all this money is going to be needed. There are so many open source tools today that software is not an issue. Any decent game that someone wants to make would need volunteer work done. Of course a person interested in creating a game that is not sponsored by a publisher is not going to pay its developers. That leaves what...server cost? Dedicated servers are not that expensive. Surely not millions of dollars. Sure, professional studios spend millions of dollars in game creation because they need it done fast. They need to be able to pay a team of people to allocate 40 hours a week to working on their game. If you want reliable team members, you will have to pay them. For an indie team, where there are no deadlines, and quality is determined by the motivation of the team, is millions of dollars really a prerequisite? Another thing I seem to be missing out on is the difficulty. Dont get my wrong, I know creating an MMO is a very large challenge for an indie team, but the majority of the community builds it up to be impossible. There are many existing MMO's that have been created by indie teams that are already successful. Eternal Lands and Wurm Online being two of them. Of course these are not MMO's that could compete with professionally funded games, but they are successful in their own right, and have 300+ players online at all times. People HAVE done this. It is NOT impossible. Lets compare the difficulty of creating a single player RPG to a multiplayer RPG. I would say the work is about double that of creating a single player. Sure, its a very rough estimation on my behalf, but I am an experienced programmer, and I have a good idea of what it takes to produce a product. Saying it is MUCH harder to create an MMO out of the otherwise single player counterpart is an exaggeration if you ask me. No I have never created an MMO before, but this seems like a blind statement. It seems like so many people write off a single player RPG as some simple, one hour game. Lets say you created an MMO, but with no multiplayer aspects. Like an MMO with a one person limit. It wouldnt be multiplayer, but it is built just like one. The bulk of the work still exists. Sure, you have to convert to a client/server architecture, but all of the design, modeling, client programming, and all of that still exists. So what about converting a client based RPG to a client/server multiplayer RPG makes this leap from "Anyone with some time on their hands can do it" to "Dont even try it without a million bucks"? So is there some hidden aspect to multiplayer RPG software production that I am not seeing, or are single player RPG's just not seen on an epic scale as MMO's are? Maybe its the tools people are using that make multiplayer aspects of gaming difficult? Maybe its the fact that an MMO would demand a larger world, more detail, and player balance, where as a single player game has the option of scalability? Seeing other games being produced by other indie companies, I am not so easily discouraged by these nay sayers putting down anyone who would like to attempt MMO development. So am I wrong, or just overly simplifying the jump from single player RPG to MMO?
Rattenhirn
Rattenhirn
It's not impossible to create an MMO with an indie team.

Secondly, the millions of dollars spent are mostly for paying the wages of the developers and marketing.

Thirdly, I do think you are oversimplifying the jump from single player to MMO, simply by leaving out the two stepping stones "normal" multiplayer (via LAN) and non massive online multiplayer.

The biggest step is going from a singleplayer game to a 2 player game. You will realise that there are hundreds of concurrency issues you've never thought of, that will deeply affect your software architecture and your game design.

The next step is a 3-many player game. Even more concurrency issues will arise.

After that, try online multiplayer. Suddenly latency, packet size and stupidly configured routers become a huge issue.

Once you've handled all of that, you're ready for a bigger number of players, which will be fine, until you reach the limit of what one server can handle. From there on you need to design a multi server architecture and very likely some sort of commercial grade database system.

This is the point where running the whole thing can become very expensive, because you need to buy/rent and maintain multiple servers, buy a lot of bandwith and probably buy some expensive database software (and maybe some consultants for good measure...).

But if you're at that point, you'll probably have a somewhat commercially successfull (M)MO anyways (I hope).

I hope that helps!
Oluseyi
Oluseyi
Quote:
Original post by jakt
People give reasons like, "You will need server side programming knowledge", or "It takes millions of dollars". I am wondering how accurate these assumptions are.

The first one is extremely accurate: your MMO is several distributed clients communicating with one or more central servers, where the actual game is simulated (you don't want to trust the client, otherwise you'll empower cheaters). The second one is not necessarily accurate: depending on the graphical sophistication, scope and size of your MMO, you will need more or less money. You can make an MMO using 2D sprites in the 8- or 16-bit traditions of the NES or SNES/Genesis, and it might cost less (and have lower hardware requirements, potentially broadening your audience but also potentially falling below the interest threshold for some players).

Quote:
Many suggest making a single player RPG instead. Is a single player RPG really that much less complicated than an MMO?

Yes.

Quote:
Lets say you have plenty of server side programming experience (as well as client side obviously), a team of 20 or so people willing to dedicate a few hours a week to development, and strong leadership. Is it really so impossible?

Nothing is impossible, but anything you've never done before is almost certainly bound to be harder than you think it is. And the biggest problems you will face will have nothing to do with the game technology; coordinating those 20 people and their varying schedules if they're not full-time employees, especially if they're geographically dispersed (a web-based "virtual team"), will be the single greatest challenge.

Quote:
One thing I am not understanding is where all this money is going to be needed. There are so many open source tools today that software is not an issue.

Basic tools software is not an issue. You can use GCC, Code::Blocks, Blender, GIMP, Paint.NET, Audacity... But then you need a level editor, so then you have to evaluate available options (poor) and most likely end up having to write one. That takes time, and time is money. If the people on your team are being paid, then the extra time necessary to build the level editor and other aspects of the various asset pipelines (asset management system, texture loader, model loader, audio loader, etc) costs payroll. If the people on your team are not being paid, then you can't put too much pressure on them (they're working for free, after all!), and they might have to wait while some prerequisite for their specific task gets completed. This downtime may lead them to become less invested in the project if it's too long...

This can be alleviated by first forming a small group to build the most core technology, then expanding slightly to the people who will use that most core technology to build the next layer, and so forth, such that people are recruited to join the project just as the tools they will need are fully available. The challenge here is scheduling and project management, something that rookie MMO developers (and rookie project leads, in general) really suck at.

Quote:
Any decent game that someone wants to make would need volunteer work done. Of course a person interested in creating a game that is not sponsored by a publisher is not going to pay its developers.

Why are these people volunteering? No matter how cool your MMO idea, someone, somewhere, has one that's cooler. Why won't they volunteer for that one, instead? Heck, since they have desirable skills, why won't they just work on their own ideas?

You need something that motivates people beyond "my awesome idea," and under normal circumstances that motivator is profit - money. In some cases people are willing to postpone their remuneration, working on the project without pay in return for a share of the profits when the completed product is published, but such cases are rare.

So you end up having to make payroll, even if it's just token amounts or paying people by buying them software or whatever.

Quote:
Lets compare the difficulty of creating a single player RPG to a multiplayer RPG. I would say the work is about double that of creating a single player. Sure, its a very rough estimation on my behalf, but I am an experienced programmer, and I have a good idea of what it takes to produce a product. Saying it is MUCH harder to create an MMO out of the otherwise single player counterpart is an exaggeration if you ask me. No I have never created an MMO before, but this seems like a blind statement.

The challenge lies in designing a network architecture that scales. In an MMO, you have thousands of players populating the game world. Hundreds, thousands, or even hundreds of thousands of them could potentially converge on a single in-game location. Each client in that location needs to be updated, by the server, about changes to all other clients in proximity. If you have 10,000 players in a single small area, all visible to each other, you potentially need to update 10,000 clients on 10,000 characters per game loop. Yes, it's the same 10,000 updates being sent to each client, but how many individual packets is that? How long would it take to perform all those updates? How long, then, until the game can process the next iteration of its loop?

In order to scale, then, the server side must grow in complexity, dividing the task across multiple CPUs, multiple machines. Suddenly, we've introduced a whole discipline that was completely absent in your single-player RPG. So, yes, it is much harder.

None of which is to say it's impossible. It's not remotely impossible - as you pointed out, people do it. You're overreacting to advice that wasn't targeted at you. You have to keep in mind the profile of the individual typically asking about making an MMO - someone who has never made any sort of game, who has no idea how games are made, and doesn't so much have a design as a "vague narrative premise".

Personally, though, I disagree with the advice commonly given to beginners. I believe that people should be encouraged to try their hand at any project they are interested in. "But they'll get frustrated and give up!", some protest. So? They weren't cut out for it in the first place. If they were really interested, they'd step back and break the problem down, then attack a single piece first. Similarly, I don't believe in "don't use this language, use that language." If a person has picked a language, they can stick with it. If they're not aware of options, make them aware, but don't push them to drop something they've already started with.

So, sir, make your MMO. And godspeed in your quest!
Daaark
Daaark
Or.. you could just grab a copy of RealmCrafter, and start running immediately.

The problem with this board, is every time some new guy comes along and says the word MMO, everyone acts like he said he wants to make Age Of Conan and support 500,000 users.

MMO is a very broad term these days. Most people mean to say graphical mud. A lot of people just want to run a sensible little server that they can play on with their friends.

There were hundreds of hobbyist MMOs being run as Neverwinter Nights mods. Me and 2 guys ran one for over a year, and it supported about 30-60 players on the admin's old beat up machine running the server software.

All it takes to be an 'MMO' developer is the willingness to buy the right product, learning it's scripting language, some spare time, and a server machine.

If you don't want graphics, you can download the source code to a MUD and be up and running in less than 5 minutes. Than you and your friends can build that world together and have fun playing in it.

I even watch people on the 3D modeling forums who don't know anything about programming making little MMORPGs by using various products and just importing their art into it.

On programming forums, everything you want to do is said to be impossible, and you are a fool for even trying. On art forums, anything is possible, attitudes are positives, and people actually have fun getting things done. They just grab off the shelf solutions and start pumping their art into it.

So go grab some software and find some motivated artists. You'll have something up and running in a few months.
jakt
jakt
Quote:
Original post by Oluseyi

The first one is extremely accurate: your MMO is several distributed clients communicating with one or more central servers, where the actual game is simulated (you don't want to trust the client, otherwise you'll empower cheaters). The second one is not necessarily accurate: depending on the graphical sophistication, scope and size of your MMO, you will need more or less money. You can make an MMO using 2D sprites in the 8- or 16-bit traditions of the NES or SNES/Genesis, and it might cost less (and have lower hardware requirements, potentially broadening your audience but also potentially falling below the interest threshold for some players).


Hmm, that sentence started out with a different point than it ended with. Sorry about that...of course server side programming is a necessity. :P


Quote:

Nothing is impossible, but anything you've never done before is almost certainly bound to be harder than you think it is. And the biggest problems you will face will have nothing to do with the game technology; coordinating those 20 people and their varying schedules if they're not full-time employees, especially if they're geographically dispersed (a web-based "virtual team"), will be the single greatest challenge.


Good point. I think the use of the right tools in this area will help ease the complication. It will remain a challenge no matter what, but hopefully not a project breaking challenge. As long as you keep things very well organized, I think these problems can be kept to a minimum.

Quote:

Basic tools software is not an issue. You can use GCC, Code::Blocks, Blender, GIMP, Paint.NET, Audacity... But then you need a level editor, so then you have to evaluate available options (poor) and most likely end up having to write one. That takes time, and time is money. If the people on your team are being paid, then the extra time necessary to build the level editor and other aspects of the various asset pipelines (asset management system, texture loader, model loader, audio loader, etc) costs payroll. If the people on your team are not being paid, then you can't put too much pressure on them (they're working for free, after all!), and they might have to wait while some prerequisite for their specific task gets completed. This downtime may lead them to become less invested in the project if it's too long...

This can be alleviated by first forming a small group to build the most core technology, then expanding slightly to the people who will use that most core technology to build the next layer, and so forth, such that people are recruited to join the project just as the tools they will need are fully available. The challenge here is scheduling and project management, something that rookie MMO developers (and rookie project leads, in general) really suck at.


I have experienced some of this already in my project. Hard to keep everyone moving along at the same pace, and some are more motivated than others in accomplishing their tasks, even when others are waiting on them.

Quote:
Any decent game that someone wants to make would need volunteer work done. Of course a person interested in creating a game that is not sponsored by a publisher is not going to pay its developers.

Why are these people volunteering? No matter how cool your MMO idea, someone, somewhere, has one that's cooler. Why won't they volunteer for that one, instead? Heck, since they have desirable skills, why won't they just work on their own ideas?

You need something that motivates people beyond "my awesome idea," and under normal circumstances that motivator is profit - money. In some cases people are willing to postpone their remuneration, working on the project without pay in return for a share of the profits when the completed product is published, but such cases are rare.

So you end up having to make payroll, even if it's just token amounts or paying people by buying them software or whatever.[/quote]

I guess I am counting on the fact that people enjoy what they do, and are willing to contribute what they enjoy doing for a common cause. How to unite them under MY common cause is a tough one. I guess proving your MMO shows promise would be a big thing, as people dont want to work on a dead end project. I really cant do anything other than hope that my ideas are good ones, and represent what the majority of players and developers would enjoy working on. One thing I have tried to push for is the ability for others on the team to submit their own ideas. This can be viewed as a management strength, or weakness I suppose, depending on the situation.

Quote:

The challenge lies in designing a network architecture that scales. In an MMO, you have thousands of players populating the game world. Hundreds, thousands, or even hundreds of thousands of them could potentially converge on a single in-game location. Each client in that location needs to be updated, by the server, about changes to all other clients in proximity. If you have 10,000 players in a single small area, all visible to each other, you potentially need to update 10,000 clients on 10,000 characters per game loop. Yes, it's the same 10,000 updates being sent to each client, but how many individual packets is that? How long would it take to perform all those updates? How long, then, until the game can process the next iteration of its loop?

In order to scale, then, the server side must grow in complexity, dividing the task across multiple CPUs, multiple machines. Suddenly, we've introduced a whole discipline that was completely absent in your single-player RPG. So, yes, it is much harder.


I expect as much, and yes it is an element that was completely absent in a single player RPG, but perhaps I am just a brave programmer. One thing I am thankful for are sites like these, where you can get information on this type of material. While I have not done much game programming, server side programming is nothing new to me, so hopefully myself and a few intelligent individuals can tackle this. However, its nothing that cant be done, and if it can be done then its just a matter of finding the people do help you do it.

Quote:

None of which is to say it's impossible. It's not remotely impossible - as you pointed out, people do it. You're overreacting to advice that wasn't targeted at you. You have to keep in mind the profile of the individual typically asking about making an MMO - someone who has never made any sort of game, who has no idea how games are made, and doesn't so much have a design as a "vague narrative premise".

Personally, though, I disagree with the advice commonly given to beginners. I believe that people should be encouraged to try their hand at any project they are interested in. "But they'll get frustrated and give up!", some protest. So? They weren't cut out for it in the first place. If they were really interested, they'd step back and break the problem down, then attack a single piece first. Similarly, I don't believe in "don't use this language, use that language." If a person has picked a language, they can stick with it. If they're not aware of options, make them aware, but don't push them to drop something they've already started with.

So, sir, make your MMO. And godspeed in your quest!



Thanks for the encouragement. I guess the main thing I am underestimating here is the amount of luck rather than work. I could work on this thing until my fingers bled, but the luck involved with coordinating other people, motivating the team, and similar issues is really something I only have so much control over. A lot of the future of the project is out of my hands, and I guess thats the hardest thing to conceptualize.

Even with this information I am still optimistic. I guess on a per case basis, the reliability of the development community's advice varies, but in general I think that the advice on why not to indulge in a project like this is off base. The reasons you gave were not a shock to me, or even unexpected, and only confirmed my thoughts in which challenges were going to be the greatest. It might sound like I am being a little overly optimistic, but I am mostly just feeling content that I am able to guage the difficulty of creating an MMO semi-accurately. From reading the general community advice, a lot of people make it sound like there is some evil project monster lurking about just waiting to devour anyone who tries their hand at this, as a lot of people use reasons that aren't very realistic.

Thanks again for the input.

jakt
jakt
Quote:
Original post by Daaark
Or.. you could just grab a copy of RealmCrafter, and start running immediately.

The problem with this board, is every time some new guy comes along and says the word MMO, everyone acts like he said he wants to make Age Of Conan and support 500,000 users.

MMO is a very broad term these days. Most people mean to say graphical mud. A lot of people just want to run a sensible little server that they can play on with their friends.

There were hundreds of hobbyist MMOs being run as Neverwinter Nights mods. Me and 2 guys ran one for over a year, and it supported about 30-60 players on the admin's old beat up machine running the server software.

All it takes to be an 'MMO' developer is the willingness to buy the right product, learning it's scripting language, some spare time, and a server machine.

If you don't want graphics, you can download the source code to a MUD and be up and running in less than 5 minutes. Than you and your friends can build that world together and have fun playing in it.

I even watch people on the 3D modeling forums who don't know anything about programming making little MMORPGs by using various products and just importing their art into it.

On programming forums, everything you want to do is said to be impossible, and you are a fool for even trying. On art forums, anything is possible, attitudes are positives, and people actually have fun getting things done. They just grab off the shelf solutions and start pumping their art into it.

So go grab some software and find some motivated artists. You'll have something up and running in a few months.


Haha very true. I have actually chosen something in between...the XNA framework. I wanted something that I could change if I wanted to (not forcing me into anything I was not comfortable with), but beginning from scratch was a tad too much. The XNA framework was nice because it uses C#, a very easy to work with language, and a framework...not a defined set of tools, but guidelines. XNA is nice because it takes care of a lot of little things for you, and allows you to replace libraries and go your own way if the features are not to your liking.

You really captured one point I was trying to make -- that not every MMO has to be the next 10 million subscriber game. People DO need to realize the scope of what an indie team can and cant hope to accomplish. You just have to be realistic in you expectations.

If you have clearly defined, realistic goals that are within your abilities, then I dont see why anyone cannot rise to meet the challenge of game design on a personal scale.
metalmidget
metalmidget
All the technical problems of actually making the game aside, I think any Indie team trying to make an MMO needs to make sure that the game is still fun when played on your own. If the game relies too heavily on the multi-player aspect then you might fall into the endless spiral of 'the game's not fun because not many people are playing because the game's not fun because not many people are playing etc etc.'

cheers,
metal
Bangladesh
Bangladesh
I began making a small MMO (or perhaps a MO) as a experiment and the single most hard thing was to find a hosting service that allowed you to run your executables, even if you put your own server in their park, not without doing some heavy paperwork.
Drew_Benton
Drew_Benton
Quote:
So what about converting a client based RPG to a client/server multiplayer RPG makes this leap from "Anyone with some time on their hands can do it" to "Dont even try it without a million bucks"?


Most of the posts here, at least, revolve around the fact that the people making the mmorpg don't have anything to work from. If you are trying to make a mmorpg from the start and don't even have the single player version done, then you can understand why so much caution and skepticism will arise.

Once you have a single layer game and you want to convert that into a MMO, that's an entirely different task. Most posts aren't like that though, so those are the exceptions. Just by having a game done and you wanting to make it multiplayer, you'd find yourself in a position where getting more help would be a lot easier. It's always more feasible working from something than nothing from an outsiders perception.


Quote:
Original post by jakt
Lets compare the difficulty of creating a single player RPG to a multiplayer RPG. I would say the work is about double that of creating a single player.
...
Saying it is MUCH harder to create an MMO out of the otherwise single player counterpart is an exaggeration if you ask me.


When it all comes down to it, network programming is just that, network programming. Most game programmers only program games, not servers. There is a lot to network programming, more than many people can understand unless they actually do it for themselves. Because of this, if they have never done advanced networking programming, they are in a bad position to effectively program a server that their game can interact with.

To make matters worse, most mmorpgs will interact with some sort of database for persistent storage. Database programming is a monster on its own. You have to setup all the tables and secure access to prevent people from really messing up the database and compromising the entire setup.

That's why it is much harder to make a mmorpg than a single player mmorpg. It's a matter of a general lack of domain knowledge across 3 separate domains. In a single player game, you don't have those extra domains to worry about.

Now I've never made a mmorpg myself, yet :P, but I've studied in great detail a number of mmorpgs on their architectural level (reverse engineering). I'm not a "networking expert", but I do have experience and am working on getting it all together, starting with some TCP stuff.

I'll just dead list some tasks you will have when making a mmorpg from the server perspective:

- Setup a basic security protocol for clients to connect to the server. If you don't you will suffer from illegitimate connections bogging down your server. This is more of a "locking your doors" type of action; anyone determined to get in will, but people just trying to open the door are stopped and move on.

- Setup a secure packet protocol for the client/server to transmit data to each other. Just like the previous example, it will just to prevent most people from abusing data, anyone determined will reverse it.

- Tie the server into an account manager database to verify logins (just making this the base case, it's not mandatory, but it is typical). You will want to have player data stored safely and be readily accessible, right?

- Tie the server into a game manager database that stores all players information. Where else is the data going to be at, the server's memory?


- Synchronize everything; ouch, concurrent programming is it's own domain as well. This is the real kicker in making sure that you don't do things that will make your server crash. I.e. a player logs out and you have pending actions that take place with a now invalid iterator or pointer that brings down the entire server.

- Validate and verify the client and server interactions. If a player casts level 100 fire ball, you have to make sure they actually have the skill and can use it. Trust no data from the client. Other examples are movements, which why telehacking and other speed hacks are prominent in mmorpgs; someone decided to take the easy way out and now they are paying for it.

- Broadcast game events and data to relevant clients. When player A moves around player B and C, they need to get that data somehow. Player X who is miles away should not get the data since they are not in range. Your client cannot store all the player in the world in memory, so you have to do space partitioning.

- Track and manage the server remotely. You want to know what is going on in your world and be able to find bugs, hacks, etc...

Now, if you have never ever programmed a mmorpg before or understand truly how they are implemented and the things they do, then it is an overwhelming amount of work to be done.

Hopefully by now you can understand why the general consensus is one of discouragement to people wanting to do mmorpg dev without really thinking about it. That is not to say it is not doable, it it, but only once you know what has to be done and the precautions and design implications that result from the decisions make. And for the most part, this is not the case in the HW posts that are on GD.

Once you do know what you are doing though, making a mmo is no different from any other task. It's just getting over that hump of knowing what to do where all this comes about [grin]
drakostar
drakostar
Quote:
Original post by Bangladesh
I began making a small MMO (or perhaps a MO) as a experiment and the single most hard thing was to find a hosting service that allowed you to run your executables, even if you put your own server in their park, not without doing some heavy paperwork.


Really? I could name any number of VPS hosts that would give you root access to a Linux server sufficient for development for US$20-30. No paperwork, just pay by credit card and wait a few minutes for their automated scripts to build your server image.

By the way, does anyone else hate the term "MMO" as a noun? It's like the opposite of ATM machine or PIN number. Instead of a redundant word, it's an acronym that's missing a word; it should be MMOG.
jakt
jakt
Quote:
Original post by drakostar
Quote:
Original post by Bangladesh
I began making a small MMO (or perhaps a MO) as a experiment and the single most hard thing was to find a hosting service that allowed you to run your executables, even if you put your own server in their park, not without doing some heavy paperwork.


Really? I could name any number of VPS hosts that would give you root access to a Linux server sufficient for development for US$20-30. No paperwork, just pay by credit card and wait a few minutes for their automated scripts to build your server image.

By the way, does anyone else hate the term "MMO" as a noun? It's like the opposite of ATM machine or PIN number. Instead of a redundant word, it's an acronym that's missing a word; it should be MMOG.


The developer community is made up of math nerds and code monkeys. Terms like noun and grammar policies are foreign objects to us. :P

Could you provide a link to one of these hosts? I have looked for this type of server for a while but they were all $80+ a month...
Barking_Mad
Barking_Mad
Quote:
Original post by Bangladesh

By the way, does anyone else hate the term "MMO" as a noun? It's like the opposite of ATM machine or PIN number. Instead of a redundant word, it's an acronym that's missing a word; it should be MMOG.


Yeah i hate the term MMO in general. I also hate the ATM machine etc. Annoying...!!!!
Kylotan
Kylotan
Quote:
Original post by jakt
I really cant do anything other than hope that my ideas are good ones, and represent what the majority of players and developers would enjoy working on.

What is going to impress people more is not the ideas, but a sense of real progress. One reason why we're sceptical of those who want to make MMOs is because so many come in with grandiose ideas but no real way of actually pushing the project forward. Once the ball is rolling, things get easier.

Quote:
While I have not done much game programming, server side programming is nothing new to me, so hopefully myself and a few intelligent individuals can tackle this. However, its nothing that cant be done, and if it can be done then its just a matter of finding the people do help you do it.

That does give you an advantage over most people wanting to start MMO games, but bear in mind that MMO servers often have some significantly different requirements to other game servers.

Quote:
Even with this information I am still optimistic. I guess on a per case basis, the reliability of the development community's advice varies, but in general I think that the advice on why not to indulge in a project like this is off base.

I disagree. An MMO is the most complex type of computer game that currently exists in any visible quantity. 99% of people who wish to start one do not appreciate this, and there is definitely an argument for setting yourself a realistic goal rather than an unrealistic one, since failure - while being educational - also impairs your future performance. And making an MMO as your first complete game is an unrealistic goal. Not impossible, but undeniably unrealistic.
drakostar
drakostar
Quote:
Original post by jakt
Could you provide a link to one of these hosts? I have looked for this type of server for a while but they were all $80+ a month...


Sure. I've had a fantastic experience with Linode (shameless referral link). Tektonic is also good. For more options, see WebHostingTalk. You *do* have to be a bit of a Linux geek to get things set up, but otherwise you're given your own IP, a chunk of resources, and complete freedom to use them as you like. From Berlin I get about 120ms ping times to my Linode server in Newark, NJ.

If you ever get to the "massive" part of MMORPG, of course you'll need to spend serious cash on dedicated server(s) and tons of bandwidth, but again, a cheap VPS should be fine for development with maybe 10-20 players, and I'd bet you could comfortably scale up to 100-200 by upgrading the VPS.
jakt
jakt
Quote:
Original post by Kylotan
I disagree. An MMO is the most complex type of computer game that currently exists in any visible quantity. 99% of people who wish to start one do not appreciate this, and there is definitely an argument for setting yourself a realistic goal rather than an unrealistic one, since failure - while being educational - also impairs your future performance. And making an MMO as your first complete game is an unrealistic goal. Not impossible, but undeniably unrealistic.


I agree that creating an MMO as your very first game is unrealistic. Attempting one of the most complex game design for your first project is not the smartest thing to do.

What I was getting at is the community seems against indie MMO teams all together, regardless of previous experience. In this same discussion on another forum, one person even refused to acknowledge that indie produced MMO's even existed!

The real question I was asking is why the community thinks that an indie team cannot create an MMO, no matter what the experience of the team. Granted, most people that come to the forums have little to no experience in game development, but people use reasons like "You will need millions of dollars" etc for why someone with no experience shouldnt attempt the project, when this is really not what is holding them back. They usually go on to say "Just create a single player game", while this might be simpler task in some peoples eyes, but if a person has the means to go from ground zero to a successful single player RPG, is it really so much further a stretch to just go on to MMO? I just think people underestimate the distance from ground zero to successful single player RPG, and over estimate the difficulty to go from single player RPG to MMO.
Talin
Talin
I'm really struggling to see the point here.

Everything that's been repeatedly pointed out on these forums in those specific threads is that people shouldn't start off an MMO project if they haven't gotten anywhere near finishing a standard, relatively simple, single-player game. That's pretty much it.

Who said a serious, dedicated, experienced and skilled development team couldn't make an MMO game or any other game, for that matter?
deltadream
deltadream
Quote:
I just think people underestimate the distance from ground zero to successful single player RPG


You are right, the last 90% that follows the first 90% are the hardest ;)

And I've also seen that most indie teams break up when they hit the hard/unpleasant parts of the development.

It's really hard to finish and polish even a simple game, not talking about a RPG.

The problem with MMOGs is that you can get to the hard tasks from the start (because you really need a good overall vision of the game and some great planing skills to start it).
Talin
Talin
Obviously, the fact that MMO is not a done deal once the development is finished, and that you have to take care of it and invest significant amount of work in it every day for as long as it lives must also be considered. Indie or not, the team looking for any, no matter how marginal, success in the MMO genre would have to be pretty damn serious and skilled.

It is not by accident that most indie MMO games I've seen are rather... horrible.

While on the other hand, indie games (or former indie games) are where you'll find the brightest gems of any genre other than MMO.
Kylotan
Kylotan
Quote:
Original post by jakt
What I was getting at is the community seems against indie MMO teams all together, regardless of previous experience.

That's not my experience, so I'm not going to try and debate it.

Quote:
They usually go on to say "Just create a single player game", while this might be simpler task in some peoples eyes, but if a person has the means to go from ground zero to a successful single player RPG, is it really so much further a stretch to just go on to MMO?

Yes, it is. Networking and persistence alone are very complex subjects when dealing with the 'massive' level. (And no, I'm not going to accept a 10 player game as a 'small MMO' any more than I'd believe a slow Starcraft game was turn-based strategy.)

Quote:
I just think people underestimate the distance from ground zero to successful single player RPG, and over estimate the difficulty to go from single player RPG to MMO.

Personally I wouldn't recommend a single player RPG either, but it is still a much more manageable task for a beginner.
loufoque
loufoque
Quote:
The challenge lies in designing a network architecture that scales. In an MMO, you have thousands of players populating the game world. Hundreds, thousands, or even hundreds of thousands of them could potentially converge on a single in-game location. Each client in that location needs to be updated, by the server, about changes to all other clients in proximity. If you have 10,000 players in a single small area, all visible to each other, you potentially need to update 10,000 clients on 10,000 characters per game loop. Yes, it's the same 10,000 updates being sent to each client, but how many individual packets is that? How long would it take to perform all those updates? How long, then, until the game can process the next iteration of its loop?

It's simply not possible for 10,000 players to be in a crowd together and see each other.
Try it yourself in real life. You'll see ten people at best. True, you do see more between them, but not with much detail. There is no need to provide all the information.

Updates should only be sent about entities that are actually *seen* by the player. Not only is that better for your network, it's also better for the game, since a player shouldn't be able to know where someone is when he's not in his field of view. You could choose to do that on the client side, but that's not cheating-proof.

For entities that are partially seen, you may choose to not give updates unless there is a very substantial change, potentially adding some noise (blur), just like our eyes do. A similar approach can be taken for entities seen from very far away.
That actually makes ranged and stealthy combat usable, unlike in most games.

So the problem isn't how to send the information to everyone quickly, but how to quickly calculate who it is relevant to send it to.
By the way, I doubt sending 10 billion messages per second is even possible for a server, which would probably be required if you want to keep 10,000 people updated about what all of them are doing. (assuming ten moves per second)

Topic Locked

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

Sign in to reply to this topic.