It was a totally awesome weekend for GalCiv AI and perf progress.
There is a lot new in GalCiv III over GalCiv II but one of the most obvious is the number of players and the galaxy size the game supports.
GalCiv II topped out with 16 players. That was a lot for back then when you’re dealing with a non-cheating, sophisticated computer AI that has to design its own ships and planets.
But GalCiv III tops out with 128 players. That’s 8 times more players than GalCiv II and the map sizes (or more importantly, the number of planets) tops out at around 8 times more as well if you’re really wanting an insane game.
Thankfully, our CPU power has increased by a factor of 6 since then. But that power is a bit deceptive because most of that power comes from multiple cores. In 2006, the high end machines had 2 cores which GalCiv II made the most of. Today’s machines have more and we do our best to utilize them.
Turn Time focus
The most interesting way to get perf improvements is to throw everything we have at it. In this case, play a game on an insane galaxy with 100+ players. On Beta 5 (the build you have) each turn took on my monster box 95 seconds by turn 5. That’s unplayable IMO.
So why was it so slow? Things that are fine with 10 players quickly break down as you add more. But even at 10 players, those inefficiencies are there. By the time we finished this evening, we had gotten that time to 24 seconds. That’s still really long but we’re going to have to soon make tough choices between non-cheating, smart AI and performance.
The good news is that there’s still a lot of room for improvement between now and release. On a more reasonable map size, the next beta update should be a pretty spectacular improvement.
The analytics on strategy games show that most people don’t really appreciate good AI. But we know our core customers care about it and that helps motivate me to make sure the AI is as good as I can make it in the time available. I look at GalCiv III as the starting point as I am sure I’ll get schooled by other players. But this weekend saw some massive improvements to the way the AI fights wars and detects threats.
The AI improvements were one of the reasons I decided to dive into the performance issue so much. The things I’m doing are expensive and while I am pretty familiar with how to limit the scope of an AI call, it’s still expensive to do a proper threat evaluation.
Not this week but next week I’ll get started on the diplomacy AI. I’ll be asking for your feedback on possible exploits and such to look out for.
The stability on the largest maps is still really tough. It’s made a lot of progress recently but it still has a ways to go. It’s not particularly complicated it’s a matter of optimizing and compressing data to handle those really really really large maps.
As a practical matter, if you have less than 4GB of memory you should probably not be going beyond large. The large map size in GalCiv III is really big. The bigger ones are gratuitous but are also being made with the knowledge that in a few years, 16GB and 32GB will be a thing.
That said: We are focusing a great deal of effort in optimizing memory use.