PAXsims

Conflict simulation, peacebuilding, and development

Ace of Aces: or, why you should Do Maths as a game designer

Every now and again you come across something that stretches your brain in a new direction. Last week I stumbled on a magic trick of a Choose Your Own Adventure: Al Leonardi’s Ace of Aces, a paper computer running a first-person shooter, programmed in 1980—eleven years before Wolfenstein 3D, the “first” first-person shooter.

Wait what? A physical game can be a computer?

There are of course, all sorts of early “computers” of various flavours that predate what we generally mean when we talk about computer programs:

All of these devices share a common limitation: they may be programable to a degree, but they solve a singular problem: the Writer can only hand-write a message stored in his main cam “memory”, the Difference Engine and Curta perform particular mathematical operations, fire control computers perform only that calculation…the device is the program, in the same way that Wolfenstein 3D is a first-person shooter, not the computer or operating system or programming language used to make it run. And when you start to think of programming in these terms, all sorts of interesting “computer programs” are there to be explored:

Computer programs are just algorithms—often big and quite complex—but at their heart, just a list of mathematical instructions:

  • Add two numbers
  • Subtract two numbers

…and from there all mathematics is possible… (seriously. That’s what a slide rule does: “multiplication” is just adding the value several times.)

You can encode these operations in a (real) computer program by writing code. You can encode them mechanically. One of my favourite YouTubes of all time is the 1950s US Navy educational film explaining how mechanical computers perform maths:

And if you know a little about analogue electronics, you know that basic electrical circuits just do maths, and from there you can create all the complex logic of analogue and digital computing. Which is a long way of saying: if you can say something with maths, you can construct an algorithm that computes it.

Board games are doing this all the time and we just don’t think about it so much:

Sometimes the player performs operations to physically compute for the game: rolling a dice for a random number.

Sometimes the state of the board is the computation. You see this kind of trick used to modify player abilities directly inside game mechanics: when you “score” with pieces otherwise used to play the game, removing them from the board to track your score imposes a mechanical disadvantage: in the 2-player game Yinsh, you move one of your three rings to construct 5-in-a-row patterns—but when you connect five, one of your rings comes off the board to signal this, reducing the options you have to connect five again.

From a particular frame of reference, this is an algorithm encoding some pretty sophisticated maths.

Sometimes the computation is encoded in a look-up table. These can be simple conversion factors, like the 4:1 ratio to trade resources with the bank in Catan, or fairly complex range tables for weapon class vs armour class used in the Wargames Research Group games.

Choose Your Own Adventures are essentially a look-up table: after each page the player is presented with a list of options and the page to turn to if you choose that option—a look-up table that converts their choice into the next page number.

What’s so interesting about Ace of Aces?

First: what is Ace of Aces? It’s a two-player World War One dogfighting game. One of you is the Red Baron, one of you is Snoopy Biggles, and you attempt to line the other up in your sights for some dakka dakka dakka. So far so several other board games. What sets Ace of Aces apart is the ingenious interface: you play with a pair of picture books, one for the German pilot, one for the Allied pilot. Each page of the book shows you the view of your enemy given your current position.

Each page has a list of manoeuvres you can choose from and the page to turn to that “performs” the manoeuvre. I’ve put “performs” in quotes, but as we’ll see, the look-up table actually has this maths encoded into the page numbers, it’s some sneaky-clever design.

Your opponent tells you the page number for their move and you turn to that page. Then you look up your move in the look-up table you find there, and—by the Power Of Awesomeness it will take you to the same page number as your opponent gets to by turning to the page for your move and then looking up their move.

The entire game is encoded into these paired books:

  • No matter what manoeuvres you and your opponent pick, you always end up on the same page number.
  • For any given page number, the relative positions of the two planes are the same in both books. One shows the view from the German aircraft, the other shows the view looking back the other way.
Both players are on page 170. The Allied player sends the German player to page 64, the German player sends the Allied player to page 54:
…where we see the Allied player side-slips left, and the German player makes a stall-turn right…
Both players end up on page 15

There’s a lot of interesting stuff going on here! But before we dive into how the magic trick works (maybe your maths brain has an inkling of what may be involved ?), let’s take a minute to appreciate:

The sheer simplicity of play:

  • You look at a picture of the game state
  • You choose a move
  • You and your opponent turn to the page number for each-other’s moves
  • You look up your move on that intermediate page, and turn to that page number which is the new game state
  • Repeat.

There are no dice, no counters, no moving parts. You don’t even need to be in the same place as your opponent, you just need to be able to give each other page numbers. It takes less than a minute to learn how to play—even though you now have full control over a pretty sophisticated flying machine—and creates quick-fire play that makes total sense in the seat-of-your-pants early aviation era.

Error correction is effortlessly built in: if you don’t end up on matching page numbers, one of you goofed.

The framing is brilliant. The first-person view from the cockpit is so immersive, and it’s key to the simplicity of play. The state of the game and manoeuvre options (drawn as pictures of the manoeuvre) are intuitive—but that rare kind of intuitive that makes sense to subject matter experts who know how to fly a plane for real, and casual gamers who know nothing about flying or WW1.

One of the reasons the game works so well is the lever you’re given to pull is perfect. The game moves at the speed of your thoughts: you don’t have to pull the yoke and throttle and set the flaps correctly, you can’t “fail” to perform your action—the game is that your opponent isn’t sitting still while you do it.

