VTC Dev Notes: Map Design

Last year, I really wanted to dive deep into the process that we went through in getting the 2020 VTC maps ready, as we put a lot of effort into designing them, but... *gestures vaguely at awful mental health*… so we’re doing it this year instead! Tables are crucially important in the VTC, even more so with the change we’ve made to how table selection works this year, so I’m really excited to talk about all the hard work that has been put in by everyone on the VTC Committee.

A few things before we start that are worth going into. The way that we make these maps is that each committee member takes a scenario or two and makes all of the maps for that scenario. As returning veterans will know, VTC scenarios are announced in advance and in order, which I feel presents an interesting dynamic for the event in terms of choosing what you practice on, and also makes a big difference to the lists you select. As the event is 5 rounds rather than the WTC-standard 6, that means making a decision about which scenario we leave out of the rota. Last year, we chose to remove Anarchy – a choice partially rooted in the fact that Steamroller 2020 was sort of vaguely on the horizon, and we knew it would go away eventually, but also with a basis in it being one of the slower scenarios in the pack. Given the massively international nature of the event, overrun is a huge concern – we don’t want to be keeping people awake! – so we made the decision to leave it out. However, this year, we felt it reasonable to rotate it back in to keep things a little fresh (or as fresh as one can get with a packet coming up to its second birthday!). Interestingly, the possibility of making a custom scenario for the event was raised as a way to potentially make things fresh, but we decided not to as homebrew doesn’t really belong in competitive WMH. Maybe if we’re still in never-ending Steamroller stasis next year, we might consider it. The choice of which scenario to eliminate was a surprisingly clear majority vote – King of the Hill was deemed to be a little bit too troublesome in how much it punishes certain lists, and we had a fair bit of trouble in building maps for it last year. As such, it was benched for this year. Hopefully we see the SR20 (SR21?) revamp soon, as I’m excited to see what changes were made to it.

"Good night sweet prince, and flights of Negation Angels sing thee to thy year's break"

That meant we had Invasion, Anarchy, Recon 2, Bunkers, and Spread the Net as scenarios for this year. We often think a lot about the order of scenarios, which one might think wouldn’t matter, as everyone is playing the same games eventually, but what it comes down to is timings. The first round in VTC is of course played in the league format, so there’s a huge amount of time for players to organise and play their games at their convenience. As such, it makes sense for these games to be played on the slowest scenario – a slow finish to any individual game causes the least amount of detriment to the progression of the tournament. As such, we’ll be playing Invasion as our first round scenario. Then, it comes to the gauntlet rounds, played in the traditional format over one weekend. What makes most sense is to have the slowest scenarios be the first ones of the day. No matter what, these rounds finish at a given time, so we feel that it makes sense to let the schedule absorb any overrun or early finish here, so that we can guarantee an on-time or earlier finish for the last round of each day with a faster scenario. As such, we’ll be playing the scenarios in the following order:

Round 1 – Invasion 

Round 2 - Anarchy 

Round 3 – Spread the Net 

Round 4 – Recon 2 

Round 5 – Bunkers

With our scenarios picked, it’s onto the really fun task of making the maps! It’s at this point that I want to remind everyone that we’re absolutely indebted to Klaas Luyckx and Tomas Mennes for their work in making the stunning original WTC terrain packs available to us, and to Lars Klevan, who, besides making War Table, also helped immeasurably with making sure the packs worked for online play. Massive thanks to all of them 😊 Anyway, as mentioned, we split the maps between us to get them all done. This year, we tried mixing up the terrain packs a little bit, as while making sure the tables look nice and visually cohesive is important, we wanted to make sure they didn’t feel same-y if someone were to play on the same type of map every year. As such, you’ll see that they look a little bit different to last time.

And where we didn't throw in disparate terrain, we made shit puns. This map is called Pier Review, and I'll give you three guesses why. No, I'm not changing it.

The process went a little bit like this. First, we all went away and made our maps. We compiled them centrally in a deep, dark corner of the VTC server, so nobody could see them in advance. Then, we reviewed them for Steamroller legality, as when you’re putting 25 maps together, mistakes will inevitably happen. Big shout out to Thom of the Fishcord team who put in major work in getting this done, and who made us a nice little log of it too 😊

Yes, most of those errors are mine. This is why team tournaments are team efforts 😉

So, after fixing those errors, it was time to review the maps for whether they were... well, actually good and fun to play on! Again, this was a team effort, but one of the things I did to aid this was putting together a spreadsheet on which to rate all the elements of the maps based on common traits that affect games. Because it was me putting it together, there were initially... certain biases.

