One of the things we need to do when creating buildings and other props for the game is to build LOD (Level Of Detail) models. LOD Models are low-resolution models that are used when you are looking at something far away. If you imagine a door with hinges, keyhole, door handle etc. When you are 50 meters away you cannot really see any of these, so there are no reasons for the computer to spend CPU and GPU power drawing them.
Continue reading to see how we got there :-)
We are hard at work with new levels with shiny new tools! In today’s post I’ll tell you all about how we work, why it takes time to make a level and what we’ve been doing to remedy this.
You have to consider that for every new, unique environment we want to put in the game, there is a lot of man hours and coordination involved. The environments have been created first, that is, the textures and geological rules for how the terrain features should be generated. A new one of these is a big decision as it takes time to make and affects everything that will go in it. We stick with it for potentially many maps. Then level design and level building is done using one of the environments, and any special models can be planned alongside this. A new environment can also be planned and created alongside a level design. When planning new models, we aim for re-usability, not only to have the option to place it in other levels, but also in case anything should happen to that special level they were made for. If we decided to cut a hypothetical Paris-level, it would be a shame to have a beautiful hypothetical Eiffel-tower just sitting on our hard drives! These are just some of the considerations we need to take into account when we want new map content in the game.
The focus in Heroes & Generals, as of now, is on the European theater of WWII. With the two factions battling for the other’s capital, the way to success is capturing land. And land in Heroes & Generals means cities. And lots of them.
You see, we really want to reward cooperating and strategic thinking players, and the way to do so, is to make sure that tactical players have an advantage. In the action game, owning more access points means an advantage for the attackers, since it’s harder to defend a city when attackers are coming in from multiple sides, and in the upcoming new battle system and resolver, the amount of access points owned by either faction has a say in the defending and attacking stacks’ combined force.
As part of our effort to pull back the curtains and show what happens behind the scenes I have asked Reto.Injection to explain a bit about what he is currently working on. And as you might have noticed in the last few Intelligence Bulletins, he is working on a new and much improved resource system.
The resource system handles resources – resources? I hear you ask! Yes! Resources. Resources are everything the game loads into the engine; characters, weapons, textures, vehicles, materials and so on. – Reto.Robotron3000
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.
One of the areas we focuse on now is to increase the amount of users our servers can handle at once. This goes for both the action servers (currently limited to 24 people per battle) and the strategy game servers. This post is about the strategy servers.
Of course, we design, build and program the servers, to handle high numbers of players at once. But there will be bugs and unexpected bottlenecks, so we run some internal simulations of lots of people, to test if everything is ok. But no simulation is as good as the real thing, which is why we also run load tests with the players from time to time.
The idea behind the load tests is to get enough people on to get at least one of the servers into trouble. The tests tell us 2 important things:
1) How many people we can handle currently
2) What we need to fix in order to increase that number
In order to maximize the amount of people coming in, we close the servers for about 24 hours leading up to the test, and send out a bunch of new beta keys.
The tests involves a lot more people than are usually on, so they are usually quite chaotic and the servers are less than perfectly stable. The chat channels are burning with questions from new players (and old), while we on the dev team are focused on the performance data coming from the servers. Stressful as it is, i still think it is fun to be part of.
Last time we had a load test was about two months ago. When we reached 300 users, one of the servers started showing problems and at 600 it had all but given up, and we stopped the test (it was the server that handles statistics about everybody’s kills, deaths, captures, favorite weapons etc.). The good news is that all the other servers seemed to be coping just fine. Since the last test, we have been working on fixing that issue, and we are almost ready for another test. Thanks to everyone who joined!
See you soon for another test.
Knowledge is power. Information is power. The secreting or hoarding of knowledge or information may be an act of tyranny camouflaged as humility.
– Robin Morgan, American Poet and political theorist
Woah woah woah…. Hold your horses Ms. Morgan. And stop calling us at Reto-Moto “tyrants”! Alright?! Its not like we don’t want to give information to our players about the war and their assault teams, we just haven’t got around to making the feature yet…. Ok, ok – stop grumbling. I’m on it.
Sorry folks, you had to hear our little tussle with the political activist where she was complaining about the game not keeping players updated about important events in the war. But she just doesn’t get it! The game’s still in “Closed Beta”. Anyway, that’s not a good enough excuse. And we know it.
So, here goes a few words about us preparing a framework which stores all the important events in a war, which would pave the way for a “War Log” feature to be presented to the players in a future build. We’re starting out with a few select important events that are being tracked, such as:
- Player Login/Logout
- Players Joining an Action game
- Assault Team movement
- Assault Teams losing resources
- Assault Team’s supplies being created and when they reach the AT
- Assault Team initiating battle
- Assault Team retreating from battle
- Assault Team movement blocked
- Faction winning and losing control of Battlefields
That’s not to say it’s the end of it – more info will be added in the log as we go along. The framework is actually already in place and its recording some of the above mentioned info on the Live server – right this very moment! Here’s a sample of the raw data dump taken from the server (some pieces of info are removed, in order to adhere to mine and Reto.ogssan’s privacy):
On some objects in the game, for example the foundations of both the Stone Bridge and the church (on the Medium French Village map), we make use of a shader technology called displacement mapping.
Displacement mapping is a technique for adding geometric detail to the mesh the shader is applied to.