You are in full control of this aircraft: it’s not like you pick “do you want to break left or right?” and then sit back and watch a cut scene of the dogfight where the next dozen decisions are made for you. There’s no system to beat your opponent at beating—and that is part of what makes this game endlessly re-playable.

When I talk about this game as a paper computer, it’s because you’re playing something much closer to a genuine flightsim than a board or card game.

And it turns out that the framing is the secret sauce to everything about this game.

It’s all about perspectives.

One of the big lessons to learn in programming for game design is that the visuals and the game state are not the same thing—the visuals at the front end isn’t necessarily driving how the back end works. Tetris has “falling” blocks but the game is not about gravity and “falling”, that’s just a visual representation of a time limit. (Not Tetris illustrates this point perfectly.)

Ace of Aces is doing something sneaky-clever in the background:

First of all, the game is secretly a hex-based game.

But Kit! You said this game was not like the other hex-based WW1 dogfighting games. And that’s true for the player 😉 and also true for the game, because yes, the game is using hexes, but not like Richtofen’s War or any other hex-based wargame.

In these games, the map is made of hexes. You have hex-based movement relative to a fixed point of reference—the topology of the map. The movement is absolute—the value itself matters.

Ace of Aces is using hexes, but there is no map. Movement is relative to your current position. The absolute value is irrelevant, the change in the value between one turn and the next is all that matters. This works because the game is first-person: the only thing that matters is where is the enemy relative to your current position. Not only is this the first-person perspective, but it’s what makes the system manageable in an analogue format—the first-person view of every possible relative position of the German aircraft from the Allied aircraft is 222…almost exactly the number of pages in the paired books (page 223 is the “ohnoes! You lost them” page).

If the German plane is dead ahead of you, it looks the same regardless of how you got here. If there were a map, the view of the aircraft would be the same whether the two aircraft where head-to-head over the field or the stand of trees or the country lane between them. If there was a map and the map actually mattered, the first-person perspective would require ~1,400 pages per map hex to show the appropriate landscape under both planes (223 unique relative positions of Allied and German aircraft, times the six unique orientations of the perspective aircraft relative to the map hex).

This trick of stationary player, moving world, is another reason why calling Ace of Aces a program feels right: this is how computer games work. Your monitor is a stationary window onto the game world that is moving relative to you. It’s an easy trick for the computer to pat its head and rub its stomach and have the dogfight happen in relative space—hexes that aren’t map hexes—while simultaneously moving the map beneath you as a separate calculation.

This relative frame of reference is also going to be familiar to anyone who has done old-school air-to-air lethality analysis: the endgame of a missile versus an aircraft doesn’t care about where they are in absolute space, just relative to each other—and in fact you especially don’t care about any permutation of endgame geometry where the missile isn’t on an intercept course with the aircraft (duh, it’s going to miss), so it was common to separate out the different computations of “do they intercept?” and “if they intercept, what’s the damage?”, the latter being stuffed into a lookup table that gives you the lethality that your six-degrees-of-freedom flightsim can call on. The frame of reference called GW372 is explicitly relative to the aircraft (or missile) being shot at. So, yes, Ace of Aces is a FORTRAN flightsim.

The other sneaky trick that Ace of Aces is doing comes back to the reciprocal perspectives again, but from another angle. Hold onto your hats, here comes the maths!

A Transformation Matrix is a magic number you can multiply by, to get from one position and rotation to another. It’s sort of like converting between degrees Celsius and Fahrenheit, or meters and kilometres—the transformation matrix is the “conversion factor” to teleport from a given position and rotation in the world to another.

Why that’s important is the magical property they have when our world position is not absolute, but relative:

Let’s say the Allied aircraft is at A, and the German aircraft is a G

And we say the transformation matrix of the Allied aircraft’s manoeuvre is a

And the transformation matrix of the German aircraft’s manoeuvre is g

Then Aga = Gag

That is, if we apply the enemy’s manoeuvre to ourselves, then do our manoeuvre, we end up at the correct position and rotation relative to the other aircraft, given our respective starting points and manoeuvres. And because the books are paired, that’s also the same page number: the books show the two aircraft in the same relative positions on any given page, just one book shows the view of that is from the German perspective and the other book is from the Allied perspective.

The clue to this is in that intermediate page: if you pay attention to the pictures, the page your opponent sends you to is literally showing you their aircraft’s movement relative to your current position, before you’ve taken your move.

You can tell because of another concept called the Identity Matrix: the transformation matrix that does no movement and no rotation—the “multiply by 1” or “add 0” equivalent. Because we’re not using the hexes for a map—because it’s relative movement, not absolute—there is a “no movement, no rotation” option, and if your opponent chooses it, they send you to…the page you’re currently on as the intermediate page, because no relative change in position or rotation! Remember the intermediate page shows you their movement relative to you while you’re not moving. And if you look up the Identity manoeuvre on any page it always says the page number that you’re currently on.

Ok but how on earth do you make a book that does this ?!?!

You can read the fairly obtuse patent here. It’s not particularly easy to parse, because of a lack of good diagrams and the generalisation to all possible interpretations of the IP, but I managed to unpick how it works and how to make my own paired-books. Hats off to Leonardi who did this (literally) with string, transparencies, and a banda machine. I ended up creating the tools to create my own paired-books as the by-product of trying to visualise the patent description.

