30 January 2008

New web server

Because we are expecting a lot of visitors after the c't magazine is published, and because our old web server was kind of slow, we decided to pay more money but get a better server.
As with the old one, this server is in France, and is managed by our host.
We have 100mbps (no traffic shaping), fast CPU, and 1GB of RAM.

Transfering the forum was a pain, because we also wanted to update from IPB 2.1.7 to IPB 2.3.4 Long story short, it didn't work very well, so I had to contact the IPB support (we pay $30 a year for it). They were very fast and professional, as always, and fixed our problems. The only problem left is that our custom skin is not entirely compatible with this new forum version, so Roja is working at fixing it.
The end result is very encouraging, this server is significantly faster than the old one. Now I am confident enough that the website should handle whatever c't will throw at us.

As for the game server, we did a stress test where we had about 1.1K connections, and CPU was at 35%. Based on this information, I would expect to be able to handle around 2500 players at the same time. There are a few more optimizations that I can make, such as multithreading some time expensive routines, which will allow us to accomodate even more players, maybe 3K or so. But before that, I need to profile the server again and see which parts take most of the CPU time.

The client is almost done for the update, arrows and shaders work fine, we just need to do some more testing and we can have the update in 2 or 3 weeks.

18 January 2008

Latest news

The arrows code is done, both on the client and on the server. While we still need some more tests, and probably various fine tunning, everything works fine right now.

Xaphier is working at a vertex shader rendered for the cal3d animations, and he is making good progress. There are still various issues with his code, but once it is done, there will be a significant frame rate increase, especially for people with good videocards. The idea is to move some of the CPU workload to the GPU, for two reasons:
1. Sometimes videocards can do the animation faster than the CPU can.
2. Sometimes the CPU is busy with other stuff (such as compressing video, compiling a program, rendering images, etc.), so by having some workload switched to the GPU, you can play the game at a decent frame rate even while the CPU is busy with other stuff.

A big German magazine (c't) will include EL on their DVD a the end of the month. They will also review the game, and have an article about it.
Now, this is a big magazine (400K readers), and if even 1% of their readers decide to try the game at the same time (like, say, the day it is published), we will have some problems handling so many users.
I am going to increase the server users limit to 2.5K, and hope that there will be no issues. I estimate that our current game server should be able to handle over 5K people at the same time, but the CPU load does not increase linearly with the number of users, so we'll just have to see what happens.
The web server, on the other hand, might not be so lucky, so it is quite possible that for a few days after that magazine is published the website will be very slow, or even unreachable at all.

But of course, those small problems are worth it, it's not often that you can get your game exposed to almost half a milion people (and probably even more if the article will be published on the website too).

08 January 2008

Arrows

The arrows code is almost done, thanks to Schmurk who contributed with a lot of code (about 70% of the client and server missiles code is done by him).
I am almost done with my part of the code, and in a week or two we should be able to have a complete test on the test server.

So far, I am very excited about the whole misisles thing, it's been something I always wanted to have but never got the time or knowledge.

The misisles will server quite a few purposes:
1. Make combat more strategic.
2. Give people of different trades new items to make.
3. Moneysink. There will be two kind of arrows: Training arrows, which will be buyable form an NPC only, and will cost 10gc a piece, and the 'PK' arrows, which will be made by players, and will cost more (will also be more powerful and accurate). Of course, you will be able to PK witht rainign arrows, or train with PK arrows, but doing so might not be a very good idea.