The majority of the systems in MMOs revolve around combat when you get down to it, and the combat sucks. It sucks because it’s a DPS efficiency race. They don’t really integrate movement or counterplay. If DPS is a major term in your game, you’re doing something wrong. Damage per second shouldn’t be a major factor. It’s a major factor because the two combatants are standing around, and strategies don’t really counter each other. It’s not a question of whether you will do damage, you pretty much inevitably will. It’s a question of what rotation of spells/abilities will do the most damage and reduce the opponent’s damage the most. You move during boss raids because the bosses have AOEs announced in advance which you step out of. It’s a lame existence.
Look at Dark Souls in comparison, in a lot of ways it feels like it’s an MMO even though it’s smaller scale. I think that a lot of elements of dark souls’ combat could be scaled up, and a bigger world could be made. The primary engineering problem is client server communication. As I understand it, the reason MMOs are constructed as they are is because handling more variables is extremely intensive on such a massive scale. Dark Souls keeps the scale down, and the connections are peer to peer with all data held client-side, so the server has a minimal load in comparison (it only provides matchmaking services essentially). I’ve asked about why MMOs don’t do action combat more or have weak facsimilies of action combat and the answers I get are usually that action combat is too network intensive to reasonably handle.
I imagine that issues there could be solved with instancing, to prevent having to communicate all the data to everyone, and having the clients bear more of the load for PvE, in line with how Monster Hunter handles some of those interactions. In Monster Hunter, smaller monsters are each handled locally with the host player remembering how much HP they all have, so they will not be synced between sessions, each individual player fights the monsters in their own session. This means you can’t really enact group tactics on the smaller monsters, but the bigger ones will be in sync and they count for more. The trouble with having clients handle more of the load peer to peer is that if you pass data to the client, it’s in the hands of the enemy. The more you trust with the client, the more the client can abuse the game with things like Cheat Engine. This is why there are so many cheaters in dark souls because there’s no data authentication in any of the souls games. The server isn’t involved enough to double check everything is legitimate. In Dark Souls, this doesn’t matter so much, because there’s no competition to be top of the server, and nobody can really obtain anything via cheating that normal players can’t. There’s a definite cap on how close to the top you can be and at worst individual sessions are ruined.
I’m not gonna go over how to make a good combat system, there’s a billion and one ways to do that that I’ve talked about to no end.
The other thing is, I think we should reconsider how all MMOs are basically hamster wheels, how you’re always working to earn something so you can kill monsters slightly faster, how everything is just a number going up or a progress bar, metaphorically speaking. Comparing Dark Souls to WoW made me consider that. In MMOs there’s such a large volume of shit and it’s so hard to access it, that not everyone is really expected to ever do everything. In Dark Souls or Bloodborne, it’s practically expected that everyone has or can get everything, and people willingly stay at a lower level than necessary because that’s where everyone else is. Not to mention that the game is designed so nobody can get excessive bonuses or benefit too much from bringing extra consumables to a fight (at least, in bloodborne). It’s something people come back to because they enjoy it more than because they have an investment in it.
That and there’s probably more ideas you could do for MMOish gameplay. I might cover that in a future article or something.
Anything I missed? I feel like I forgot something or didn’t cover everything here, but I can’t remember what else there is.