The game takes place on a hex grid. Coordinate systems for hex grids are…interesting…but in this case we don’t need an x or y axis, we just need a notation system for each cell of the grid, and the six possible orientations an aircraft can have in any given cell. Leonardi’s system puts hex 0 at the centre, and winds the cell numbers clockwise from the top left. The orientations take a letter, and also wind clockwise from the top left.

Secretly, you start every turn at the centre of this grid in position 0A, the origin in this notation.

Plot showing a hex grid with the hexes numbered 0 to 6, wound clockwise, and each face of each hex labeled A to F also wound clockwise.

The enemy aircraft can be in any position and rotation on the grid, giving you all possible relative positions and rotations to each other. They have some relative position and rotation to you. Meanwhile they see themselves from position 0A and see you at the reciprocal of that relative position. That can make your brain ache a little.

The first thing to do is construct a list of the reciprocal positions: if you move the Allied aircraft to any given position and rotation on the grid, taking its frame of reference with, which cell position and rotation of the Allied aircraft’s grid is now at the “origin”. This is the kind of thing my brain finds extremely slippery, so I drew a picture—or, rather, I constructed the grid in Unity, wrote some code that let me set the position and rotation of the Allied aircraft, and asked Unity “hey, what cell number and letter is in that position now please?”

Screenshot of the above hex grid imposed on two vehicles with different positions and orientations.
(Well spotted: these are not aircraft 😉 more on that later.)

I did this initially so I could follow the example in the patent and set the Allied player to the position in the worked example and confirm what the obtuse language was even talking about. But, having written a script that lets me set the values by hand, it was a short step to writing a loop to iterate through all of them to read the result and write out the table to Excel. What you end up with is a somewhat symmetric result: when the enemy is in front of me, I am behind them. When they are to my east, I am to their west.

This is the key to determining the page number for any given relative position: you go through the list of all possible positions and rotations and assign each a unique page number for the Allied book. For each page in the Allied book, the reciprocal view in the German book shares that page number—so position 0B in the Allied book shares a page number with position 0F in the German book. This is easy to conceptualise if you iterate through the German positions and rotations in the same order as the Allied ones, but instead of copying the page number directly, you look up the Allied page number for the reciprocal position.

This has created you a lookup table for the correct page number for Allied and German relative positions on the hex grid. You can put it aside while we change gear to think about manoeuvring.

We know that the transformation matrices we need work independent of the other player, which is super-handy. It simplifies everything that follows to just thinking about one aircraft moving at a time.

How does a manoeuvre work ? You begin your turn at the origin. In purely mathematical terms, your available moves are to any other position and rotation on the grid, but in practical terms your aircraft is only so manoeuvrable. The allowed moves in Ace of Aces are:

Hex grid showing an aircraft and the hex position and direction destination for each of Ace of Ace's manoeuvre symbols.

This is how the manoeuvre symbols match the hex grid movement. You’ll notice it’s not entirely symmetric, because the torque of a rotary engine makes it much easier to turn and spin with the propeller, not against it. You can also tune “allowed” moves to match the capability of a particular aircraft (and that’s why there is a whole series of these books that you can use interchangeably in any Allied-German pair: the underlying reciprocal page numbers, hex grid and movement are the same, but some planes don’t have access to all the manoeuvres).

A particular manoeuvre will change your position and rotation by the same amount regardless of your starting position and rotation—the manoeuvre is a transformation matrix—and the Identity manoeuvre, that has zero change in position and rotation, is the clue to what happens next:

The intermediate page number for any given manoeuvre—the one you tell to your enemy—is the page number that corresponds to your destination taking that move from 0A. That destination encodes the movement of your aircraft relative to the origin in a transformation matrix that can be applied to your enemy to make it the movement relative to their current position and rotation. …if that makes your hair catch on fire, think about vectors and co-ordinates:

If you have a point (2, 4) that’s the same as having a vector—a line—that goes from position (0, 0) to position (2, 4). If I add another vector (3, 1) to this point, we’re taking the vector that goes from (0, 0) to (1, 3), moving it to put the (0, 0) at position (2, 4) and then drawing the line from (2, 4) to whatever position (2, 4) + (3, 1) is. The addition can happen in either order, we still end up at (5, 5).

Graph of the above vectors.

(This is literally the maths we’re doing to add an Allied aircraft manoeuvre to the German aircraft’s position. It is just 2D vectors, but because hex grid it’s ugly.)

What we need to do is construct a matrix of every possible position and rotation we could land at vs where the enemy could land at—this is easy to do in code by iterating through all combinations for each aircraft—and for each, reduce it to the corresponding unique situations in our first table. We only care about relative positions. This is what I mean when I say secretly the Allied aircraft starts every turn at 0A. That relative position is the intermediate page you’re going to send the enemy aircraft to, and you get the page number for it by looking it up in that first table.

What you end up with is this monster matrix of all possible intermediate destinations, and one strip of it is what you find at your intermediate destination: for a given actual manoeuvre your enemy chose, the row or column of your manoeuvres is the final destination for all the manoeuvres you could have chosen. If you go to the one for the manoeuvre you already told your enemy, then magically you both end up on the same page. Otherwise, the maths breaks, because you’re not applying the same transformation matrix to both aircraft.

Instead of Aga = Gag

