Galactic Civilizations III: Map Sizes and Memory

Published on Wednesday, February 14, 2018 By Brad Wardell In GalCiv III Dev Journals

One of the biggest challenges we have faced in developing Galactic Civilizations III has been map sizes and the memory they require.

On a number of occasions, we have tried to reduce the the largest map sizes down to improve performance and shrink memory requirements.  And each time we have attempted to do that, we have ended up with a very vocal outcry of anger.

But large map sizes come with a significant memory cost to be aware of.

Galactic Civilizations, like its inspiration, Sid Meier's Civilization, is a tile based game.   Virtually every space strategy game is point based (you travel across the galaxy from point A to point B without going in-between). There's a good reason why they do that: scale.  If you want your space game to appear to have an epic scale, then you need to have stars that appear to be very far from one another.  For Galactic Civilizations to pull off the same thing, as a tile based game, means a lot more tiles and a lot faster (late game) ships.

For reference, here are the map sizes for Civilization VI:

Size Dimensions Players (Default/Maximum) City-States (Default/Maximum) Total Tiles
Duel 44×26 2/4 3/6 1144
Tiny 60×38 4/6 6/10 2280
Small 74×46 6/10 9/14 3404
Standard 84×54 8/14 12/18 4536
Large 96×60 10/16 15/22 5760
Huge 106×66 12/20 18/24

6996

The largest map size would require around 2GB of memory (on average). So, the largest map size in Civilization VI has around 7,000 hexes. 

Let's take a look at Galactic Civilizations III:

Map Size Players (rec) RAM Req (MB) Tiles
Tiny                       3                       967                   2,037
Small                       4                    1,483                   4,157
Medium                       5                    1,939                   6,495
Large                       7                    2,903                12,731
Huge                       9                    3,925                21,044
Gigantic                     12                    5,544                37,412
Immense                     16                    7,246                58,457
Excessive                     32                  16,647              233,827
Ludicrous                     50                  30,729              649,519

That's right, the Ludicrous map size has 100 times more tiles than the largest Civilization VI map.  More tiles isn't better, it just means the maps are much bigger and more to the point, and the memory requirements go way up.

Until you get to HUGE map sizes, you don't really need a crazy system to play Galactic Civilizations III.  But what frequently happens is that people with perfectly good gaming systems will paly on the Ludicrous size and find it very slow. Why? Because you need 32GB of memory to play it well (or else you'll be swapping out memory constantly to disk).

Even if you have enough memory, picture the pathfinding for 50 players (and GalCiv III supports 128 players) if there's 650,000 tiles to potentially go through.  Path finding is what most of your turn time gets consumed by. 

Luckily, GalCiv III has a multicore AI which means that each pathfinding task can be distributed to your CPU.  But again, even if you have 32GB of memory, if you have 50 players but only a 4 core processor, you're going to be in for a world of hurt.

For optimal performance, you shouldn't have more than 2 players per logical processor (usually 2X your cores).  So if you have an 8 core machine with 16 logical threads, you're probably fine with 32 players.

However, I frequently get saved games from players who have 4 core machines with 8GB of memory trying to play on these ludicrous maps with 100 players who have given us a negative review because "obviously" we have a memory leak.

Going forward, I highly recommend not going beyond Gigantic unless you meet the specs above.  In version 3.0, we will be listing these requirements when you pick the map size to help players keep themselves out of trouble.

So now you know why we keep trying to roll back those big maps.