A reminder that I am not, nor ever will be, sorry.

Naturally this was quickly edited into something more useful before the rest of the committee saw this and ousted me. I started out with the following criteria.

Balance Quotient turned out to be a kind of useless nothing phrase, so I ended up leaving it as a heading but didn’t actually use it. Because I’m lazy. Same thing happened with the unfun marker, not because it isn’t important, but because I despise fun. The rest of them are kind of self-explanatory, but for the vaguer ones, contestability is how easy it is to get something contesting a scenario element and have it not die, and cloudability is how easy it is to build a big cloud wall in an impactful place.

There’s limited value in something like this, because the measures are inherently subjective and will be very different for different lists, but I felt that it would be a useful way to try and compare 25 maps simultaneously. The problem to start with is that I needed to establish a baseline, but my initial passthrough did that just fine. I used a 0-1 measure, and set as a goal to make sure the averages for each criterion were about 0.5 give or take. As I started going through the maps, however, I decided that a few more measurements would be useful. Honestly these should have jumped out at me straight away, but sometimes you have to put something on the table (or in this case, put the table on something) to have things become apparent 😊 

  • Caster Safety: Can they be safe? Are they safe whatever board side you get? Are they safe in an impactful place? 
  • Terrain Count: Just to make sure there was enough on the board. 
  • Central LOS marker: A 1 if there’s a LOS blocking terrain piece in the centre of the board, a 0 if there’s not; nice and simple.  

One of the problems that emerged with these metrics fairly early on was the issue of whether the same assessment could be made of both sides of the board. What if one zone is contestable, or one side has good caster protection, or one are has dense terrain, but that’s not matched elsewhere? I tried to use my best judgement, but this did reinforce that I couldn’t rely too heavily on these measures. I also had to have a proper think about how much variation to have where. Once I thought about the averages a bit more, I felt that variance would also be a useful measure, because table choice is meant to be one of the most crucial parts of the tournament compared to a singles event.

This is what I ended up with initially! Here’s a condensed version for those of you without ant-eyes.

In case it’s not clear, VAR is variance, which is just the range. I took the highest value in the set and subtracted the lowest. I was looking for a decent-ish spread on every set of tables, just so that there was sufficient difference in picking them, but it didn’t have to be super high. I just wanted to make sure there was always a difference between tables, so that the choice would always matter. Then AVG is just the average, and I did that for each set of tables as well as the table set as a whole.

Naturally, these results meant a few tweaks.

It’s not like I wasn’t happy with where we ended up, but sometimes you revisit your own work and think ‘I could do better’. So, that’s what I did. I deployed a few lists on maps that I wasn’t sure about and cycled through opening turns and posturing, which took a fair bit of time but was worth it to really get a feel for things. The comparison I think would be closest would be to looking at the card for a model versus actually playing it on the table – there's only so much you can achieve by doing the former. As such, a bunch of tweaks were made. And yes, I’m deliberately not showing the exact changes that were made, 'cause ultimately what matters is the finished product. Think of it like Week 1 of a CID compared to the final release. As we all have lives, the goal was to get the maximum possible out of just a few tweaks, as revamping the entire map pack would have pushed some deadlines back substantially, and would have invalidated a lot of prior testing, so the focus was on picking the priorities for adjustment and getting them right. I feel like we did that, as you’ll see below with the changes to the numbers.

The only area on which I didn’t meet my goal of being close to 0.5 was on huge base difficulty, and I had to think a fair bit about that one. Ultimately, I settled on not making any amendments, because while having tables be difficult to navigate does provide an important balancing factor to stop some lists dominating, it’s not really super important to screw them over. Everything else ended up pretty much fine in my book, and we were all happy to sign off on the maps for public release. We’re privileged to have Lars host them directly in WarTable for another year (thanks, Lars! Go support him on Patreon if you haven't already), and you can find them by using the Load Map screen, where they’re sorted by scenario (and also have a randomiser), so if reading this has interested you, feel free to go and see how wrong my assessments are! I've also provided them below for convenience :)

Oh, and one last thing. I didn’t want to go super deep into each individual mapbuilding process, because justifying every decision would take an immense amount of time, buuuuut what I’m gonna do next is go through the process I use when actually designing a map, from the very first principles. Let me know in the comments if there's anything you want the map to do specifically. :)

Share this post