Tuesday, October 21, 2008

Servers

So I am a little late with my post =P Oh well, I got busy. On with the post!

I think a corner stone of a good MMO are it's servers. Can't have an MMO without its servers up and running. Without a good server(s) everything starts to break down; people become angry and end up leaving. No one wants that for there game! To avoid this just have some good servers!

Lets start with the power of the servers. No I don't mean watts going to the machines, I mean actual specs(processors, RAM, etc). If you end up with something underpowered, you're never going to survive when people start logging on. An underpowered server will end up with you watching as people leave and you struggling to get a better server as quickly as possible. How can this be overcome? Plan ahead! If it's forseeable that a server with a dual core processor and 2GBs of RAM will be just right, then double it! Give it two processors and 4GBs of RAM! Can't go wrong with more, especially when it hinges on success.

Next is number of machines. If it can be done with one just fine, then use two. Now one may ask: "Why two if one is just fine?" What happens if one server goes down and you only have one? You're completely out for a period of time, which means loss of service to the end user. In the end it's bad juju. I don't know if it would be beneficial to plan ahead and double everything, but it would be beneficial to get more than you think you may need.

Bottom line, if the need calls for X, make sure to plan for more! Plus with more than needed there is more power available for those unforseen circumstances(such as higher than planned users).

That more or less covers the physical aspects. The next piece would be the more abstract part of how to configure the servers.

The most important part of the configuration is redundency! Always make sure there is a backup of any information creation. It may seem like a waste but if there are ever problems you could always refer back to the backup or restore fully from a backup. Think of how bad it would be if the server crashed when everyone was at the end game; if there was no backup every player would lose all the work put into the game. No one wants that! Just use some data replication software to ensure the game data is safely backedup.

Another thing replication is good for is spreading the load onto other machines. If the data is replicated to other machines it allows the user requests for data to be spread out to other machines, which will reduce the lag for everyone. Not lag from a bad connection, but lag from too many people hitting the underpowered "server"(which in this case is a cluster of servers).

That pretty much covers most things I can think of. I'm sure I will come back and post more when I think of it.

Until next time!

Thursday, October 16, 2008

A new leaf

I'm back!

It's been a while but I'm going to start posting here more often. I'm also going to focus primarily on the gaming aspect of development as opposed to the general development cycle. I do this because I'd like to move into game development eventually, right now I'm just a developer at IBM. Although I like development, I'd much prefer to design and architect the games but not develop them. But then again that's my preference for any development =)

Now that I'm back I'd like to start by evaluating some aspects of newer games and there design. From there I'll take a look at what I would have done differently. Eventually I'd like to start designing a game on here and allow others to participate in the effort.

But for now I must go. I will update later tonight!