Here's 10 things I've learned, knew or wish someone else would have told me before starting to work on Golemizer.
This list could be longer but it cover the basics to get you started. This is no magical recipe, just some useful tips.
1- Why do you want to build an MMO?
If you come up with anything else than "Because I enjoy building things and I'm passionate about it", you might want to reconsider your project.
Forget things like money, fame and recognition. If you're not first passionate about what you do, you'll burn yourself before getting anything done. Note that the same apply to everything else in life. Creating games is no different.
2- Are you ready to commit to this project?
To build an MMO is no simple task (even when you're not going for AAA 3D graphics...). It requires time, patience and dedication. Don't expect to be done in 2 months. For example, the development of Golemizer took 1 year (me alone on nights and weekends).
Know how much work you're able to do before getting bored. If you never finished anything before, you might want to start a more simple project instead.
While developing, you'll come to points where you think "Ah! I'm almost done!". You're not. When this thought cross your mind know that you're only halfway.
3- What are your skills?
What are you good at? What programming languages do you know? Do you have any graphic skills? The best way to make sure you actually get something done is to keep to what you know. Saying things like "I don't know anything about Flash but I'll figure it while working on this project" is another good way for your project to fail.
That doesn't mean that you won't have to learn. You'll have to learn a lot of things to get your project done. Never assume that you have all the knowledge required from start.
I could learn Flash. Like I could learn how to build a space shuttle... With enough time and dedication the human mind is able to achieve incredible things. The question is will you still be interested to carry on your game project once you have the required knowledge.
Scale your project to your knowledge but keep an open mind that you'll still have to learn new things.
4- Don't expect any help
Posting on a forum "Hey, I'm starting this MMO project, who want to help?" will get you nowhere. It is YOUR project. Just because you think your idea is cool doesn't mean it is cool for others.
If you're lucky enough to have friends as dedicated as you to this project than great! Just never expect that people will beg you to offer their help.
With that said, if someone DO offer some kind of help, don't be afraid to accept it as well. The road to building your own game is a lonely one. From time to time you might need someone to get you back on track.
Some people know more than you do. Listen to them. Don't pretend you don't need any help because it's just not true.
5- Write down what you want to do before doing it!
Don't just sit down at your keyboard and start coding. This will get you nowhere. Even if it might seem obvious, a lot of people are doing this mistake.
What's the point of your game? What do you want in your game? What will the structure of your code look like? (very very very important to establish a framework that you will be able to scale later).
If you rush to the coding, you'll only end up with lines and lines of useless code that you will have to rewrite sooner or later.
Never do any design in front of your computer. A pen and paper is all you need. That doesn't mean that you should write a novel about it. Anyway, the end result will still be different from your initial design. But the more you think about it before starting, the better are the chances that you can spot problems before creating them.
6- Do you have a budget?
If you don't have any budget, you'll have to make choices. I started Golemizer with $0 because I knew I could handle the coding part. I have no graphic skills but I did research and found free graphic libraries to use. Of course, it doesn't look as nice as what I dreamed of but that's the reality of not having a budget or access to an artist that works for free.
Having no budget to start with isn't much of a problem. However know that at some point you WILL have to get into your pocket. May it be for servers, buying some third-party library or just to have minimal original graphics.
Quitting your day job also isn't a good idea. You need the money because right now you're not making any (and there's no guarantee you'll make some once your game is released either).
The less budget you have, to more tough choices you'll have to make. But in the end, spending money cannot be avoided. Just be careful where you are spending it. If you are spending tons of money on graphics while you're game is not yet finished, maybe you should revise your priorities.
7- Start a blog ...
But do it for yourself, not to brag about how great your MMO will be. At worst it will provide you a nice way to track your project in time. At best you might meet some very helpful people that will share some thoughts with you.
Just be aware that you'll also meet haters. Some people "do", some hate those that "do". That's the way it is. Learn to get over this (I'll write about that later).
8- ... but remember that you are building a game and not a blog!
Do then write about it. Not the other way around. If you have nothing to show or talk about then you should first concentrate on actually doing something.
There's already tons of people that write on blogs just for the sake of it. Your blog is a tool, not your project. Use this tool wisely and you might gain from it.
9- Learn how to work without burning yourself
There will be time you'll feel it's not worth it anymore. You will face problems that you think you can never overcome. Learn to take breaks. Sometimes it's better to stop for a day or two before getting back to work.
Since you're in it for probably quite a long time, you should fix specific working time for your project. Do a little bit each day but also keep some days to just relax and do something else.
For me it looks like: Day job from 8:45 to 17:15, work on the game from 20:00 to 23:00 on monday to thursday, friday and saturday are off and sunday I will usually work from 13:00 to 18:00. I've been doing that for about 2 years now. See what can fit you and commit to it.
10- Stop reading top 10 lists!
And start working! Like I said this is no magical recipe. It's just a bit of my experience. Surely not everything can be applied to everyone, that's just how it went for me. If you can use it then great!
A lot of people will tell you "do this", "don't do that". In the end, you're the only person that can tell if this can be applied to you. Don't be deaf when receiving some advices but also don't just follow them blindly.
Learn to spot the difference between someone that actually did something and someone that is just dreaming of it.
And again DO SOMETHING! START WORKING! Stop talking about it and do it. The Internet is filled with people that are telling others that they could be so much better than anyone else. That's not your goal. Your goal is to work on your project.
One day you'll also have something to share with others because you actually did it yourself.