You’ll have Agb =/= Gag

The page numbers won’t match because (in an absolute frame of reference) the Allied aircraft will be at 0A looking towards the German aircraft at (say) 5B, while the German aircraft will be at 9F looking towards the Allied aircraft at 0A. And if you both gave the other one manoeuvre and then performed a different one from your intermediate page, we’d have a situation where Agb =/= Gah.

In both these situations you get a view of the world (because that’s the nature of the book!) but it’s not reciprocal, which breaks everything about a relative frame of reference. Given this, isn’t it a brilliant idea to have the reciprocal positions have matching page numbers? The game contains its own parity check.

It would be entirely possible to make the paired-books where the relative positions don’t have matching page numbers, but you’d never know when the two hex positions were actually out of sync, you’d just be chasing your own tail with nonsense page turns.

This has made the manoeuvre table that’s common to both players. Leonardi did this by hand for all 222 permutations. Praise be for C#, which whips through all the combinations for me quicker than I can blink and writes them out to an Excel file.

This is all the possible moves; you can narrow it to only certain moves.

Certain permutations result in the two aircraft further apart than our little hex grid. These are the manoeuvres that will take you to that “ohnoes! You lost them” 223rd page. You’re out of range of the other aircraft.

A very large matix with some cells coloured red.
All possible moves for the Allied player across the top, German player down the side. Lost Contact at the red cells.

Next you need to convert the hex cell references (position and rotation) to the page numbers for the Allied player, and German player, using the first table as the look-up. That last bit using the reciprocal value for the German book is the thing that closes the loop on our transformation matrices, because remember we computed the whole table from the perspective of the Allied aircraft. Now with a reciprocal pair of tables, it works that you’re giving a page number to your enemy for your move, and they’re giving you a page number for their move. Honestly, the more I think about this, the more I’m blown away by Leonardi’s conception. It’s fiendishly clever.

The final step to make the books is to pair up the starting position page with the strip out of this matrix of possible intermediate pages. That’s where Leonardi had to put down the slide rule and start drawing pictures. 446 of them. But since I’m using Unity to move hex grids around to generate all these page numbers…why don’t I attach 3D objects to the grids and cameras and take a screenshot of each relative position while I’m working out its cell reference?

This is art: using a game engine to write a program to encode a program into paper computer. (I wonder if there’s a way to 3D print a game engine out of a paper computer…?)

Oh, and also: because I’ve automated this process, it takes…less than a second…to generate the pages of these books. And the same program can write the Excel spreadsheet that allows me to automate turning them into a hyperlinked pdf (it’s Turtles all the way down), which means I can easily generate more complicated grids than Ace of Aces. So I did.

Behold: Ace of U-boats:

The view from the deck of an Allied Corvette at night, with a surfaced U-boat on the starboard beam.
Open fire with the deck guns!
  • a 4-hex grid…
  • …with two layers for the U-boat—surfaced, or submerged
  • and (hold onto your hats) non-euclidean geometry: I cheated the hex grid scale at the different ranges because close-up you need to be working at a roughly-one-ships’-length scale (70 yards), but I want to play out to asdic ranges (3,500 yards) without having a gaziilion grid cells in between. Because we’re in relative geometry space, this totally works; the reciprocal distances are always self-consistent.

Also, I used minimap tricks to create the asdic screen for the screenshot, which feels like adding one more layer of inception: using a games engine to program a computer game to encode a program in a paper computer. If I can get Midjourney to play the game for me, I’m pretty sure there’ll be a phone call for Professor Falken.

The view from the deck of an Allied Corvette at night, nothing visible on the surface but an Asdic response on the starboard bow.
Contact! The Asdic always shows contacts relative to your ships’ orientation, but the look out view is looking in the direction of that contact. The indicator shows the relative bearing your looking towards, with 0deg being ahead of the ship (also, the stars are a fixed point of reference 😉)

But how can I apply this to games that aren’t 2-player first-person shooters?

A particularly rich vein of interesting maths for boardgames are nomograms: the paper version of cam-based mechanical computing. They are a close-cousin of slide rules (nomograms with moving parts) like the slide rule for general maths, the planimeter for integration (measuring the area under a graph), or for solving relative motion problems: the manoeuvring board, the Battenberg Course Indicator, and the U-boat Attack Disc.

They’re basically just a multi-dimensional look-up table—one that’s much easier to use than cross-referencing a bunch of look up tables (I’m looking at you, weapon vs armour class vs range charts!) Here’s a nice example from the Conduct of Anti-U-Boat operations in WW2:

Photo of a WW2 nomogram, titled "Search for submarine reported at a distance" and two graphs labelled approach diagram and sweeping diagram.
Suppose you are in command of an escort, and you get a report of a U-boat sighting. You want to steam over and then find the U-boat, obviously…but by the time you get there, the U-boat will have moved. The longer it takes you to arrive at its last-known location, the bigger the area you’ll need to search to find it. How big an area ? Well, that depends on how far away you are, how fast you travel, how long you wait before starting out…

WATU Wargame Report 2023

Debriefing at the end of the game. Kit Barry points to the gun battle between U-3 and escorts L1 and P4 at the rear of the convoy.

