It’s hard to think of a better pairing than Games Workshop and Creative Assembly. The former has dominated the world of miniature wargaming for decades, while the latter has created one of the best-loved series of strategic warfare games for 18 years now.
We catch up with Al Bickham, development communications manager for the Total War team, who tells us about how miniatures don’t just become 3D models, how the codebase got a little off-kilter between the first and second game, and how the company’s PCs have really taken to playing themselves at the game.
You have lots of artists and so does Workshop – is the style guide the same or are you simply reproducing their work?
To some extent yes, because our guide for the models are the miniatures themselves. When we first embarked on Warhammer, Games Workshop sent us two of everything in the current Warhammer catalogue! We had the equivalent of a Games Workshop store in the office.
An artist, a 3D modeller, can jump into Max and completely replicate a model. And it looks absolutely stunning and beautiful but when you try and make it move… all the miniature does is stand like that with his spear, but imagine him turning his head... everything clips through everything, so we have jiggle things around and redesign things.
You’re saying some things are less spiky – that’s heresy!
Yes, but some things are more spiky. A lot of those miniatures look so dynamic in model form because they’re in a dramatic pose, launching forward to attack or defending themselves. To bring that to life, you have to figure out how that figure is going to move.
Take the Wyvern, which is essentially a dragon with wings for arms. So how does it locomote across the ground? The best match we could find in nature was a bat’s elbow-like walking. So they look really bat-like in the game when they move because we had to find some sort of analogue.
But not all creatures have an analogue?
True, take the Hell Pit Abomination, a Skaven creation. Its just made of meat and wheels and spikes, and pumping machinery. Our animators said that people turn that bit and that goes up and down, and it’s great, it looks authentic.
We had so much feedback from Games Workshop throughout the process, we sent them assets, animated models to review, and we get these replies that ‘people are losing their shit here’ because they’ve seen this stuff come to life in this way. And that’s when the studio knows we’re doing the right thing.
You had some teething issues when you launched Mortal Empires...
Yes, Mortal Empires is essentially Warhammer One (WH1) and Warhammer Two (WH2) smashed together and we had some problems merging the dev branches.
To explain: WH1 launches and WH2 starts pre-production, so you branch the code and create a new development branch for WH2. Meanwhile, WH1 is here getting new DLC and it gets new branches for the new DLC, and that then merges into the main WH1 branch. It goes on sale, gets piped to Steam, and carries on developing. Gets another branch for another DLC, and so on.
Meanwhile, WH2 is moving off on its own little development tangent over here, and getting all its new stuff added to it.
Now, in the run up to WH2 we decided to do our pre-order a bit differently because we didn’t want players to feel anything had been cut out of the new game [as a pre-order bonus].
So we decided to do some new DLC for WH1 as a pre-order bonus instead, so if you pre-order WH2 you get something to play now in WH1, some two to three months before WH2 launches.
You’ve probably got players who started playing WH1, but then stopped playing it, and so you can make sure they’re engaged again before WH2?
Exactly, there’s a whole host of good reasons to do it that way, and largely it was a success. And the WH1 branch just kept on developing. Meanwhile WH2 was getting quite a lot of infrastructure changes and UI quality of life changes. The team pulled loads of cool stuff out of the bag with WH2 that wasn’t initially going to be in the specification for the game, making it better and better.
But then the games are diverging further and further...
Yes, our codebases were diverging quite a lot, and one thing we didn’t really think about was the shapes of the databases and where data goes in that massive database of content.
It created a massive wave of bugs and builds failed to compile because we realised there had been so many technical infrastructure changes between the two games. These things just won’t simply merge. It’s then a slow process of picking individual files from those 800,000 compressed files so they can be hand-merged or
re-implemented, rather like creating new content, like making a new DLC patch from scratch.
So that’s a lesson learnt?
We’d do it a lot differently next time, be more selective about how we branch and then make storage depots for certain branches so that you know that one’s never going to change. So if this one is going to get code changes then these need to be reported so it doesn’t interfere with the merge.
You have a passionate community, players often ask for nerfs and changes, do you use analytics to help you decide on these?
We have a great community team that provide reports and feedback. We can hook our system into pretty much any part of the game, see which features gamers are engaging with more, which features we’ve designed that people aren’t bothering with – maybe they aren’t fun enough. We also have reports from our internal QA team and Sega QA.
Then we have a clever autotest system, much like Folding at Home.
Warhammer at home?
In the office actually. We have an internal system so that when you’re out-of-office you can give your PC over to the autotest system. It runs games and campaigns at super-speed, gives us masses of data for unit balancing and faction balancing. And it picks up multiple crashes and will track where those are coming from.
So what we’ve got is a suite of tools that let us take the temperature on that issue in a number of different ways. If we feel that a vocal part of the community is complaining, we can explain how it actually works, because of these systems. If it’s something we haven’t noticed then we run our own test and find some sort of change or tweak and it goes into the next update.