- We had a total of 55 settlement battles. 690 possible coastal engagement locations. Two and a half thousand river crossing battle locations, 20,000 possible ambush battles could occur. And we've got probably 150,000 possible land battle locations. It was a hugely ambitious project. My name's Pawel Wojs and I was the Lead Battlefield Artist on Total War Rome II. Our plan to integrate land, sea, and siege forced us to create some groundbreaking tech and we managed to ship just in time. - [Man] Your very best now men. Attack! - Total War is very much unique. It's a real time strategy game that combines both turn based stay craft on the campaign map with real time fully realized 3D battles. With Rome we've set out to kind of realize the epic setting at we had in the previous role game but really bring it forward and try and really bring in a lot of the details that we've had in game since the original Rome. And also bring a lot of new ambition to it. Such as incorporate the naval battles in Roman warfare which we've not had before. Bring in settlements, whole cities. Combining that with the naval and the land. The leap that we were trying to make from outside looking in perspective. Yes it's a leap from Rome I to Rome II. Because for the fans of Rome, it's the next Rome right? For us it's a leap from Shogun 2. Rome I was in a different time. Different engine, different place. We'd made so many moves forward in terms of technology in the game itself. The main technology progressions, the things that we wanted to do with Rome II, I believe the purpose were kind of rebuild the game but also bring in settlements. Have fully realized cities. You know we have a wall surrounding them. Multiple attack directions. Have that real strong connection between campaign and battle. And naval battle. Naval warfare. It was the first game where we wanted to bring in combined battles where not only do you have you know two navies meet and see you have a naval battle. But you also have navies attacking land. Where you have naval disembarkation on two coastlines. Land and naval engagements, sieges, where you have units on land, units on sea, and the siege fully combined battles. Really crazy ideas. Our teams were very small. I mean Rome II was a huge game and we had a very small team. I think at the time we had maybe three graphics programmers. And we have two artists dedicated to the terrain system. We had a guy specializing in vegetation and a few other places. But essentially it was a very small team. So the system that we had to develop was one where we could create a set but also kind of have all of this variation and diversity throughout the map. Which was crazy. But undertaking. So the way we did this, to achieve this, is we something that was new from Shogun 2 introduced us this concept of a global low frequency height map which was basically satellite data with some kind of embellishment from us. That gave you the lay of the land for the entirety of Europe. Meaning that this was one of those kind of you know unique aspects. It would give you unique visual information in every single possible battle location because it was a one to one height map of Europe that wasn't tiled or repeated anywhere. So you know the South of Italy had its own height parameters compared to the North of England. So it was a subtle difference. But it was a very unique difference where ever you went. And then what we had on top of that is the tile system where we had a huge set of tiles that we'd create. The number was only limited by the time that we had. And these tiles were anything from hills to forests, to plains, to swamps, to settlements. And these basically we developed a Photoshop pipeline where we'd paint pixels in color. Each tile had a different color. Each pixel was 256 by 256 meters. With I think 128 meters by 128 meters usable playable area. We'd paint this in Photoshop and that would give us the world. That would basically seed all of these tile sets. So that's a hills tile set would have 20 tile variants. You'd paint the color for the hills. And we would see a random combination of tiles from that set into the area that we'd painted. Which would give us this kind of broad strokes of this data with lots of variation just naturally coming through. Yeah problems. Whenever you're overly ambitious and have a relatively small team that's a recipe for trouble. But I think the biggest problem that we came across is just the vastness of possible battle locations. The fact that like I said we had a possible 170,000 battle locations. And testing each one of those is just unrealistic. For example if a unplayable faction has suddenly taken over the entirety of Europe, some Celtic faction is suddenly waging war on everyone and winning then that's a problem. There's a balancing issue there. For example, you know, factions such as Greece, strong in diplomacy is potentially succeeding through just not fighting any battles but winning through diplomacy. Then that shows a floor in the diplomatic negotiations. And we shipped with still quite a few instances of say floating buildings or, there might be a location where we maybe missed, we didn't see ourselves. Maybe we passed over it. Where the height would just spike up and you'd end up having a battle on almost a 45 or more degrees or a sheer cliff and you could still have these battles. So it's definitely, that was probably one of the biggest challenges. Which led us to actually develop new tools and ways to actually try and address these issues. The testing effort was huge to try and actually test and find issues and log them correctly. So we started developing tools during the project. One of which is our auto testing system. Which we use to this day. I think at the time when we developed our auto testing, we didn't see it anywhere else. So again I'm not an engineer but I'm pretty sure at the time we couldn't see anyone else using it. So the way it works is essentially the auto test basically runs scripts and routines on the game on everybody's machines in down time. So after hours or if machines were idle. The auto test sends off to the build to all the machines that are free so 500 machines plus. And the game just plays out. So we can test for, we can specify the things we want to test. Be it battles of just the game right? So the AI will just play out the game. And all of the factions will play the game and compete against each other, fight against each other. So we can actually see, you know we can spit out the data to show us for example region ownership. So we can do a little time lapse of the visual data. That kind of shows us region ownership over 200 tons. And this kind of informs us of which factions are rising to power, which are dying out quickly. And it's essentially just we simulate game play out of hours. And it gives us stacks and stacks of data. Which is super useful. Some of the statistics as well as obviously the crash data call stacks, memory, instance usage, and that kind of stuff. The auto testing system is also great for balancing. Because when we run the simulations to run the game, we fight all of these battles, we can get stats back on you know which units are over powered, which units are under powered, and we can find any kind of anomalies in balance for the battles themselves. We thought of a way of basically getting heat map data from the maps. With the heat map data, there was actually, it was surprising and also slightly depressing. Because we went to all this trouble to create this huge and varied representation of Europe. And then when we get the data back, we have such concentrated pockets of combat and battles. Where there are huge, huge swaths of the world that players were just not seeing. The game play of the campaign just wasn't taking them there for whatever reason. Because the combat was very much concentrated around the capitals of the major factions. Concentrated in the connecting regions that connect major factions to other major factions. And literally that's all the player saw. Which again is useful because that means that we can go back and look at the campaign. You know pathfinding. Look at the way campaign design and logic kind of takes the players around the map. And maybe make amendments to kind of improve that. Ultimately I think what we managed to do with the tech was great. The one thing that to this day I'm super proud of is just that kind of immersive quality of the game. And the connection you get as a player. Playing on the campaign map, getting accustomed to your surroundings, your place in the world, your location. And then when you actually go into the battlefields, you recognize landmarks. You have your kind of connecting points and places that you recognize from the campaign map. You know the coastlines, the cities in the distance. You really get a feel for this world that you're in. It doesn't feel so much as an abstract as it might've done in a previous game. It doesn't feel, there isn't as much repetition and obviously you know some elements are because it's a game but it's far more kind of compelling and immersive as an experience. And I think that's for me the most kind of, the best achievement I'm most proud of. I'm gonna cringe when all the programmers watch this and they're like what the fuck is he talking about? Generalizing beyond just bloody artists.