On Saturday 6th May, the Western Approaches Tactical School was once again operational in Derby House for a celebration of the wargaming Wrens of WATU and the 80th Anniversary of the Battle of the Atlantic. Analysts and wargamers from WATU’s direct-descendant organisations—Dstl, the Maritime Warfare Centre, and HMS Eaglet—took up the roles of WATU Wrens, RN Convoy Escort, and dastardly U-Boats, joined by folks from Defence Academy Shrivenham, US Navy, McGill and York University.

Our WATU Wrens and players were a mix of new wargamers and old hands, men and women, professional and hobby wargamers, serving and retired naval officers, and academics.

The challenge on the Tactical Table was the night of 6th/7th May, 1943. A moderate sea, bright moonlight, and intelligence reports of five U-Boats operating in the vicinity of (the entirely fictional) Convoy ONS 506, a slow convoy comprising 12 ships sailing for Halifax. Escort Group B7, consisting of HM Ships D1 (destroyer and Senior Officer Escort), L1 (Black Swan class sloop), and Flower class corvettes P1, P2, P3, and P4, were in Night Escort Six disposition. A substantial wolfpack attack developed at midnight, beginning the game with the torpedoing of the merchant ship in column 3 row 2.

Here’s what the first view-giving looked like, and the same plot from the Wren’s perspective:

The gap in the convoy is our sinking merchant ship. Where could the U-Boat be that fired the torpedo? How many other U-Boats are making an attack? Their tracks are plotted in red pen to hide them from the players. The U-Boat positions are highlighted on the right for clarity, the star is a mischievous shoal of fish.

The first view-giving included the burning wreck of our merchant ship and a surfaced U-Boat sighted at the rear of the convoy. L1 closed for an exchange of gunfire, here is their (and other’s) orders:

Six move chits from the game. L1 orders "Attack surfaced U-Boat with guns or depth charge" for turn 1, and "Continue asdic search" in turn 5.

Our players had a copy of the relevant parts of the Atlantic Convoy Instructions, including Op: RASPBERRY, which was quickly ordered and developed two asdic contacts at the front of the convoy.

Our Wrens made use of the adjudication tables to decide which of the in-range radar (all of them at this range), asdic and visual contacts to report. Here’s a few turn’s worth of contacts for L1, and a large stack-o-signals:

Various contacts generated during adjudication. Eg L1 has visible contacts of a U-Boat at 270 degrees, 850 yards, escort P4 at 265 degrees 1800 yards, and has heard an explosion on asdic.

Oh goodness, there were signals. There were so many signals. WATU had a team of three Wrens and an RN Yeoman handling signals: players handed in signals to be sent, the Wrens copied them to all recipients, and delivered them after some transmission delay. In our game, Lynn O’Donnell handled everything, and our players sent so many signals that we ran out of paper. Here’s a few of them:

Lots of signals! D1 orders RASPBERRY, in another signal D1 signals "Attacking U-Boat 180 degrees 300 yards from my position." P4 reports o u-boats in my vicinity.

While all this was going on, visitors to the museum were grilling Paul and Lt Phil Roberts RNR (Rtd) about the game and the history:

Looking down at the plot from Horton's office. Lots of museum visitors are looking and chatting with our players.

Meanwhile, some familiar faces, and actual submarine warfare officers, were busy plotting the demise of our convoy, upstairs in Admiral Sir Max Horton’s office. While submerged, they didn’t get a look at plot, when surfaced they could peek out the window down onto the plot in the Map Room. Their orders and contacts were sent over the museum’s wifi:

How did our Escort Group do?

It was carnage in the convoy! Six merchant ships lost. But the Escort managed two creditable depth charge attack runs, one of which forced the target to the surface in what was likely to be its death-throes. They also avoided depth charging the shoal of fish (which was mostly down to failing to get an asdic contact rather than good judgement…)

Here is the 1943/2023 edition of the After Action News, hot off the press:

See also Report of Proceedings from MacKay, RNWR, in command of sloop L1, here.

How realistic was the game?

Well, there are a few reasons why the U-Boats had the upper-hand:

Firstly, in the interests of a fun time for all, our U-Boats all started within 2,000 yards of the convoy. In reality, U-Boats tended not to attack simultaneously like this. Particularly not when using pattern-running torpedoes (as we were), because of the risk of friendly-fire incidents.

Second, we only played 12 minutes of game-time, and an engagement is typically 30 minutes plus. Knowing we were unlikely to play out 20 minutes, we started in-media-res with the U-Boats well inside radar contact range and the extended screen. It’s likely at least some of our U-Boats would have been caught further from the convoy, allowing time for interception before they were able to get off any torpedo shots, which would have improved the score sheet for the convoy somewhat.

Third: the score sheet seems to favour the U-Boats, but one U-Boat was probably not going to survive the next 2 minutes, and the other two were not going to cause too much more trouble for a time. If the game had gone on longer I think we would have seen the tide turning in favour of the Escort.

Finally, the losses seem pretty high, but our convoy was extremely small (for convenience, and for interest—a bigger convoy would mean spending most of the game steaming to get near-enough to contacts to do the fun stuff). The whole point of the convoy system was that the losses were similar regardless of the size of convoy; a bigger convoy would have lost proportionately fewer ships.

