Here's a development video of C:Medieval, you can see the progress from a bunch of circles to a bunch of spheroids. One of the main things I worked on early was getting the gameplay right, I figured if that sucked there's no point in making the game theoretically support 100 players. You can see in the video I started off with only being able to attack in 4 directions, just like Zelda on the NES. I soon realized that this doesn't work very well with circular collisions, the reason it works in Zelda is actually pretty interesting, you can check out this link that Raigan of Metanet sent me to see why. Once I had the 8 direction attacking in I just had to balance a few things, originally players could turn around instantly but that was annoying so I made it so it takes time to rotate.
Once the gameplay was working I moved on to the networking, one of the main challenges for that was bandwidth. Since there's 100 objects moving around with 99 clients, it was clear that I couldn't use a standard server/client setup. Even if each object's position could be compress to one byte that's still 100 bytes times 99 clients times 30 frames per second = 297K per second, which most DSL or cable lines don't support for upload (most can easily download that much). So what I decided to go with is 10 direct connections to the server, after that clients connect to one of the direct clients, which become client/servers, or clervers. This way the server can run on a connection with 50-60K per second and still support 100 players (I think).