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:
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:
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.
Threads can't solve everything with turn times. Each player has to move on its own. We don't have simultaneous turns. So the more players you have, the longer it will take regardless of CPU cores.
Thanks for clarifying that. I'm still sad it's a chore to play with many race on my system, but I understand it can't be helped at this moment.
Totally agree! Map size means nothing when there are so few habitable planets.
From being someone who wanted the absolute maximum of everything in every game - I spent more than my wife knows on my PC so it could handle it.... - I'm now very much of the 'less is more' school of thought. Fewer colonies, fewer civs and fewer resources make for much better gameplay (IMHO), and turn times, loading, all the rest of it are so much faster and smoother. Stars and planets common, but habitable planets and pretty much everything else uncommon, with slow game pace and research has become my preferred setting. Still like those Ludicrous map sizes though ....
Finding a habitable planet is significant moment, and the race to take it and that Durantium deposit with the Thulium right next it? O.M.G. Whereas when they're all abundant, it's just "meh, another one, I'll pick that up later. Maybe."
Just feels to me like each decision matters more when there are fewer decisions to make. And the game flow and immersion is so much better when you're not waiting, waiting, waiting each turn. But each to their own, YMMV.
I agree. I play with everything set to "Occasional", usually with Immense galaxies. I like having fewer things so that I have to make better decisions or suffer the consequences.
All I am saying is I prefer a small map with 50 habitable planets to a large map with the same 50 habitable planets. What does empty space contribute to gameplay? Nothing.
Galaxy size should be defined by available real estate, not hexes.
IMHO It's a Space game, and Space is 99.9999% empty space. Things are a long, long way away from each other. What's the point of basing a game in space if everything is close together? Might as well be based in a country or on a continent. Empty space makes the game what it is. The distance to resources and other civs and the time it takes to get there through that 'empty space' is a strategic consideration that requires planning and coordination well in advance, and for me it increases the depth and immersion. But I like a slower pace of play, so I enjoy the early game where you have to wait for ships to get to their destinations and plan which areas of the map you're going to scout. Lots of other players would find that tedious, I get that. By mid game I've always got some hyperlanes in place, and well before the end its a comprehensive network that gets ships to any corner of the map in no time.
I like my Galaxy defined by size. And even at the lowest settings, there's always ample planets to rush for and - eventually! - fight over.
Realistically, I give you that most of the universe is empty space. But realistically, the average galaxy has 100 billion stars with likely billions of habitable planets. It´s not realistic at all that habitable planets are a scarce resource. They are not.
It simply doesn´t feel right that, even with hyperspace, finding a habitable planet should be a big issue. In GalCiv I and II, it wasn´t iIrc. Super planets were scarce, but class 10 or 12 planets, not so much.
There's no right or wrong, just different preferences.
JJust different styles of games. Personally, I'm finding the whack-a-mole style a it frustrating.
Fundamentally, what I wish we could have done is found a way to have our cake and eat it too: Clusters of stars with a sort of fast travel to different clusters.
Under the current system, it's very memory intensive because every tile, even blank ones, use just as much memory as a tile with a planet on it. They don't use a lot of memory but when you're talking about many thousands of tiles, they do add up. And don't get me started on the pathfinding times.
I liked the way that Star Wars: Empire at War did it; each planet/star system was a build tile where you could build things, then it was connected to the local planets by traversible routes, which you couldn't stop midtransit. Some were hyperlanes that you could travel faster on. I wouldn't want the same exact system, perhaps more freedom of where you can build and so forth, but I think it would provide a basis for reducing memory load. It would also help make things a bit more defensible - something I'm finding pretty hard at the moment.
This game mechanic have its advantage - like it in SW:EaW self, but here it is at lore not possible to going in the space between planet systems - so here it make sense ....
For GC3 i am happy to have the option to going in the space between .... but i think only, as the planet systems self are to limited (small/uninteresting) so nothing from value i get from the planet system self ...
The same problem have Stellaris - one of the reasons i stop playing it ....
The planet system self is an big space - but you cant build things like you will - as it was before 2.x - here you can build bases anywear in the system ... (now after 2.x you musst build an defence station always in the centre - limit the strategic posibilitys heavy)
This is the reason my all-time-top 4X SpaceStrategic game is still SpaceEmpire 5 (with mods)
Here you have the limited game mechanic like in stellaris and SW:EaW that the space between the systems cant be reached...
But you have "in" the planet system an Hex field so you can build a base where you like .... place resource stations where you like, with mods even in nebulae and asteroid fields ... so much more options ...
But i have no problem with an full open space (as in GC3 and Distant Universe) too ....
It's exactly the right formula. HexSectorSize is the radius of galaxy minus 1 (the central hex) and also the galaxy's edge length minus 1 ('cause first hex is also the last of previous edge)
Here a little explanation of where the formula comes from and an update with the latest MapSizeDefs.xml:
To know how many hexs counts my galaxy, I've to calculate my central hex (1) plus the number of hexs added by each ring of hexs from the centrum to the last edge. We can quickly see that each new ring adds 6 hexs more than the previous ring.
So first ring (2) brings 6 hexs (6 because central poly is an hexagone), second ring (3) 12 hexs, third ring 18 and so on.
We can write 1 hex (central hex) + 6 x 1 (first ring) hex + 6 x 2 (second ring) hex + ... + 6 x n (n = number of rings) hex
To simplify, we have 1 hex + 6 x ( 1+2+...+n) hex = total number of hexs in given galaxy
To know what gives 1+2+3+...+n where n could be egal to 1 million if we want, the best way is to consider it like a stair and use geometry.
Then, for example 1+2+3+4 :
When I add a copy of my stair upon the initial stair I get a rectangle of 4 x 5 squares. The principle is to determinate dimensions of our rectangle, I've to take the highest number of my initial stair (here 4) and multiply by itself plus 1 because to make match my stairs and form the rectangle, I have to add a column or a line (here a line). It gives 4 x 5.
Now to come back to the right number of squares in my initial stair, I have to divide by 2 because before I doubled the number of stairs (initial + copy). Just like if you wanted split a rectangle into two egal triangles.
To translate into equation: 1+2+3+4 = (4 x (4+1)) / 2 = 10 (you can count each squares, that's right)
With n: 1+2+3+...+n = (n x (n+1)) / 2
The full equation is 1 (central hex) + 6 (because hexagonal) x (n x (n+1)) / 2 (n is the number of rings) = total number of hexs in galaxy.
We get: 1 + 3 x (n x (n+1)) or simplified 1 + 3n² + 3n
Practical example: Tiny galaxy has 32 HexSectorSize ( =number of rings of hexs)
so you can choose: 3 x 32 ² + 3 x 32 + 1 = 3072 + 96 + 1 = 3169 hexs in tiny galaxy
or: 1 + 6 x (32 x (32+1)) /2 = 1+ 3 x 32 x 33 = 3169 hexs (this one is easier to write in your calculator)
Now the table for each galaxy size:
Denomination HexSectorSize Tiles number
Tiny 32 3169 hexs
Small 50 7651 hexs
Medium 64 12481 hexs
Large 90 24571 hexs
Huge 120 43561 hexs
Gigantic 180 97741 hexs
Immense 250 188251 hexs
Excessive 400 481.201 hexs
Insane 524 (a lot of rings) 825301 hexs
I guess if you conquer the full galaxy you become the Lord of the rings. Cheers
There are many great features available to you once you register, including:
Sign in or Create Account