In terms of the gameplay: it was certainly a lesson in communication between the Escort players, to co-ordinate a response to contacts without the screen descending into magnet-ball. The outcome of actual attacks were pretty realistic: with a lethal range of only 7 yards, depth charge attacks were about 10% effective. U-Boat kills generally came from hunting to exhaustion, which Escort Groups could not afford to do—this is why Support Groups were introduced in March 1943. We didn’t have enough players and Wrens to support more than six in our Escort, so even if we’d played longer, the chances of killing the submerged U-Boats were small.

Turn 3 adjudication on the plot. U-3 at the rear of the convoy has just fired a torpedo.

The ploting & adjudication rules revision/expansion/better-recreation since the 2018 game made for a much more interesting game: the U-Boat players were thinking about more than just shoot-dive-hide, and there was a passable attempt at RASPBERRY from an Escort group who (with the exception of the Senior Officer Escort) had zero experience of ASW tactics.

I want to thank the Western Approaches Museum for hosting our game and giving us free-run of the Map Room, and about thirty Dstl & MWC folks who took part in the playtest/training games as well as the Big Event. It was pretty special to play a Derby House Principles wargame in the actual Derby House. I had an absolute blast. So did Tom’s U-Boat (har dee har) !

WATU Wargame Returning to Liverpool

It’s the 80th Anniversary of the Battle of the Atlantic, and back in 1943, the 6th May marked the turning-point where we stopped losing and started making life so difficult for U-Boats that for a time they withdrew from the Atlantic entirely, and when they returned (in September 1943) they never again had the upper-hand.

So what better time to recreate the Western Approaches Tactical Unit wargame at WAHQ again?

Four Indian Navy Wrens (WRINS) plot ship movements on the Bombay Tactical Table. Two are wearing saris, two are Anglo-Indians in Western clothing.

Formed in 1942 to solve the U-Boat problem in the Atlantic, WATU was staffed almost entirely by women, and men unfit for duty at sea through illness and injury. The Wrens came from all walks of life and all across (what was then) the Empire, and were responsible for teaching the Allied navies convoy escort tactics: how to find and sink U-Boats. 

Since the last time we played in 2018, I’ve found WATU Wrens alive and kicking, and learnt a lot more about how the game works, so this time we’re playing with:

Actual pieces from the WATU game:

When WATU demobbed, Cpt Roberts gifted the ships to the Wrens as souvenirs: Leading Wren Helen Coop’s ship has been scanned using photogrammetry, turned into CAD, and lovingly recreated by Ian Greig.

In grey is a test-print with a filament printer, in translucent is a print from a UV-setting resin printer, and one laser-cut from wood, ready for painting:

Three replicas of Helen Coop's ship model, in various materials.

Actual game chits:

Leading Wren Helen Coop left us a treasure-trove in her scrapbook, including chits from actual WATU wargames played by Cpt Johnny Walker’s support group:

A 1945 WATU wargame Move Chit. In pencil at the top it says Lt Cdr Wemyss Wild Goose. The Unit to move is J3, the Time is 44, the Course is 200, Speed 20, and General Intentions reads "Same, but more so. Send top priority signal to depot for new guns' crew"

Nothing changes in wargaming: after rolling a 1, Cdr Wemyss would like a new gun crew please :-P

Plotting tools:

In the 2018 game we used a crude movement template to help with plotting, and mostly ignored turning circles. This was partly a simplification to help the players (WATU had the distinct advantage that their players came knowing how to command their ship and plot it on a chart! Our players were liable to try impossible things), and partly due to a lack of data. Since then I’ve found a lot more photos with details of the plot, and hunted down data on period ships which was not easy to find. 

The result is this Rather Excellent [TM] recreation of the plotting protractor, laser-cut by Ian Greig. They work magnificently well and look amazing. Figuring out what they were from a handful of WATU photos might be my favourite bit of wargaming geekery :-)

Side-by-side comparison of the Canadian Tactical Table protractor and our recreation.

Actual adjudication tables (probably):

Chris Carlson dug up some post-war ASW tables which are probably a later version of the WATU adjudication tables. One of the big mysteries of the WATU game has been how all that stuff happened, since the pre-war (1921 & 1929) RN War Game rules are not the WATU game (it’s a fundamentally different game that’s been mistaken for the WATU game by some because it mentions “screens”, but it’s very clearly talking about putting down screens on the plot to screen the surface ships from each other when they’re out of visible contact, not viewing the entire plot from behind a screen to obfuscate the U-Boat tracks on the plot), and the contemporary descriptions forget to mention how you adjudicate an attack. Even these tables don’t really explain how they’re used, but they fit broadly with the assumptions we made for the 2018 game, which is pleasing! 

Well…all except one thing: we used D100s, and it turns out that because dice were too new-fangled (or D100s were hard to come by in 1942, or the Temperance Movement had words), WATU used a 1 to 100 tombola.

Raspberry the Wargaming bear (in WRNS uniform) for scale next to a large wooden tombola. The bear could easily fit inside.

I appear to have bought one large enough for Raspberry to go to sea in… stop by WAHQ during the game and you can draw the fate of a U-Boat, Escort, or merchant ship from the adjudication tombola :-)

U-Boat artefacts:

Big Heritage, who run the WAHQ museum, acquired a U-Boat during lockdown, and are busy renovating it and creating a Battle of the Atlantic Museum across the Mersey from WAHQ.

The original plan for this game was for the U-Boat players to play from the actual U-Boat, but the new museum is still a building site, so instead we’re bringing some of the U-Boat artefacts over to WAHQ for the day. Our U-Boat players have been practicing with attack discs to get their firing solution. We’ll see if they’re able to sink anything!

