I'm one of those guys who got seduced into the "make your own MMO". I guess I prefer to be a Dungeon Master rather than a Player. I spent two years (so far) trying to design, code, create art, and story -- by myself. I don't have a finished game yet. But I have learned a lot. My advice is:What do you think? What would you tell a guy who comes and starts asking how to do a MMO game?
1. Don't try to do it alone. You will need help. Other people help keep you motivated and accountable. If you do try to do it alone, are you prepared to:
- How's your creative writing? Learn how to write compelling plot lines, characters, and story arcs. Join CritiqueCircle.com so others can laugh at your creative writing (but you'll improve). Write a fantasy book (or at least a novella or short story) set in your game world. That will give it some history and help you define the style and mood.
- How's your fine art degree coming along? Learn how to do concept art, and static fantasy art for websites, posters, and in-game art. Don't forget to drop $3000 on Photoshop (per license/seat). No more pirated warez for you - otherwise your company and you will get sued! Drop another $1000 on a Wacom tablet (one for each artist on your team!). Better join artSIG.com so others can laugh at your "art" (but you'll improve).
- Now that you have your Master's of Fine Art, time to start learning 3D art. Drop $3000 on Maya, and start learning 3D modeling, texturing, and animating. Sell your 3D models on TurboSquid (to help finance the rest of your game).
- So you're good at C++. Don't count on using that for everything! How's your web coding (Java, HTML, CSS, etc), Perl, and Python. Also learn Flash for sprucing up that website!
- Read books on game design.
- How's your music performance and composition skills? Got a full Korg keyboard, and recording studio? If not, better start browsing royalty-free music at Shockwave-Sound.com. Be prepared to pay $600+ per song (depending on license). Also, snag some sound effects on soundsnap.com. If you're composing your own game music, better go on a music critique site, to make sure it's good quality!
- If you can't/won't learn all of the above, you'll have to pay someone to do it. Fortunately there's TurboSquid, Rent-A-Coder, etc. You'll need lots of $$$ though!
2. Don't count on your motivation lasting for years. Most people get bored and drop the idea after several months. To counter this, make something small as a "prototype" first, then expand on it. It's better to have a small working prototype after 6 months, than a large pile of unfinished code.
3. If you're a programmer, you probably think it's all coding. But from my experience, based on man hours, your game effort will roughly be 10% design/misc, 10% coding, and about 80% art. Hard to believe? It's true. Rendering, texturing, animating, etc take a lot of time.
4. Get into playing board games. Yes, I'm not joking. And I'm not talking Monopoly and Risk. I'm talking the brainy ones like Settlers of Catan, Citadels, Colossal Arena, and other games you've never heard of. Buy the top ten games on thoughthammer.com. Play them with family and friends. Then (listen now...) make your MMO as a board game. That will force you to keep it simple and concise. Play this game with your friends, and listen when they pick it apart. Revise, and recreate it. Then transmogrify it into a computer game.
5. Don't do it to make money, or to try to make a living. Don't do it to show off to your friends. Do it only if you really love it, and enjoy working on it. It's a journey, not a destination.
6. Okay, this one's going to be "flame bait" for sure. There are tools out there (like RealmCrafter and TGEA). Do not use them. "Why?" you ask. "Am I crazy?" you ask. "Those tools will save me hundreds/thousands of hours!" you say. They will - kind-of. But what happens when you discover big bugs in that tool? How are you going to fix it? YOU CAN'T! HAH! Screwed. You'll have to beg the developers on their forum to fix it. Without the source code, it is actually impossible. "But it's open source" you say. Well, if it's a truly open source tool, and you're very good at understanding other people's code, then maybe. Irrlicht is definitely okay. But if it's written in BlitzBasic... gimme a break! My advice: write the game from scratch yourself (you and your team). If you want to use free code, use snippets from developers like on the Irrlicht forums.
I have one exception to the "don't use MMO turn-key tools". That is, if you decide to, your game won't work, but you will learn a whole lot. And that will make your second attempt much easier (this is what happened to me).
7. Keep it simple. I know I already said that in #4 above, but it's worth saying twice. Your prototype needs to be mind-numbingly simple! Two races! Two cities. Put water somewhere. Add 2-3 monsters. Less than ten items (that includes weapons, armor, magic items, and treasure!). Nothing fancy - no deformable terrains, advanced physics, random character generators, or questing systems. Don't get hung up on polishing details for your prototype. You can polish once it is working and playable. One plot line: "rescue princess from dragon" or similar. Once you do this, then do a simple website, then go back and flesh out your game. Learn what the word "episodic" means (just create one "episode" of a game, a brief taste). Hopefully your game is unique and not just another WoW.
8. Learn and use Stackless Python as your server side language. Why? EVE Online did it. You can have one PC with 100,000 people on it, rather than limited to 2000, like every other language (including C++). The reason? Every thread has a lot of memory overhead. Stackless only requires a few Kb for each thread. Yes, it's an interpreted language. But it's pretty fast, readable, maintainable, and you won't have to take your server down and rebuild for most game bug fixes and tweaks.
Hope that helps all you budding MMO creators out there! Good luck to you!
Ariejan wrote:
Ariejan, I'd love to read that post! "Aye!".Maybe I'll do a write up about how to start MMO development and the common pit falls. Say 'aye' if you want that post!