Stress Testing

    In the age of abundant entertainment options, any creative endeavor requires something at least somewhat unique to pique interest. For this game, I’m hoping the fact that it’s not only a simple casual game, but also a MMO(Massive Multiplayer Online) game where everybody plays in the same world is somewhat unique and interesting to enough people. Someone mentioned if we’re being specific, maybe Shovely World is a Casual MMO RTS. Wow, that’s a mouth full of words!

    I’m sure there are casual and MMOs out there, but I couldn’t find many and the reason why maybe,

  1. Casual game players tend to not enjoy games where competition can get heated
  2. Technical barriers to building real time MMO backend is higher for small developers
  3. Cloud costs to maintain MMO backend services makes it uneconomical for small independent game studios

    For #1, I’m just hoping there is an untapped market that would enjoy games like this. For #2, without professional experience building a MMO backend myself, I’m learning many things the hard way and probably am still doing many things wrong. But it’s kind of starting to work! I’m sure it will still continue to be a learning experience for the foreseeable future though. For #3, building a highly optimized backend to reduce cloud costs seems critical to not lose money. Fortunately choosing Rust for the backend appears to be a decent one with its native level efficiency. I was happy to see that a 32 core VM could handle around 10,000 concurrent players during stress tests!

    No human can play 24/7, and I’m hoping to design the game in a way that most active players just play under 30min per day. So if a single server could handle 10k users at a time, I hope it means at least 1 million(100x) players can be handled by a single VM. Testing on 2 ~ 32 core VMs, players per server scaled fairly linearly with cores. This makes me think I can get away with vertical scaling for a long time, especially since the cloud appears to even have 100+ core VM options. But just in case, the backend is designed to shard and scale horizontally as well. Getting even hundreds of people to enjoy playing seems like a big enough challenge for the early days, so I’ll probably start with a small group and iterate quickly with player feedback while slowly scaling up. :)

Jun 2022
Shovely Dev