So, I'm doing an MMO
What a dumb mistake, right?
Last updated
Was this helpful?
What a dumb mistake, right?
Last updated
Was this helpful?
If you're a long time MMO player, you're probably a bit bored of the industry being dominated by the same 5 franchises year after year. And you're eagerly awaiting the next big thing: A shiny new MMO that will come along and revolutionize the genre. A new MMO that will bring millions of players together inside a living, breathing, player-controlled world and everyone will rejoice that the MMO of the future is here!
The above was said by in his discussing Dreamworld, a game that is, "". Well, I decided to give it a go. Not to revolutionize the genre. Not to make the next big thing. For fun. To learn new concepts, to tackle the big boss of system design. To make my own spin on the 9Dragons game I mentioned in my About Me.
Josh has a wonderful series on YouTube discussing the worst MMOs ever. It is ripe with information about what not to do. I hope that if I accomplish this task, my MMO will not make it there. I'll be updates on this blog, to talk about challenges I've come across, infrastructure and architecture decisions, showcases of the game, etc.
It's fast. It has green threads. It's Go. I've picked Go over other, faster languages like C++ and Rust for a couple reasons:
CMake is a nightmare to work with, I once spent 4 hours trying to get CMake dependencies to work on Alpine Linux.
I've never attempted to learn Rust for more than 5 minutes, but everytime I take a look at the syntax, I feel like my hyperactive girlfriend had a sudden outburst of energy and has gone into yap overdrive.
The MMO I'm basing this one on is from 2006, the worlds were in it smaller, and it was somewhat niche. I don't expect hundreds of thousands of players. At most, I'd have a thousand split across multiple maps, each being their own server, so I think Go is perfectly capable of handling this.
I like Go.
Caching is another thing that needs to be implemented, because obviously we don't want to hit the database for information every single time. Redis is the first thing that comes to mind, but if you have alternative suggestions, I'm all ears.
As I'm currently in the development process, I don't mind using AWS. I don't foresee myself sticking with big cloud providers forever, as the cost would be astronomical, but that's something I still need to do my homework on and have many more questions to ask myself. Do I manage my own infra by getting many EC2/Digital Ocean Droplets or do I let cloud providers handle the scaling by using dedicated services like RDS, etc.
Experienced developers and game developers know that this project is no small feat. It's expensive, it requires artistic talents, it's a huge challenge in terms of system design, infrastructure, and it's . I for sure will need help on different aspects of development, as I have absolutely no artistic talents when it comes to 3d modeling, animations, level designing, texturing, etc. And I can't code and maintain a whole MMO all by myself.
I've got qualified people that can help, but obviously having financial support, a qualified team, would help. I'm not going to ask you to financially contribute to this project in anyway. We've seen so many scam projects on platforms like Kickstarter ( eg: Dreamworld ). What I ask is that if you're interested in following and supporting this project, you check me out on . You still do not have to subscribe, donate, tip any type of money over there, but having more viewers and followers increases the project's visibility and the chance to get qualified game developers and artists to help or contribute to the project. And it also motivates me to keep working on this project and to maybe one day go full time on Twitch.