I often see valiant attempts by relatively new modders to make Earth maps, that come out... not so great I am not bashing them by any means; after all, making a map can be pretty daunting, and is especially difficult if you don't know the tricks of the trade. I can empathize; the first mod I ever made was a map for Empire Earth II. There's a lot of considerations that go in to making a good map; I will try my best to elucidate everything I can here.
I am currently in the process of making a new map, and I invite everyone to follow along!
Choosing a region is not always as easy as it seems. A good map has a diverse set of terrains, and can allow at least a majority of civs to use their unique attributes. When it comes to terrain, the basic things to look for are diverstity in terms of climates/biomes, elevations, and coastlines. Since resources in the game are distributed according to the terrain at each tile, it's especially important to diversify terrain, or at least assign some resources to tiles where they wouldn't normally spread. Otherwise, the game simply will be unbalanced, and in extreme cases, essentially unplayable.
Aside from practical considerations, choosing a region with flavor is important, be it unusual geography or unique history or something else. A Civ 5 game should be FUN!
For those playing at home:
I typically choose regions that are underrepresented, especially if they have history or if they just provide a unique geography in an otherwise unimportant place. Even cropping a familiar area like Europe in a new and interesting way can work.
With that in mind, I chose Southeast Asia as the area I want. At first glance, it provides some interesting features, but also some problems. The big issue is the Malay peninsula: if I include it, I have to lower the resolution of the rest of the map, and include part of Sumatra. If I don't include it, I have to accept the consequences of having the South China Sea disconnected from the Bay of Bengal. Since I can't really decide this issue based on the terrain, I have to consider the flavor of the map. In my case, I am trying to capture the flavor of the Khmer empire, and the various civilizations and polities that came just before it. Although maritime trade was important, Malaysia would be essentially empty, and there would be less space in the Mekong region, so I opt to crop out Malaysia.
Next, I need to consider China: it was an important player in the history of Southeast Asia, so it needs to be included at least somewhat. However, extending the map too far north adds too much empty mountain space, and extending the map too far east adds too much water. I chose to crop the map up to Hainan, with just enough space to the north to connect to Vietnam.
Lastly, Burma. I don't need to include the northern part because it's just more of the same. However, I would like to include Mrauk-U. Even though it adds a lot of unnecessary ocean, the Andaman Islands can be a proxy for Indian influence in the region, even though it's not historically accurate.
With those things in mind, I can crop a screenshot of google maps to get a region that looks like this:
Keep in mind though that maps are always projected one way or another, so if your region is pretty large, be sure to choose a map projection that suites your needs.
Map size
Not too big, not too small, right? Well, it depends on the number of civs, the percentage of water, and the amount of uninhabitable terrain. Each civ you include should have enough space to settle at least four cities, and each city must be 4 tiles from any other (unless you mod the distance, which may be desirable). This limit doesn't apply to islands or other “continents,” but chances are you wouldn't want to settle so close anyway, and the AI won't either. On the other hand, it is possible to have too much space, in which case, civilizations won't clash much until after they have spread out (if they even decide to!), which may take quite a while, sometimes until the mid-game or even later. This can make the early- and mid-game boring, and wars a chore unless you have lots of cavalry.
How much land there actually is on the map is more important than the physical map size. For example, a map with lots of small, spread out islands will not accommodate as many cities as a map with wide, sweeping plains. That said, wide open plains that mostly consist of desert will not accommodate as many (successful) cities as one consisting mostly of grassland.
For those playing at home:
I am going to shoot for 80 x 70 or so, but we will see if that works...
The Map Making Process
Using our satellite images, we can start making our maps. It would be really hard to do it though without some kind of grid to guide us, so I made a hex grid overlay that can be scaled and used to accurately assess what should go on each tile. I usually work with square grids, but this way should be easier and more accurate. The way I scaled the grid came out to an 85 x 80 map for my region, which is good enough, so I'll go with that. Be sure to align the hexes that suits your map the best.
Basic Map Outline
Now that we've made all the necessary considerations, it's time to start making our map. Start by making a blank map in the World Builder. I like to start with oceans because coastal tiles fill in automatically as you drop your land tiles. Start by marking all the coastal land tiles and islands, and then fill in the continental area.
A fair warning! It's VERY easy to lose track of where you are when making the outline! Be sure that after outlining a section, it ends up where you expect it to. It's okay if it's a tile or two off, but more than that and it will likely cause lots of confusion and misery later on. You can actually see where I messed up Vietnam on my first shot with all the extra coast tiles. You can also leave markers (like a hill) as a reference point. Also, I usually interpret small islands as atolls, so I usually add them during the terrain phase instead of the features phase.
Next, we can fill in the land areas, and add lakes. The only notable one I can see is Tonle Sap. Keep in mind that many lakes are not natural, so depending on the time period you want to represent, they may or may not have existed at the time. A dead giveaway for artificial lakes is a dam at the edge of the lake. I saw a sizeable lake north of Vientiane, but I won't include it for exactly that reason. In Civ 5, "lakes" are defined as bodies of water smaller than 10 tiles. This may be a strategic consideration, but I haven't had a case where it mattered much. Anyway, the size of a lake can be easily modded to include larger bodies of water.
Finally, keep in mind that the flavor of the map can be just as important as the physical layout, so don't be afraid to exaggerate certain features that wouldn't otherwise show up on the map. The islands near Burma and Thailand are a good example; a lot of times, the islands are in the tile directly next to the continent, but if we put it where it's "supposed" to be, it won't look like an island. To remedy that, I move the islands one tile away from the continent, and islands further out can be pushed out as well, blobbed with another island, or ignored altogether if it's too much of a problem.
Map Elevation and Roughness
The next step is to add hills and mountains. There is actually more to this than simply painting all the high areas with mountains, and the low areas with flat terrain. In most cases, I interpret particularly rough areas as mountains, generally without regard to elevation. However, if you are making a map of, say, India, and you don't want much action from Tibet, it's perfectly acceptable to cover it in mountains. It can also represent areas that are totally uninhabitable or irrelevant to the region you want to focus on. Generally, rough areas correspond to mountainous areas anyway, so it isn't always necessary to look at roughness.
To illustrate the difference, I have made plots of elevation and roughness of Southeast Asia based on the SRTM_30 elevation data which you can get here. I'll include the code I made (written in R) below.
Code:
Spoiler:
Code:
# Directory where your SRTM_30 map data is:
setwd("D:/Users/username/Desktop")
library("compiler")
enableJIT(3); enableJIT(3)
# SRTM_30 map data goes here:
raw = t(apply(read.table("SEAelev.txt"), 2, rev))
data = matrix(0, nrow = length(unique(raw[1,])), ncol = length(unique(raw[2,])))
for(i in 1:nrow(data)) for(j in 1:ncol(data)){
data[i,j] = raw[3,i + (j-1)*nrow(data)]
}
# change these values to vary the height bins (in meters)
hillbin = 170
mtnsbin = 500
cols = c("#000000", "#0000BB", "#FF0000", "#FFFFFF")
binMat = matrix(nrow = nrow(data), ncol = ncol(data))
rouMat = matrix(0, nrow = nrow(data), ncol = ncol(data))
rouBin = matrix(nrow = nrow(data), ncol = ncol(data))
for(i in 1:nrow(data)){
for(j in 1:ncol(data)){
binMat[i,j] = 1
if(data[i,j] > 0){
binMat[i,j] = 2
if(data[i,j] > hillbin){
binMat[i,j] = 3
if(data[i,j] > mtnsbin){
binMat[i,j] = 4
}
}
}
}
}
png("elevation.png", width = nrow(data), height = ncol(data))
plot.new()
plot.window(xlim = c(1,nrow(binMat)), ylim = c(1,ncol(binMat)))
for(i in 1:nrow(binMat)){ # longitude
for(j in 1:ncol(binMat)){ # latitude
polygon(c(i-0.5, i-0.5, i+0.5, i+0.5),
c(j-0.5, j+0.5, j+0.5, j-0.5),
col = cols[binMat[i,j]], border = cols[binMat[i,j]])
}
}
dev.off()
# change these values to vary the roughness bins (in meters)
hillrou = 300
mtnsrou = 700
for(i in 1:nrow(data)){
for(j in 1:ncol(data)){
if(i != 1) rouMat[i,j] = rouMat[i,j] + abs(data[i-1,j] - data[i,j])
if(j != 1) rouMat[i,j] = rouMat[i,j] + abs(data[i,j-1] - data[i,j])
if(i != nrow(data)) rouMat[i,j] = rouMat[i,j] + abs(data[i,j] - data[i+1,j])
if(j != ncol(data)) rouMat[i,j] = rouMat[i,j] + abs(data[i,j] - data[i,j+1])
}
}
for(i in 1:nrow(data)){
for(j in 1:ncol(data)){
rouBin[i,j] = 1
if(rouMat[i,j] > 0){
rouBin[i,j] = 2
if(rouMat[i,j] > hillrou){
rouBin[i,j] = 3
if(rouMat[i,j] > mtnsrou){
rouBin[i,j] = 4
}
}
}
}
}
png("roughness.png", width = nrow(data), height = ncol(data))
plot.new()
plot.window(xlim = c(1,nrow(rouBin)), ylim = c(1,ncol(rouBin)))
for(i in 1:nrow(rouBin)){ # longitude
for(j in 1:ncol(rouBin)){ # latitude
polygon(c(i-0.5, i-0.5, i+0.5, i+0.5),
c(j-0.5, j+0.5, j+0.5, j-0.5),
col = cols[rouBin[i,j]], border = cols[rouBin[i,j]])
}
}
dev.off()
Elevation map:
Roughness map:
Some areas, like the isthmus of Kra and the Dangrek Mountains, show more roughness than the elevation would suggest, while other areas, like the Khorat Plateau and central Burma, actually show less roughness. A less technically involved method would be to look at Google Map's terrain setting, but there's no option to turn the text off. Another method is to just zoom in on the map; rough areas tend to have more forests in rainy regions and tend to be more colorful in arid regions. This method is less accurate and much more time consuming though.
For those playing at home:
After much grueling work and some major corrections, I now have an 85 x 77 map with all the elevations. I wasn't too concerned with accessability, so I will have to make some final adjustments near the end. Generally, mountain enclaves should have enough room for two sets (sequences? trains?) of units to continuously make their way into the valley. I found that just making a two-tile wide access works pretty well for my Morocco map, although in this case, it may be enough to make the mountains fairly porous. The thing to avoid is settlable areas within the one-tile corridors, because they will be almost impossible to attack with any success, and will provide an obstacle to neutral or friendly units.
Terrain and Trees
I usually do terrain and trees at the same time, since they are both representations of the local climate. The terrain in my case is easy: it should be mostly jungle. Whether or not you have simple climates, lean towards more diversity. Most strategic resources require bare hills and bare plains/grassland, so be sure to have plenty of spaces.
I'll write up a crash course in weather and climate eventually and post it below, but for now, the important thing is that terrain progresses generally like this:
Jumbled up terrain is very rare in nature, usually looks bad, and usually is bad. Avoid it like the plague.
For those playing at home:
After some trial and error, I reached a good balance of hills, open areas, jungles, and forests that will spread enough iron and some horses here and there. I opted to cover the mountain passes with forest, to make them less appealing to settle. Jungles yield 3 while forests yield 1 and 1. Gems commonly spread to Jungle hills, and deer are bound to forests, but on the whole, the lack of food for forests should make them less appealing than jungles.
"Continents"
In Civ 5, you have the option to paint your tiles with four different "continents." While not immediately obvious, they determine the art style of the tile. For most terrain, tree, and elevation combinations, there is a unique art style. While it has been suggested that you avoid painting a single (physical) continent with more than one continent art style, it IS entirely possible to do it without making the map "ugly." The rule to follow is this: Do not use more than one continent art style per contiguous tract of the same terrain. The only time this can work, IMHO, is when contrasting rocky desert hills with sand dunes. My Andes and SoI Middle East maps both employ different continent styles like this, and look fine.
Most terrains look about the same, but a few are worth remembering:
African Desert Hills: Not just hills, they're sand dunes!
American Forests: Have red leaves, good for an autumn feel
American Mountains: Kind of snowy
European Mountains: Really snowy
For those playing at home:
Nothing to see here, all the Asian terrains are fine
Rivers
This is usually the hardest part for temperate and tropical areas, as there are many rivers associated with these climates. Doing the terrain, trees, and elevations beforehand can offer lots of waypoints that can be used to keep track of where the rivers are supposed to be, so it shouldn't be too bad at this point. In rough areas, rivers should just follow the valleys. Civ 5 does not have a way to place distributaries on the map, unfortunately, so you'll need to use a workaround if they are important. I usually don't worry about it though.
Balancing river versus non-river tiles is important (especially pre-BNW), and river tiles shouldn't count for more than about a third of all tiles. Try not to have them meander through passages too much, as it will slow down units to a crawl.
For those playing at home:
Rivers are hard to see zoomed out, so here's look at the Cambodia region:
You may want to plop a few resources and natural wonders to enhance less desirable areas that you want to be more important in the game. I chose to put some Ivory and a few Incense, Wheat, and Gold resources to add luxury variety and enhance a few historically important spots. Ivory is also required for elephant unique units, so that's another benefit.
That said, assigning all the resources manually will greatly impact replayability, so aside from a few preplaced resources, make sure resources (and ruins, for that matter) are randomized.
For those playing at home:
Quality Control
Of course, you won't always know what issues remain with the map until you play a few games with it. Try a few different civs with different playing styles to make sure the map can accommodate them. Also keep an eye on how the AI is doing. If AI in a particular part of the map are consistently stronger than AI elsewhere, it probably implies a balance issue, and that region should be nerfed. Setting starting positions would be an ideal solution if Firaxis would actually fix it but you can package whoward69's random start positions with your mod to accommodate that. It has its own problems though, since it essentially negates whatever start biases there are.
For those playing at home:
You may have noticed that I changed some elevations as I went along. It took a few play-throughs to get the right balance of jungle/forest/clear areas, and to look for strategic areas. Here's a game as the Aztecs:
I had some difficulty getting my religion off the ground, since Askia was spreading Islam like crazy. Austria and Sweden have been the strongest contenders in this game for the most part. Indonesia was also pretty strong until Sweden razed Medan (the current Medan is in the same spot). Zulu is pretty weak, but Shaka kept building up an army to rush, and Korea is doing fine, so there's probably no regional bias there. In other games, I've seen strong players in Burma, so there may be a bias issue.
Alright, I am complete noob with photoshop and the like. This grid you use, how do i "Expand" it? (I want 180x94 for the Giant maps). And what program did you use to overlay it?
I used GIMP actually, but in either case, you just create two layers, the top one for the grid and the bottom for the map. What I meant by 'expandable' is that if you copy and paste two of the grids side-by-side, they line up correctly.
Well, nice work. Noob question: I edited a map for a planned scneario, but when I start CiV my edited map doesn't show up. What gives? (It's in the Maps folder, but when trying to select it, it won't show up in-game.)
Well, nice work. Noob question: I edited a map for a planned scneario, but when I start CiV my edited map doesn't show up. What gives? (It's in the Maps folder, but when trying to select it, it won't show up in-game.)
Ah. Well, I can get the map to load now, except it's messed up. Instead of loading the scenario, it loads the map with no civs/cities in place. I will check about the content entry.
Typically when a class of objects is missing from the map, it means there's some kind of bug in that table. My guess would be that it's something in the civilization definitions.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.