# MMORPG - What language, what engine, where to start?

This topic is 2380 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Hi all,

I'm trying to take my first steps into developing my own mmorpg.

When coming up with my idea, all I thought about was "Ok I'm going to download this engine, draw a bunch of crap and get my game on it's way." But after doing some more in-depth reading I realized that's not the best way to start.

I currently dabble in C++ and Java and feel comfortable with programming--though I'm not too confident on OOP like using implement or extend as my coding is pretty sloppy, so my algorithmic talent is crappy.

I'm just wondering--for mmorpg purposes--what language should I learn? I understand that different engines have different languages I believe? Or maybe they have their own language I'm not sure.

Mainly I want to accomplish two things:

be able to model 3d objects - which I will use the Esenthel engine (if it has that capability) or autodesk/blender. <- which do you think is better for beginners?

and I also want to become a strong programmer. As I said above my programming is very weak, I know there is a lot of tutorials out there but I'm just not sure what to do. Should I learn any and all tutorials and eventually make a simple program and then develop it into a complex program so I can get a better understanding of how things work?

In doing the programming I want to learn things that will help me in mmorpg development so any pointers towards that would be appreciated.

Or should I just forget all that I just wrote and make my game on RPGMAKER so I can develop the storyline and add in all the items/armor/quest that will in the future give the real game a backbone to start on?

Or should I try to make my game in c++/java so I can learn more of the language as I make my game?

EDIT: if you guys can please write a vague description on what these languages are geared towards and if they can help me with anything in terms of mmorpg development.

Python
XNA
VB
Assembly

Btw I just saw the "For Beginners" Forum FAQ on top so I'm reading that now

##### Share on other sites
The rule of thumb is, don't create an MMORPG!
I'm not an "pro" or an experience programmer but mmorpgs are very complex and time consuming projects.

Have you made games before?

EDIT:
You don't seam very competent in the area of game making ( nether am i so don't take it to hard ), but having a strong knowledge in the language you like
and having a "few" COMPLETED games in your backpack is something i would recommend before even thinking about such a large project!

Try out Java and learn the syntax, algorithms and techniques then when you are confident you can move on to something like C++! Most programming knowledge can be applied to almost any language :3

##### Share on other sites
Read this , then when done, give up on the silly idea of creating an MMO and start on something a lot more realistic.
If you want to learn towards the ability to make an MMO, the above link will not lead you in the wrong direction.

##### Share on other sites
I have been programming for 14 years, made many games. I don't think I would want to tackle a MMORPG alone...They are severely complex require a very large knowledge and understanding of creating games and networking. You need to be quite versed in programming (most games are C++ based) before you even think of doing a MMORPG. They are not something you can just do as a first project. Even a basic RPG is more of an advanced type of game to program. Using an engine may make the process easier, but even making an interesting game with Game Maker/ RPG Maker will be difficult and wont be an MMORPG. 3D MMORPG using to Torque engine may be better to use but even then.

Point I am trying to make. Make a RPG even a basic one then move to MMORPG something like Diablo 2, getting the basics of networking down and what is needed to move from a RPG to an MRPG to MMORPG.

If you haven't been to school to learn programming like me, I wouldn't try to just jump into a MMORPG.

If you want to learn to do it anyways. Learn C++, get into the OOP aspects, learn DirectX or OpenGL VERY WELL, learn how to do networking, Client/Server stuff. If you really want to learn how to program a MMORPG while learning to program and actually manage to pull it off, you will be doing EXTREMELY well.

##### Share on other sites

Read this , then when done, give up on the silly idea of creating an MMO and start on something a lot more realistic.
If you want to learn towards the ability to make an MMO, the above link will not lead you in the wrong direction.

Thanks a lot! That was a ton of useful info. Much appreciated.

##### Share on other sites

Point I am trying to make. Make a RPG even a basic one then move to MMORPG something like Diablo 2, getting the basics of networking down and what is needed to move from a RPG to an MRPG to MMORPG.

If you want to learn to do it anyways. Learn C++, get into the OOP aspects, learn DirectX or OpenGL VERY WELL, learn how to do networking, Client/Server stuff. If you really want to learn how to program a MMORPG while learning to program and actually manage to pull it off, you will be doing EXTREMELY well.

If I start from something simple like making an RPG, then making something like Diablo 2, in the end would I still have to learn C++, OOP, Directx/OpenGL and all that?

