Hacker News new | ask | show | jobs
by gabereiser 993 days ago
Oh I feel for the author. I’ve made games. I’ve made distributed web platforms. I have profound respect for modern mmo architectures because of one, nasty, “I wish this wasn’t a thing” class of data. State. Who, where, what animation, what modeled entity, is in my party, on my screen, under my axe. Synchronized playback of my swing to my party members so we all yell in excitement at the same time when the boss falls. This level of synchronization across shards (server clusters of servers) is enormously complex. Not to mention just writing “net code” in general. Network speed is the biggest issue and often TCP isn’t enough. You need network prediction. Where will they be based on position, direction, etc until I receive the next packet. I can then error check the prediction with the actual and correct. If UDP is available to you, you use it so you can deliver that state as fast as possible, with no ACK back and forth. A combination of UDP state transfer peer2peer for animation and basic state, TCP network connections for services and server state, REST for that auction house. SQS or pub/sub for that item delivery and party/match making/world chat. It’s a beast of a problem.

Rewind 15-20 years ago and all the folks who wanted to make a game, their first game, and they want to build an mmo. None of them succeeded. Not 1. The only ones since were from people who knew the ask. Or had a crowdfunded ponzi scheme.

2 comments

> Rewind 15-20 years ago and all the folks who wanted to make a game, their first game, and they want to build an mmo. None of them succeeded. Not 1.

I guess it depends on how you define success, but I would posit FOnline [1][2] as a success story. FOnline is a fan made MMO of Fallout by a single guy, using the assets of the original Fallout 1 & 2 single-player games. Having these assets and also general game mechanics already finished definitely played a huge role in getting it to a playable state in reasonable time. Still, FOnline is a from scratch code base not a mod of the originals. Also it changed plenty of mechanics too, most notably being real-time while the original games were turn-based.

It's still being pushed forward even today after 20 years of development by this one guy but it was playable in late 2000s already. Peak concurrent players that I remember seeing was a few thousand. Definitely not AAA level, but way past simple multiplayer. Would have gone higher due to the hype at the time, but the server started to really struggle at that point. After a few years of being a closed source free game it got converted into a SDK and spawned a dozen new fan games using that engine.

Perhaps even more importantly, it was extremely fun in the early days. PvP gained you experience and all the other player's loot. Later on the PvP was limited due to PvE lobbyists, but perhaps it made the game more fun for PvE lovers.

Here's a random screenshot from my personal archive that shows a bunch of players on the screen at once. [3]

In any case, I view it as a great example of a single person MMO success.

--

[1] https://fonline.ru/

[2] https://falloutmods.fandom.com/wiki/FOnline_Engine

[3] https://imgur.com/9sMJNE5

While I commend his efforts, it’s not even remotely MMO. A few thousand can be handled by one server. One beefy server, but one server nonetheless.

I’m talking about 10,000+ players. Where you need clusters of servers and synchronization techniques.

There have been some small multiplayer games that have tried to pass as mmo’s but without the player base in the 10k+ range, you never encounter certain classes of engineering problems.

Going by your logic. Nothing is an MMO. Minecraft is a significantly more demanding game than some cooldoen based ability activator where you can only hit things you click on or hit with an area attack and yet it is possible to have thousands of players on one big server.

Your "synchronization techniques" pale in the face of destructible terrain.

Except in Minecraft, the world is voxel so to sync destructible terrain I only need to send the x,y,z of the block removed.

Going by my logic, there are MOG’s and there are MMOs. Guild Wars 2, World of Warcraft, EverQuest 2, games where thousands of people can be on screen at once, where that server instance is synchronized with the rest of the cluster, for one seamless virtual experience. I’d say half of the self-proclaimed mmos ever really reach massively-multiplayer status. Games like Dota 2 and CS2 are played by millions but I wouldn’t say it’s an MMO because each match it’s 5v5.

Realm vs Realm or World vs World mechanics explain my perspective perfectly.

> World of Warcraft

The original release of World of Warcraft had a limit of a few thousand per server too. It's only much later that this got increased. In the classic MMO era there's really only EVE Online that pushed to 10k and beyond, and never in the same star system. Single star system was limited to around 500 people for the game to still be playable. It's only later that they added time dilation which allowed for thousands to be in a single system at once.

Yeah and Ultima Online was the same. I’m not talking about 1999’s definition of an MMO, when people were still using dialup.
None of those MMOs can handle thousands of players on the screen at once.
> Rewind 15-20 years ago and all the folks who wanted to make a game, their first game, and they want to build an mmo. None of them succeeded. Not 1. The only ones since were from people who knew the ask. Or had a crowdfunded ponzi scheme.

This is an odd statement given that Ultima Online can out in 1997 and WoW came out in 2004. Are you referring to hobbyists?

Both of which were developed more than 20 years ago. I also think they knew the ask since they made games prior. I can see how words are confusing and math is hard.
RuneScape might be a better example. They had made hobby games, no professional experience, and launched a massively successful MMORPG.

If you are arguing they made it more than 20 years ago, so it was easier, I'd like to learn more about how things degraded in the early 2000s. I assure, I am not confused by words or math. :)