MMORPG Tips

From Gamedev.org wiki


Table of contents

Introduction

Jason Ely, our resident industry expert, had these ten tips regarding developing MMORPGs:

Tips

  1. Be realistic. Do not lie to yourself. Be sure what you are trying to make is not too big or beyond your skillset.
  2. Whatever time estimates you have, throw them out the window. It will take 2, 4, 10, or 100 times longer than you ever expected, even for simple tasks.
  3. Never take the shortcut. If you have that "quick and easy" way of solving a problem, it is probably the wrong way to solve it. Take your time and consider the "right" way to solve the problem even if it takes you much longer.
  4. Data drive everything. If you have monster names as constants in your C++ code then you are WRONG! Data files (ini, XML, binary, SQLDB, whatever) are the way to store your game data.
  5. Tools. If you don't have tools then again... you are WRONG! You'll need a way to import artwork, train animations, associate properties with the artwork, build maps, write quest dialog and flow, script "usecode" for simple objects, layout npc spawns, edit object attributes, and so on. I could go on and on. With my game there is not a single data file that doesn't have an associated editor (or editors) in my IDE.
  6. Don't launch too soon or too late. Get people in testing once you have something simple to play. I launched Elderlands early for technology testing (hardware testing mainly) and I got people freaking out because I didn't have monster drops or shops in towns. If you launch too late then you get overwhelmed with bugs and you'll halt your productivity.
  7. Consult experts. If you know people who have done this before, talk to them. Suck the knowledge from their brains. When I started Dransik (my 1st mmo) I was talking to friends of mine who were working on Ultima Online. I wanted to learn from their mistakes. I wanted to know what to do and what not to do.
  8. Do it because you love it, NOT because you want to get rich. Chances are you won't get rich. You CAN make a little money with it, maybe even a lot. But don't mortgage the house to fund the game with the assumption you'll make millions.
  9. Don't take investment money or deal with publishers. Trust me, they will screw you no matter how tempting it all sounds. They don't love you, they don't want to be your friend, they don't want you to come over for a BBQ, they don't want you to date their sisters. They are evil bastards who want to eat your children!
  10. Finally... And most importantly... Create a design document. You don't have to detail every last thing but at least outline the major features of the game. Make it more of a technical document. At the very least this will give you a chance to take thoughts in your head and put them on paper (or in Word) and it is amazing at how quickly you go "Oh crap! I never thought of that!" or "Wow! Now I can add this gizmo to that widget and turn it that way and have a sweet new feature!". Documents take time, I recommend you do it.

Commitment

The development time on professional mmo's with hundreds of people working on the project is almost double that of a regular game. Since you'll be doing it in a small team expect a long time commitment. Are you ready to sit at the keyboard for thousands of work hours to create something that is not likely going to match commercial quality games on the market?

You're bound to lose enthusiasm somewhere along the way. Will you continue if that happens? If you think so. Why do you think so, have you done this before? Are you likely to wander of or are you anally retentive enough to keep chewing at the same problem for days?

Do ask this question for each of your team members. You're not doing this alone are you?

Magicians and black boxes

A magician is a team member who is expected to pull the project on his own or at least the brunt of it. He can't because if he could, he would not need you. Do not take peoples word on the quality of their work. Get them to build something sooner rather than later. And objectively judge that work.

A black box is a spot of unknown in your design plan. Something that might elude you for now but which is believed to be solve able with effort. Subjects like AI, or network architecture come to mind. It might also be something that you know can be designed while the actual design remains unknown. Like the story line or game menu systems.

Black boxes and magicians are unacceptable because they essentially indicate that you take great risks with the solidity of your design plan. The more unknowns you're facing the more nasty surprises might be on the way. While an absent story is usually not a show stopper it might cause you to make inappropriate decisions now, losing time when you go back to fix them. So be sure to have a complete picture if only in skeleton form.

Strategy

The enormous undertaking of building a MMO like any journey is taken one step at a time. There's no shortcut to most of the steps. Try to minimize the steps required by always working towards a playable product. Leave the features you don't need now for later. While at the same time keeping the total picture in mind.

At every step along the way ask yourself the following questions:

  1. How does this fit in the greater picture? Asking this question will tell you if the current feature is important. If it is it deserves attention. If it is not you want to avoid having to implement it.
  2. Do I need this? Some features are not required. You might consider something awesome and adding greatly to the game while on closer inspection you don't actually need it to accomplish the basic game.
  3. Do I need this now? Some features are must haves. But not right now. Try to aim towards creating a playable product as soon as possible. Leaving out features that are not required to make the game playable. Add those features after the game is playable.
  4. Does this need to be this complex or can I simplify? You may want enemy AI squad behavior. But chase and attack might also do. If you do do decide you need it you might want to create a simplistic version of the feature now and replace it with something better later.

This way you will be able to kick out a lot of ideas before you actually spend time on them. It's a fact of life that the final product will never look like the initial design. By following this strategy hopefully you will get to a playable and well defined product sooner rather than later. Upon which you can invest time in expanding the product replacing simplified features by better implementations. And putting in features originally left out, or totally new ones.

Engines & Libraries

The consensus on the forums is that there are no free mmorpg engines available of sufficient quality to make a high quality mmo.

Eclipse (http://www.freemmorpgmaker.com/) might be worth checking out if your goal is a 2d mmo. However as with most gamemakers you can only make games as intended by the specific gamemaker so flexibility might be an issue.

More

Original post (http://www.gamedev.org/forum/index.php?topic=1723.msg44460#msg44460)