Parts of developing a game like Heroes & Generals is making sure everything around the game runs as smoothly as possible as well, so today I cornered Reto.HansG or a quick look at how that part of the operation works. – Reto.Robotron3000
Today I will tell you about the backend design of the homepage system on heroesandgenerals.com.
I am currently working on updating our weather/light settings and will include these in the upcoming build “Felber”.
I am trying to get all parameters going, with among others – properly working “tone mapping” (adjusting light/darkness to simulate pupil expansion/contraction), so you should be able to adjust and see properly both inside dark rooms and outside in sunshine.
I’m currently working on getting OpenCL into our Retox engine – not the easiest task, since we need to be sure the you are able to run it even if you don’t have OpenCL installed.
But wait a minute, what is OpenCL? OpenCL is short for ‘Open Compute Language’, so it’s a language that can be compiled for a CPU, GPU, CELL or special extension unit at runtime. It will for instance make it possible for us to utilize the OpenCL for repacking textures from jpeg2000 to block compressed textures.
When you download the data-packages for Heroes & Generals, you download all textures in a compressed jpeg2000 format (in order to reduce the download size), but your graphics card needs the textures in another format (with a larger file size per texture). So we need to repack the textures from jpeg2000 to block compressed textures as a part of the installation process.
So, it’s another happy day in the land of the Backend Programming Tyrannosaurus. I’ve made peace with the sheep; We were just too different, I suppose, but I’ll miss the wool.
Anyhow, let’s talk about my other project, Y’know that game thing? We have servers! In fact we have lots of servers, that do different stuff, and I thought you might like to know what the hell that stuff is. Let’s have a look at a pretty picture, shall we?
What we’ve got here is…
failure to communicate a server architecture. It’s designed to keep you, the players, happy. And when are you happy?
Today I will tell you a bit about the system we use to manage the server setup for Heroes & Generals.
A sample graph of the CPU load of one of the servers. You can see that the server load is higher from noon till midnight, but there is still load other hours as well as players from all over the world are playing H&G 24/7.
When seeing the game from the outside it’s really hard to get an idea of just how many machines and services that is actually involved to run our game Heroes & Generals. So, I just wanted to give you a brief overview of the setup. While Reto.Hansg has already blogged about the actual server-hardware and physical locations, I’ll describe the various components.
Below is a diagram describing the setup and the communication channels involved.
My name is Hans-Henrik and my H&G name is Reto.hansg. It’s my responsibility to setup, maintenance and monitor the gameservers, and if they crash, I also get them on their feet again. I have been working as IT-dude in about 20 years now, as system administrator on windows and unix (mostly linux systems).
It is critical to the game that the network is running fast and that we don’t have network delay on the routers in the network to you. So when we order new servers we need to test the stability and the hosting providers network speed to check that it will deliver as planned. I really love this task as I get to talk with some really nice hosting providers all over the world. This gives me the chance to do all kinds of interesting network stuff and I get to see what internet quality we can get in different countries.
The network quality is not great with all hosting providers. We had some issues a while ago with one provider, where we experienced many network errors to the US internet, but the hosting provider managed to fix the problem for us. This sometimes happens, so some of the issues you might experience with bad connection or lag might sometimes be a bit out of our hands, as we currently don’t have our own hosting center. But we do everything we can to make sure that the hosting providers are delivering a high quality service. For example, we use a tool called Nagios to monitor the servers, and to check that the gameservers are running as fast and stable as possible.