We’re also hoping to make use of the Y-Service teleprinter which has been refurbished to run off a Raspberry Pi, for sending our convoy relevant Engima decrypts.

Come to WAHQ on Saturday 6th May and you’ll get to:

  • Celebrate the remarkable achievements of the WATU Wrens!
  • Chat with the direct descendants of WATU about careers in professional wargaming: yes, you can get paid to play board/war/computer games for a living ;-)
  • See the WATU game in action, send some signals to the convoy if you’d like.
  • Explore the Western Approaches Museum, including their new Wrens exhibition, Leading Wren Helen Coop’s WATU scrapbook, and bits from their newly-acquired U-Boat.
  • Say hello to a handful of PAXsims editors :-P
  • Delight in a Derby House Principles wargame being played in the actual Derby House that the principles are named for. 

Canadians can also check out the WATU gallery at the Canadian War Museum‘s up-coming wargaming exhibition.

Read more about the Derby House Principles for diversity and inclusion in professional wargaming here.

The Derby House Principles multi-coloured D20 logo

Holographic Tabletop Gaming

A holographic projection of a few blocks of a sci-fi city, complete with flying cars.

Tilt Five is a table-top holographic projection system. It’s very cool!

How it works:

  • An IR camera in the glasses gets tracking data from the dots at the edges of the board
  • The glasses get the display output of a PC or android device by USB 
  • Two seriously cool micro-projectors in the glasses throw the image at the board
  • The retroreflective board throws the image back into the player’s eyes
  • There’s also a controller which is tracked by the headset camera. It has a gamepad stick, buttons, and trigger, as well as having its position and rotation tracked in 3D.

That means:

  • The player sees the holograms at their in-world distance, rather than being projected onto the inside of the glasses. That makes the holograms actually appear to be in the world, rather than rendered in front of the world with clipping to give the illusion of being rendered “behind” objects. This is a big deal for preventing eye-strain for the player because you get to focus on the object at it’s actual depth. VR headsets and the Hololens force your eyeballs to decouple focus and convergence to maintain the illusion of depth, because everything is rendered an inch from your face.
  • You’re not going to see motion sickness like you would in VR. Partly because the real world is still there to keep your vestibular system feeling grounded, but also because the refresh rate on the headset is spectacular (150fps !). A lot of VR-based motion sickness is to do with marginal frame-rate causing an almost-imperceptible lag between tracking and the visuals updating.
  • Multiple headsets connected to the same device can view the board at the same time, each getting the view that makes sense for the tracked position of their headset. It’s a shared experience without needing to network the game over multiple devices.
  • The retroreflective board means the holograms are bright and the colours vibrant even in a well-lit room, something the Hololens can really struggle with.

What kinda things can you do with it?

That conceptual difference of “it’s a shared experience around a table” is where the Tilt-Five excels. It’s marketed as augmented reality for boardgames and RPGs, sort of like Battle Chess on steroids meets Roll20. You can already buy Catan, Tabletopia, and other Steam Games, and a DnD/RPG sandbox called Battle Map Studio.

Here’s a procedurally-generated island:

It’s particularly suited to a top-down style strategy map view of the world, which makes sense given the boardgame focus in development. 

Here’s a work-in-progress porting Tom Mouat’s 8” hex WW1 trench raid RPG to the Tilt Five: the little dudes are selectable by poking with the wand, and route-plan to a point on the map with a strong preference for staying in cover. You can set them to standing, crouching, or crawling with wand buttons. Guns and baddies TBD ;-)

You can also use the board as a TARDIS-like ‘well’, or window into a 3D world below the table surface that is larger than the board (but only visible through the board).

You’re still able to see and interact with the real world with the glasses on, unlike VR where you’re isolated in your own personal view. You can create a holographic dungeon for use with your physical 28mm miniatures. Or you could hook it up to:

  • Drive other projection systems: eg a Google Maps style bird table interface to pull StreetView images to a 360 projection system, using actual Google Maps, or your simulated environment
  • Visualise other projection systems: eg a strategy map style view of people in VR, as an alternative perspective to first-person view for over-the-shoulder observation and AAR. It can be maddening directing someone in VR when all you can see is what they’re currently looking at
  • Visualise 3D data, photogrammetry, CAD, or provide situational awareness like a 3D HUD

How about a nice game of thermonuclear war?

The multi-headset support means you can make multiplayer games without compromises like split-screen and hot-seat, and without needing to network computers—which is both a skillset all of its own, and an added complication when working at classification.

Is it analytically useful, beyond being very cool?

As someone who makes games for serious purposes, 99% of the time that someone asks “Can you do this in VR?” the correct answer is “Yes…but I don’t think that’s actually useful for you…” stuff isn’t just better because of immersion. Augmented reality is the same: just because you can do a thing does not mean it’s providing more value than a standard monitor or a board-and-counters physical copy of the game.

