Creating MMOs 101. Need help - where to start?
Hello!
I am a programmer that wanted to make it into the industry but it's hard. So I changed my goal to just create something for fun as a hobby - no matter how long it takes.
Insert - yet another childhood mmo project. I know it's a common trope in the industry at this point "I will make my own MMO!" proceeds to waste 10 years of their life away
I know that. I know some programming, I have CS degree but overall I am not very experienced or knowledgeable. However, I know for a fact that I can learn most of the stuff given the time and proper sources to learn of off.
With that out of the way here goes the problem/question.
Let's say I'm really popular and I have 100 friends. I know for a fact that I will have 500 friends in 2 years and 1000 friends in 5 years. I want to make a small classic MMO with one city as a hub, and classic gameplay loop where you go out to the location kill some monsters get some loot and sell it. Then maybe you can queue up for a raid for up to 10 people. Picture - starting villages in WoW.
I want the game to be able to run smoothly for all my 100 friends and in the future for 1000.
Where do I even start? I assume the heavy lifting is the server side. I know that it can't be just multiple databases communicating cuz it's too slow.
How do I make a prototype of this with hub, 1 quest and 10 monsters in one location for up to 10 concurrent players? Do I just use built in Unity/Unreal server solutions? Do I code everything in C++ myself? Even if - what do I have to code?
If needed we could go even smaller, and say that I want to make MMO pong for 100 players - for now I think the contents of the game do not matter.
Edit: we can assume I can make a single player game from start to finish if that helps narrowing the answer. I know my questuin is vauge and broad
Edit2: The question is more about server architecture rather than wether or not it's worth to attempt this. It's side projecct for fun and I have 30 years to spare for it. Where do I look for guides on such architecture, what is it made of? Dos and don'ts?