This was my plan. I was going to learn how to use the engine and make a simple field with a simple character and just learn how to do the features for the game like shops, skills, the ui, stuff like that and pay people for graphics like armor, maps, items, npcs, etc.

People constantly say it takes millions to make a mmorpg, but if I'm only paying for graphics and do everything else myself, I think it would be much cheaper. I saw on a site called 3dbud (just an example) they had a male 3d model of a character for only $27. A set of armor is probably going to cost$100. In the end I'll only be spending about 10k-20k for all the graphics while learning how everything else works as I'm experimenting with the engine. I know this is a long term project, I don't plan to be done until about a decade or more. In that time frame I was just planning on saving and paying freelancers to do stuff while doing stuff myself as well.

Would that be a better plan or should I stick to making something simple first.

*Thanks for the info, last few sentences was what I was looking for. Needed a basic guideline on what to learn.

##### Share on other sites

I have been programming for 14 years, made many games. I don't think I would want to tackle a MMORPG alone...They are severely complex require a very large knowledge and understanding of creating games and networking. You need to be quite versed in programming (most games are C++ based) before you even think of doing a MMORPG. They are not something you can just do as a first project. Even a basic RPG is more of an advanced type of game to program. Using an engine may make the process easier, but even making an interesting game with Game Maker/ RPG Maker will be difficult and wont be an MMORPG. 3D MMORPG using to Torque engine may be better to use but even then.

Point I am trying to make. Make a RPG even a basic one then move to MMORPG something like Diablo 2, getting the basics of networking down and what is needed to move from a RPG to an MRPG to MMORPG.

If you haven't been to school to learn programming like me, I wouldn't try to just jump into a MMORPG.

If you want to learn to do it anyways. Learn C++, get into the OOP aspects, learn DirectX or OpenGL VERY WELL, learn how to do networking, Client/Server stuff. If you really want to learn how to program a MMORPG while learning to program and actually manage to pull it off, you will be doing EXTREMELY well.

LOL, is that profile pic a joke or something?

##### Share on other sites
Unless you have good experience with a programming language (The one you are using for development) AND have worked on a similar game for single player, and have background in developing applications that interact network wise. I believe a MMORPG isnt your project of choice just yet..

Object orientation has no problem, Get better at programming practices, code readability, and the indent button ;)

"LOL, is that profile pic a joke or something?"

Atleast i know now, im not the only one who shows an interest in body building.

##### Share on other sites

Unless you have good experience with a programming language (The one you are using for development) AND have worked on a similar game for single player, and have background in developing applications that interact network wise. I believe a MMORPG isnt your project of choice just yet..

Object orientation has no problem, Get better at programming practices, code readability, and the indent button ;)

"LOL, is that profile pic a joke or something?"

Atleast i know now, im not the only one who shows an interest in body building.

