Author Archives: Daniel

Dev Journal: Visualising the Battlefields

Hello everyone and welcome to the next installment of our Age of Wonders III Dev Journals.

My name is Daniel and I’m an Artist here at Triumph Studios. I’ve been with Triumph for more than 2 years now, working on all aspects of the environment process, from concept development to final level design.

A lot has changed since the last AoW was released. We are working in full 3D now and that gives us a lot of opportunities to make the game much more immersive.

For the presentation of Tactical Combat we aim to create big sweeping battles with large armies, now featuring multiple characters per unit. We really want to move away from the chessboard feel that a lot of turn based games have and make it look more like an actual battle with a better sense of scale in an epic landscape that resembles the world map location.

Most importantly, our job as artists is to visually communicate gameplay events , while at the same time make things as impressive looking as we can.

Concept art for different terrain types

Translating any world map location to a Tactical Map

For each location on the world map there is a corresponding Tactical battle map. There are a lot of combinations that can make up a location:
There are 5 unique climates: Temperate, Arctic, Blighted, Tropical and Subterranean. Each of these climates are made up out of a variation of terrain types: Fertile, Barren, Forests, Mountains and Swamps.

On top of these climates you have a large amount of structures like Nodes, Mines, Treasure/Visit sites and of course cities for each of the races. These range from small outposts to a large cities, with various upgrades including city walls.

To deal with all these variables and to create unique, great looking maps, we decided to develop a partially procedurally generated system. This enables us to create tactical maps with thousands of variations and an enormous variety.

The Maps are a combination of hand work, asset swapping, procedural algorithms and modular building sets. Level designers are able to pinpoint what obstacles will spawn and in which area. When entering the battlefield a random seed is generated to make the gameplay area unique but still controlled and in the proper setting. Assets are swapped across climes in order to reduce the amount of handwork in creating maps.

Temples such as this one are made up out of random elements that select their source assets from controlled libraries. So there might be a limited amount of TC maps for a particular structure, but each map has randomized elements that make the experience a little different every time.

Just like the old games the adjacent hexagon rule is still in place, meaning that units from nearby hexagons on the worldmap get to join a tactical battle. There are a total of 7 deployment zones in a battle. Units will spawn corresponding to the direction of the hex on the worldmap. The gameplay area currently measures 25 hexes from side to side, which is currently still being tweaked. There are hexes on all sides of the map that enable units to flee.

Generating The Panoramas

With the worlds now being 3D, we decided to make full 360 degrees panoramas around your environment. This gives you a sense of the scale of the world and adds to the immersion. The default camera is more top down, but players are free to move the camera around similar to Total War, and you see the environment in entry/exit camera pans.

These background panoramas are dependent on the hexagons that surround the battle hex on the strategic map. So if you have an army that attacks you from the mountains, a mountain range will also show behind the attacking force on the tactical map.

Behind all of this we had to design a way to control the asset flow. We want this game to work on low spec machines as well, so one of the things we had to do is to keep the memory low. Next to that the system had to be scalable for DLC. Our engine is set up with content libraries and resource packs, combined these contain all the game logic and assets. We try to share geometry and textures among assets and we are able to load only the assets you’ll be using:

As there are still a lot of props like these to make, I will end my development journal here. In following dev journals we’ll be taking a closer look at the gameplay in tactical maps.