Compared to a physical game, adding a computer has obvious advantages:

  • The computer keeps score, and can show you lots of complex data in ways that gets very messy and complicated if you’re doing things by hand
  • Hidden information can exist on the same plot, and we can very easily control who sees what, rather than having to use compromises like a kriegspiel where you can see the blocks but just don’t know what units they are, or maintain two plots and hope they don’t get out of sync
  • More intuitive displays of information: you can show dynamic information, like see that a unit is dug-in, firing, or reloading directly with the artwork, rather than having to use abstractions like turning the piece sideways, or this coloured block on a tracker that’s somewhere else on the table. You can also call up context-relevant rules and stats very easily, and without giving away information to the other side about your intention when you start measuring ranges and line of sight.

But these are things that you can achieve on a standard monitor. Can a Tilt Five do more, or differently?

Probably the biggest thing it does is that social aspect: you get all the benefits of four players with their own laptop screens, except that it’s all happening around the same board. All the players are seeing the same game-space but it’s still possible to control individually what they see—I can set the culling masks so that enemy units don’t render for you unless your units have LOS to them, and you get your own user interface which shows only the stats you should know about. Whether this is a competitive or cooperative game, you’re all looking at the same board and able to point out things to each other directly, rather than having to talk someone to pointing their screen in the right direction to see what you’re seeing. 

The other clear advantage is the 3D. It’s very compelling in ways that are hard to convey through 2D captures. The parallax effect is magical. You can share a 3D tabletop setup across physical space with a networked game—instead of having one physical board and distributed players getting only a webcam view of the game, as many of the players as you like can have holographic boards.

In terms of interface, there’s just something more intuitive about being able to crane your head to look at where you want to place a piece and tap the spot with the wand, instead of wrestling with camera position and rotations to get the view to click with a mouse. This might seem like a trivial thing to folks who play a lot of real-time strategy games, but it’s a big barrier to entry for folks who don’t (who are often our customers). I saw this first hand using VR with the Army: give a soldier a VR controller for a shooting game and there’s a “what buttons do I press?” panic; give them a Nerf rifle converted into a VR controller and they visibly relax because they know how to use a gun.

Finally, there’s the wow-factor for communicating with your audience either during the game or in AAR. Sometimes you want to put your data’s best coat and gloves on. Some people equate how good a game looks with how robust its findings are, and will take your recommendations more seriously for being a wizzy hologram. (I know, it makes me sad too.) Sometimes the game needs to feel compelling for people to engage with you, and there is nothing wrong with using cool tech for the engagement value.

Diversity card deck

The diversity survey results are in and have been compiled into a handy deck of cards. Instructions are included for a group activity, but in these socially-distant times they work just as well for solo reflection. No plans for hardcopy just yet, but feel free to print your own.

The featured vignettes are just a snapshot of the real things actually happening to women and minority professional wargamers and analysts that have been sent to me through the diversity survey. It makes for some sobering reading.

A few thoughts on the survey itself:

1. It’s bad for women. But there aren’t even double-figures when it comes to non-white wargamers.

Yuna Wong joked when she was asked about her experience and the interviewer caveated that he wasn’t expecting her to speak for all non-white wargamers, “It’s fine, the other one is ok with me speaking for him.”

I think it would be easy to focus on misogynism only, because there are more women to complain about it. Wargaming really needs to ask uncomfortable questions about what’s keeping it so white.

2. A flavour of responses that didn’t feature in the card deck:

“Please note that you can use quotes but I insist on remaining anonymous. I don’t fancy the vitriol and trolling.”

“My husband points out [the fact] that being female makes me diverse is damning.”

“The Connections Community looks very non-diverse, but actually they are quite inclusive.”

3. Men might be shocked to learn that women wargamers have to think about keeping themselves safe from sexual assault.

4. Things that are good:

  • Representation! At games and in games
  • Groups that are vocal about being inclusive
  • Supportive (male) colleagues who make space at the table
  • Being seen as a player not someone with a disability (or other minority)
  • Bad Squiddo miniatures!
  • Anti-harassment policies
  • Allies who don’t tolerate bad behaviour
  • Connections’ wonderful culture of sharing ideas
  • University wargaming is very welcoming

5. Barriers to wargaming for diverse gamers include:

  • Stereotyping of minorities
  • Childcare (an issue for men and women)
  • Being presumed ignorant, incompetent, or subordinate for being a woman and seeing men treated the opposite
  • Fewer opportunities, less support
  • Sexual assault
  • Physical intimidation
  • Getting started in professional wargaming involves roles that are not welcoming for women
  • Porn
  • Jokes that are not funny
  • Demeaning and belittling of women
  • Trolls, particularly in the hobby wargaming community
  • People who say gender/sexuality is irrelevant to wargaming but really mean straight white male sexuality is irrelevant and everything else is not appropriate

6. Things people would like to see change:

  • Act quicker to challenge bad behaviour, it shouldn’t have to escalate before people speak up. 
  • Allies need to speak out instead of staying quiet
  • Enough with the objectification of women in artwork (chain mail bikinis, sexualised poses, etc)
  • Better diversity/cultural representation in game design feedback
  • Engage with schools to showcase range and accessibility of wargames, it’s not all Warhammer
  • Women should not be a minority !
  • Political wargames should include representation of minorities since these are real political issues
  • Role models: want to see diversity in senior positions please
  • Clearer pathways for people wanting to get into professional wargaming and better signposting of existing opportunities to participate
  • More gender neutral pronouns when referring to roles/pieces that are not a specific person (e.g. “this pilot, they” rather than “this pilot, he“)

You can read the Derby House Principles on diversity and inclusion in professional wargaming here.