Thanks guys for the advice. I made this thread with a half and half attitude about jumping right into the engine. But now I am 100% informed that I should learn how to code and how networking works before I even download the engine. Much discouragement :[ but at least you've led me in the right direction

##### Share on other sites
As bad as it sounds, be very prepared before jumping into the battle. Or ull spend most of it, learning, and not battling.

Its worth it however, a couple more months to a year or two or preparing. Then when getting into the development, ull already have an idea of how you want half of it to work.

##### Share on other sites
Just to get this clear: making a game of a high caliber such as Diablo II is not that much easier than making any other AAA+ title. Yes, it's a decade old - and no, that does not make it easy to make a decade later. Making such a complex game should be a goal in and on itself.

##### Share on other sites
If you want to make an MMORPG, first make a few other games. Small games, if you wish, but you must really get the basics of game design down. Creating any game is no easy task - when you first start out, even pong can provide some difficulties, so I would definitely try to grasp the concepts (reading can help this - programming is better). Also, I would recommend not undertaking such a task on your own. You may get a week in and decide it's too overwhelming. An MMORPG requires efficient networking as well as rendering/gameplay (in a nutshell) which all tend to be very broad topics in and of themselves.

As far as your programming background, I highly recommend being comfortable with all aspects of OOP (IEP). That is, Inheritance, Encapsulation, and Polymorphism. These are big words for "relatively" simple concepts. It is definitely important to have a strong programming background before going into any gaming project.

Good luck!

-RageD

##### Share on other sites

[quote name='0Circle0' timestamp='1313439183' post='4849534']

LOL, is that profile pic a joke or something?
[/quote]

Pic is not directly loaded from this site, but instead it came with the login from using facebook login(IE facebook profile pic). Try to stay on topic. It is not the pic that gives information, but instead the user. Don't care to change it.

##### Share on other sites

If you want to make an MMORPG, first make a few other games. Small games, if you wish, but you must really get the basics of game design down. Creating any game is no easy task - when you first start out, even pong can provide some difficulties, so I would definitely try to grasp the concepts (reading can help this - programming is better). Also, I would recommend not undertaking such a task on your own. You may get a week in and decide it's too overwhelming. An MMORPG requires efficient networking as well as rendering/gameplay (in a nutshell) which all tend to be very broad topics in and of themselves.

As far as your programming background, I highly recommend being comfortable with all aspects of OOP (IEP). That is, Inheritance, Encapsulation, and Polymorphism. These are big words for "relatively" simple concepts. It is definitely important to have a strong programming background before going into any gaming project.

Good luck!

-RageD

Thanks a lot. Some great tips. I've learned about inheritance in school but never got to e and p. I decided for my first project I'm going to make a basic blackjack program in c++ just to get back into the syntax and relearn the basics.

Is it ok if I post here for help or do I have to go to a different section or forums for simple help (that is if I cannot find it with google).

##### Share on other sites

Is it ok if I post here for help or do I have to go to a different section or forums for simple help (that is if I cannot find it with google).

This is the right forum. You should probably start a new thread, with a new subject line matching the topic, and always start a new thread every time you have a new question.

##### Share on other sites

[quote name='unholyx' timestamp='1313451401' post='4849622']
Is it ok if I post here for help or do I have to go to a different section or forums for simple help (that is if I cannot find it with google).

This is the right forum. You should probably start a new thread, with a new subject line matching the topic, and always start a new thread every time you have a new question.
[/quote]

And you will get better responses if you leave the evil "MMORPG" out of your title, maybe call it a multiplayer rpg.

##### Share on other sites
People tend to get wound up when someone mentions they want to create an MMORPG. I guess it's because there's a slim chance, if any, that a novice programmer would ever *complete* one. I'm gonna have to disagree with the "conventional wisdom" and say that working on a MMORPG *is* worth your time, if you're passionate about it. Whether or not you ever finish it, it's a learning opportunity.

Your mileage may vary.

##### Share on other sites
I'm working on a multiplayer game in Unity 3d and have spent a bit of time researching the various middleware options available.

A full blown MMO is more than 1 person can do, I believe, at least for a beginner.

That said, there are multiple middleware platforms that offer demos of mmos built with Unity that you can download, build and run out of the box. These are offered because the companies want you to use their product, and you're supposed to tweak the code/models to create your own game.

One of the more interesting products I've seen is UnityPark. It boasts a 1,000 simultaneous player fps, but the magic with it is that it uses more than 1 server and they've taken care of all the synchronization between servers. The example world they give you for the snowball fight is a mmo with 2 servers hosting the level, which you can play from a web browser, straight out of the box. http://www.unitypark3d.com/

Smartfox Server was predominantly used for flash based games but plenty of Unity games use it. There is a FPS smartfox package to get people started with.

Unity uses Raknet as it's built-in networking but it is multiplayer and not mmo.

Photon is a popular platform for multiplayer games, it has a free license up to a number of players http://photon.exitgames.com/

ElectroServer allows free use up to 50 players, and can scale to thousands of players for a cost (allows udp) http://www.electrotank.com/es5.html

Badumna is an option for both Unity and XNA http://www.scalify.com/badumna.php

Also for a beginner I highly recommend Unity, I only have the free version and have been addicted to it since because of it's simplicity to power ratio. I've been using it for 6 weeks in my spare time(working full-time student), I'm a newb, but I've been impressed by what I've seen so far. Here's a simple example of a web build I'm working on, it's rough, but I'm a newb, so give me 2 years working with the engine and I should be doing alright,

##### Share on other sites

People tend to get wound up when someone mentions they want to create an MMORPG. I guess it's because there's a slim chance, if any, that a novice programmer would ever *complete* one. I'm gonna have to disagree with the "conventional wisdom" and say that working on a MMORPG *is* worth your time, if you're passionate about it. Whether or not you ever finish it, it's a learning opportunity.

Your mileage may vary.

Not for a novice programmer. If a novice attempts to "work on" an MMORPG for his 1st game, he'll be stuck in the mud, spinning his wheels going nowhere fast.

What they should do is learn how to #1 program, #2, program games, #3, program multiplayer, then, if they're competent, they could dig into some of the steps required for MMORPG.

##### Share on other sites

and I also want to become a strong programmer. As I said above my programming is very weak, I know there is a lot of tutorials out there but I'm just not sure what to do. Should I learn any and all tutorials and eventually make a simple program and then develop it into a complex program so I can get a better understanding of how things work?

I'm not sure if this has been addressed yet, but that's NOT the way to learn. Make programs from the very beginning, and all the time! Many programs. Learn by doing, learn new things when you face them. Learning and reading only doesn't worth a damn. Practice.

##### Share on other sites

I'm not sure if this has been addressed yet, but that's NOT the way to learn. Make programs from the very beginning, and all the time! Many programs. Learn by doing, learn new things when you face them. Learning and reading only doesn't worth a damn. Practice.

I would be interested in someone doing a mock-up design document for a MMORPG so that people can see how complicated it can be.

##### Share on other sites

[quote name='szecs' timestamp='1313691181' post='4850861']
I'm not sure if this has been addressed yet, but that's NOT the way to learn. Make programs from the very beginning, and all the time! Many programs. Learn by doing, learn new things when you face them. Learning and reading only doesn't worth a damn. Practice.

I would be interested in someone doing a mock-up design document for a MMORPG so that people can see how complicated it can be.
[/quote]

Here you go http://www.devmaster.net/forums/showthread.php?t=11656

##### Share on other sites

[quote name='Quasimojo' timestamp='1313629394' post='4850567']
People tend to get wound up when someone mentions they want to create an MMORPG. I guess it's because there's a slim chance, if any, that a novice programmer would ever *complete* one. I'm gonna have to disagree with the "conventional wisdom" and say that working on a MMORPG *is* worth your time, if you're passionate about it. Whether or not you ever finish it, it's a learning opportunity.

Your mileage may vary.

Not for a novice programmer. If a novice attempts to "work on" an MMORPG for his 1st game, he'll be stuck in the mud, spinning his wheels going nowhere fast.

What they should do is learn how to #1 program, #2, program games, #3, program multiplayer, then, if they're competent, they could dig into some of the steps required for MMORPG.
[/quote]

I guess it boils down to intent. If the primary goal is to learn C++, then I believe it doesn't really matter *what* you work on. Sure, the MMORPG will almost certainly never see the light of day, completing a Tic-Tac-Toe game teaches you...well, the small part of the language required to write a Tic-Tac-Toe game.

On the other hand, if your more concerned with completing the project than learning C++ (or any other language you choose), then yeah, I would agree that a MMORPG is probably one of the worst places to start.

I was speaking from my own personal perspective. I'm working on a MMORPG concept to learn C++ (a mud, actually - I'm not *insanely* ambitious ). I'm passionate about MMORPG's, so it keeps things interesting as I trudge trough scads of dry documentation trying to find my way around an unfamiliar language.

##### Share on other sites
Starting a mmorpg is a pretty pointless learning exercise as you will learn nothing that you cannot learn faster, more thoroughly and more enjoyably than tackling more realistic projects. The only unique thing you'll learn is that such a task is far, far FAR more beyond your abilities than you had realised. Even this is like learning that walls are hard by repeatedly running into them. I've seen a couple of occasions where people respond by saying "but I'm really determined and enthusiastic", to which I can only reply "if you're that determined and enthusiastic, you'll put in the hours for training to build up your skills by laying down the necessary groundwork before you can even start to think about mmorpgs".

##### Share on other sites
I don't even believe that people who don't know how to program could even start a project like an MMORPG, let alone learn anything from the experience
If you don't know anything about the tools and mechanisms required to build such a game, how would you even be able to write a single line of useful code?

An MMORPG can be considered as the ultimate project, being able to complete, publish and maintain one with an active userbase means you have mastered all the important aspects of game development and software development in general, ranging from actual programming to project- and team management (because face it, doing a solo MMORPG project is as close to impossible you can get)