Now this is more about where to start and what to learn.
If you want to make very specifically an MMO there is a huuuuuge amount of stuff to learn and depending what your skillsets and interests are, the starting Point should be chosen accordingly.
Making an MMO is a big task, but dreams are rarely small eh? 🙂
So where to start?
I think one starting point would be, to do what you already know and build up on that, like if you are an artists, start with drawing concepts or game mockups (fake screenshots), characters etc.
If you are a programmer, you could figure out, if you want to use a specific language (though the best would be to stick what you feel comfortable with, since every language has it’s up and down sides).
If you are a writer or like to write stories, start with that.
Another starting point could be to start what interests you, no matter if you have skills for it or not. Interest in a topic/ curiosity is a really big motivator and helps alot against walls you will encounter.
As example, I’m really interested in free modifyable terrains, like Voxel Terrains, because I think, they allow for such a freedom and “realism” in landscapes that Heightmaps just can’t do. Also I think that so far no voxel solution has exactly what I need, so I want to do it myself. I’m starting by learning how to create 1 voxel on the screen and then go on to apply a texture to that etc.
If you need to reduce the options, try to figure out if there are things that you are not interested into at all or what you really don’t like to do.
Knowing this is as important as knowing what you want to do, because then you know what to spend less time on or just do the rudimentary necessary and then look for people who would like to do this specific thing, when you think you are ready 🙂
If you are interested into having results as fast as possible, you could look for Game Development Kits (game engines like unity), pre-made assets, prototyping, MMO specialized developing kits, working through a full game tutorial, Networking for unity etc.
As far as I know, there is tons of material out there to get a visible game on screen relatively fast (unreal even has a non-programming node system, which you can create game logic with). It won’t be pretty and it most likely won’t be very impressive or looking like any MMO you know, but it’s a start.
And with this there is also one other thing to keep in mind:
It will not be World of Warcraft, it also will not be Ultima online or any big fancy names out there. Not NOW! It will not even be close to that in the beginning.
Any MMO starts small and it’s easy to underestimate the amount of work that needs to be put into it, to even create the smallest and tiniest functionalities that you got used to from modern MMOs or games in general.
One of the reasons why probably alot will say to not even consider starting an MMO is because you have to fill all the roles, from sound to music to programming to art etc. and each of these roles have a big load of work to do, for every asset and functionality you want to have ingame, you need proper responses and interaction possibilities for the player.
Just as an example: If you want the player to move per rightclick to a spot you point on the ground, you will need to code how the cursor position on the screen (2D) translates into a 3D coordinate on the ground, it needs to recognize where the ground is. Then you probably also want some kind of feedback for the player, like a cross on the ground, you have to make the graphic for that and then display it on the ground and it needs to delete itself and reappear whenever you click on the ground or reach the target.
Then you also need the character to move, so you need to transform it’s position and ideally it also has Animations that are following the direction of where you are going AND your camera should be following your character, always pointing towards the character or being moved by the player. Then you also want footstep sounds as a feedback for the player and most likely you also want not just a cube but a proper 3d model, with textures! and maybe even character customization? so you need a model for EVERY variety of your character and test every possible combination etc.
It’s really easy to go out of hand and also really easy to loose out of sight what you actually wanted to try out.
It’s good to make a list of things you want to have, sort them by Priority
-make the tasks as small as possible
-prioritize tasks that are fundamental for other tasks to solve
-categorize tasks in what you think is important for your game, you could use colors to sort them into “I want this!” “I’m okay not having this” “I don’t need this for the game to work”
you can recognize if tasks are small enough for actual working on them, if you can clearly see what needs to be done, like as example:
making an inventory, is too abstract, better is:
-create rectangles for inventory slots (graphics)
-position rectangles on screen (programming)
-drag and drop items with leftclick hold and release mousebutton (programming, this could be too big already)
-create item example to test drag and drop(graphics)
-recognize that mouse is on inventory(programming) etc.
-create a swoosh sound for resizing inventory(sound)
I think you get the point, it is very important to learn how to make tasks so small that it becomes clear what you need to do and it will also give you an image of how much you need to do.
Simplificated: As long as you are not sure, what skills are needed to achieve something, the task is not small enough.
When you can not determine even roughly how long it will take you, the task is most likely not small enough.
If you can not tell where to start, it’s most likely not small enough.
When someone asks “how to make an MMO” they most likely did not look deep enough in what an MMO is build of.
And there are alot of layers….
So keep in mind, if you want to make an MMO, it won’t be beautiful, it won’t be nice, it might not work very well, it might not be online at first, it might not look like much, but if you spend alot of time on it and improve it as you learn and not give up on it, it will eventually be a real and living MMO, that is being played by someone.
You succeeded, when atleast one person likes it 🙂
(yourself is not excluded from that)