For each map, the first step was design a 2D Concept about what we wanted to see and play in the map. They had a range from 1024×1024 to 2048×2048 pixels, being one-pixel a one-meter in the game.
Design a large map meant that we had to add less details in it, to allow the engine run properly. Desert-like maps were the most appropriated for this size, while smaller ones were more suitable to add a large amount of details.
From 2D to 3D
The next step is to create an orography according to the previous design. To do it, we imported greyscale heightmaps in order to make a terrain easily in the in-house map editor, where the different grey tones indicated the different heights. We got a substancial memory savings by using this method.
Adding terrain details to the map
When we had the overall terrain, we added roads by using bezier curves in the map editor. We were able to select different road materials (asphalt, soil…), based on the terrain of our map, as well as crossroad s and forks.
Then we added objects to our map which were anything that was over the terrain and wasn’t interactive. We had two categories: vegetation (trees, bushes and grass) and props (houses, benches, fences…). When we worked on it, we had to keep in mind that large objects could block the path for the AI and a huge amount of small objects, like forest, could slow down units.
Realism vs Gameplay
What I learned by working in this project was that realistic environments not always fit with the expected gameplay. Therefore, we had to design accordingly. For example, the street of small towns should be wide enough in order to avoid issues with the AI of units and troops, and allow them to walk around the town.
The same problem should take into account when leveling maps for the cities.
Other problem I had to face here, was the impossibility to differentiate one city to another, because the lack to building models. Finally, a solution we proposed, was to add a very representative building, monument or place of interest in the non-playable area.