
As part of Elemental: War of Magic’s v1.1 stability testing, we play through thousands of turns in order to see what sorts of stability things we might run into.
The most common things we’ve been addressing include:
(1) Good old fashioned access violations. These have largely been the result of functions that aren’t “thread safe”. Elemental v1.1 is very multithreaded. If you have a multicore machine, you’ll be able to really see this, especially late game. v1.0 of the game was more like traditional PC games where the the AI, economic engine, garbage collection and graphics all run in the same thread. In order to make the kinds of AI improvements we wanted to make, we needed the AI to run in the background so it could have more time to make more sophisticated strategies. However, that means the AI and the main game are often “touching” the same bits of data. So this has been a major focus of work.
(2) Critical Section conflicts. This is where one thread is trying to touch a piece of code that is being reserved by thread B but thread B is prevented from going further because thread A has reserved some part it needs. The result is a “deadlock”.
(3) Memory. Does memory leak? This was a real issue during the beta and in v1.0 because many of the APIs we were using were relatively new and some of the video drivers were not releasing the textures. Thus, we would have to work around these things. That’s why some people never ran into memory issues and others did. In v1.1 this has largely been resolved except for the case when the game itself is simply using a LOT of memory (not from leaking but simply because it’s a big map with lots of stuff going on and the map is largely uncovered. This will be something we’ll optimize further in v1.2 (future update) with level of detail tweaks.
In the game I’m playing, after a couple thousand turns here’s where I’m at:

So what’s been happening?

Elemental, 842 years after the Cataclysm.
They’ve managed to eliminate each other with only 3 powers left. There’s quite a road network going on.
Makes you wonder what the AI, left to its own devices, will end up with.

The city of Anisirk has a population of 2,680 people.

This one army has a combat rating that is over 6,000. Armed with Lord Hammers they’re incredibly powerful.

On defense, however, you can see that the AI can still get a lot better in designing units.

Gilden has become quite impressive.
Elemental in the year 842 AC

Altar has dragons.
These are all cities built by the AI.