The Disastrous Launch of Sim City 5

Many people which barely slept the night before the launch of the new Sim City game was disappointed when they could not even play the game when it launched. Gamers where raging on EA forums, /r/gaming and social networks and everything from EA to DRM was blamed for the apocalyptic launch of Sim City. 

It first started off with downloading the game. For me, this was in fact not a bad experience looking away from the fact my internet connection was not stable at that moment. However, when the game was patched at installed, the fun part had barely started. In order to play the game, a server had to be selected. And if you where lucky to get the list of servers up, you would just be stuck on the next screen displaying "Authenticating with servers". When if the authentication was done, you where able to enter the game. Hooray? No. The first times I was able to enter the game, I was greeted with the message it lost connection to the server. And when it was not, it would barely let you make a region for your cities. Once the servers where able to calm down (around 9PM UTC+1), I could see that each of my attempts on creating a region was successful, but my client turned out to have timed out. However, once I was in-game, the servers where disconnecting now and then, making me frustrated about whether my city was saved or not. 

In order to understand what is going on, we would have to understand a part of how Sim City 5 works. First of all, there is no DRM on Sim City, it is a multiplayer game, just like Legaue of Legends, Runescape, World of Warcraft, Habbo, etc. This is to let people work together in their regions which is a large part of what the game is actually meant for. When playing Sim City 5, parts of your city is sent to the "cloud servers" to store your town. If you lose connection to the server, you would risk not letting your city be saved unless your client is able to reconnect. In other words, a larger part of the game is not on the actual users PC, but on the server (City data, multiplayer handling, etc.).

First of all, it strikes me they call it "The cloud". They are not even using the cloud in a correct manner. In fact, a large part of the system is designed wrong to be able to run in the cloud. The way a service (web-site, game server, etc) is supposed to run in the cloud, is that it is able to scale. It does so by automatically increasing the amount of servers which the application is distributed on. By saying so, the application runs over several servers when so is needed. This is one of the core elements of cloud computing. From an end-users perspective point-of-view, when we enter google.com in our browser, we do not select if we want to use Google in USA, Netherland or whatever. Users are way too stupid to make that selection. 

The current servers running Sim City holds a given numbers of users until they are claimed full. Then a user has to either wait in a queue of a fixed waiting time for 20 minutes or select another server. The fixed waiting time is just as good as no queue. Imaging having a Justin Bieber concert, and letting in all the thousands of brainwashed teenage girls in at the same time. By doing so, there would be too many people in the gates and they would be congested. Letting each girl wait another 20 minutes before they can enter does nothing to the congestion, it is just as bad. In order to solve this, they need to line up in several lines and they would be let in. This way, the amount of people are load balanced. I know several online games have such systems to prevent congestion on their servers. They retrieve a queue position and an estimating time until let into the game. Legaue of Legends have this system, and I think Sim City should consider implementing it as well. 

If the Sim City game was properly designed, users would not have to chose between which server they wanted to play on. Their regions would be stored in between the servers and retrieved when entered the game. That way, each instance could hold a given amount of users or regions and when a max limit is reached, users would be sent to a new instance. Each instance keeps track of all the users and their regions. When a user enters on a different instance, a message saying "Getting your regions" would appear. Instances would automatically be created, and neither users or any working in Maxis would have to care about adding more instances (or servers, in this case). The system would be self-scalebale. 

I am missing a great amount of information in the launch tool. When I was downloading patches from the launch tool, there was no information telling me it was doing so. I wanted to see information about download speed, downloaded data, how much was left and an ETA counter. In the server-list, there would be great to see how many users/regions was on each server to determine which one would be best for me to play on. It lets the user get more information about what is actually going on.

The Sim City game went far beyond my expectations after playing the beta. It is a great game which I am sure everyone which loved any previous Sim City game would love. Even though the maps are considered as slow compared with the older games, the interaction between towns is the trade-off. I doubt there will be any singleplayer of the game, as SC5 is a mutiplayer game, not a singleplayer game. Even though the previous games had a singleplayer mode, this is where the world is moving. More and more stuff in the cloud. So right now, there is nothing else we can do than be patient, wait and send good thoughts to the developers of the game which I can assume got some hectic days.