What is it
In this Shop Talk I want to discuss Action / Movement Programming in games. Action / Movement Programming (or programming) is a core concept of games like RoboRally. The core idea is that all players select the actions or moves that you want to do, usually in secret. These actions or moves are then locked in. You commit to these moves before you know what the other players, or even the game itself, have decided to do with their moves. Once everyone has locked in their moves, all the moves are then executed simultaneously or in a predetermined (initiative) order. Sometimes this leads to some hilarious mistaken interactions, sometimes disaster, and sometimes amazingly choreographed and executed maneuvers that leave people in awe… sometimes.
This is very much like computer programming. Especially when compared to older programming done with punch cards. You punched out your program instructions on cards about the size of a boarding pass for an airplane. You did the whole thing. Then you fed all your cards into the computer and it ran the exact instructions you fed it. If you did anything wrong, like punched a hole in the wrong spot, or swapped the order of two cards, chaos ensued. Sounds like RoboRally doesn’t it?
Modern computer programming at least allows you to handle errors while the program is running, and interactively accept input, produce output, and change it’s execution path partway through the program. Not so much for programming games. You commit, and then you watch as everyone’s moves play out in choreographed chaos. Don’t get me wrong though, this is a very cool mechanic and can be very fun.
Looking at examples
One of my favorite memories of programming things as a kid was actually a toy. I have a Big Track which came out from Milton Bradley in 1979. It was a
space-age tank. It has a keypad on the back that you can see in the image to the right. You would enter your commands into the keypad such as Go Forward 2 (2 is 2 lengths of the toy), Turn Right 45 degrees, Fire 3 times, Turn Left 90 degrees, move backward 3, etc. Then you would tell it to execute the commands and you’d watch it go off and do it’s thing. An example of that is in the video here that Mike Lock posted on YouTube.
To me, this was the coolest thing since sliced bread. I played with that thing for hours. And it taught me the importance of planning. Programming games have a lot of planning. Not only do you have to plan your moves, but you have to anticipate the moves of the other players and plan around them as well. This in itself brings a lot of strategy and as it happens there isn’t a lot of downtime either.
Multi Move Programming
RoboRally is a game most people in the hobby are familiar with and the best example of movement programming. In the game the goals is to collect flags around a trap filled arena. You program your robot each turn to navigate the arena and collect the flags all the while trying to avoid conveyor belts, pit traps, pushers, and of course the other players’ robots.
One of the things that RoboRally does is have players commit their moves to five specific slots on the programming board. This forces you to think several steps ahead to plan the moves. This also ensure that not only are you committed to those moves, but you are also committed in that specific order. That’s a lot of commitment. Sometimes those slots can even be locked so that you can’t change the move that is in the slot on subsequent turns. So now you have to plan around your stuck move as well. I like this aspect as it creates a challenge for the player and when you can work around it successfully, or use it to your advantage, it’s a good accomplishment.
Single Move Programming
On the other end of that spectrum is Star Wars: X-Wing Miniatures Game. In X-Wing you only program one move per turn. You do it in secret on the movement dials for the particular ship you are using. In this image you can see the movement dial. It’s set to a three space ninety degree turn. In a battle in X-Wing, players set all of the movement dials
for all of their ships at the beginning of the turn. They then place the dials set for the particular ship next to it face down so all of the movement choices are done in secret. Then in initiative order they reveal their move and execute it followed by any combat.
With this system, it’s one move at a time so you aren’t programming five moves at once as in RoboRally. However you are directly moving against the other players. Your programmed moves need to put you into an advantaged position in relation to your opponent. So you spend a lot of time analyzing the opponents moves and trying to guess where they will move to so that your moves will give you that advantage. This in itself is very complex, but it is as much considering how the other player programmed their moves as it is about your own.
Once you have set your moves in RoboRally, or Star Wars: X-Wing, they are set, and that’s what’s going to happen. When it comes time to execute the moves, nothing can change the original choices. However games like Gloomhaven do allow you a choice after your card choices have been committed. Once your cards are revealed to start your turn, you can choose to play the top or bottom effect of one card, and the inverse on the other. That is, if you choose to use the top action on the first card, you must use the bottom action on the second or vice versa.
In this programming model you are programming two cards that give you four options when your turn executes. While you can’t change the card, you can make your decision on which ability to play when the cards are resolved. This allows for some flexibility if things didn’t go exactly as planned. Gloomhaven cards also have generic actions on them, shown in the yellow box in the image, that you can use if the abilities don’t suit the situation. This can represent “going with the flow of combat”. You know generally what you want to do, but you can make last minute adjustments.
Something else that comes into play in games with programming mechanisms is the choice selection. In RoboRally you have a limited selection of moves you can choose from and it pretty much stays the same the entire game. In Gloomhaven, you have a limited hand that ranges form 7 to 10 cards or so based on the character you are playing. This also stays the same for the duration of the scenario. Some games allow your options for your movement or action selection to evolve over the course of the game.
One of the games where your choices evolve over the course of the game is Mechs vs. Minions. In MvM, you draft two cards at the beginning of each turn from the available cards. This becomes the hand of cards you can choose your moves from. In the first turn, you’ll only have two. MvM also allows you to choose when in the turn you want to execute those moves by placing your programmed move at a certain initiative slot on the board.
On subsequent turns, you’ll draft more cards to add to your hand which will give you more choices as the game goes on. The types of cards you draft will help form your strategy as the game progresses. So your programming options become quite well tuned, and more flexible as the game goes on. This kind of evolving choice system allows for emergent game play. These simple rules give the choices you make a stronger strategy element as the game progresses. It also means you can change your play style as the need dictates.
Another version of programming is the programmed plans element. Mombasa is a good example of this kind of mechanism. In Mombasa your programmed elements are the
company you choose to invest in each turn. You might choose to go all in on Bananas, or Coffee. Then again you might decide to explore on your turn. These decisions are made in secret and revealed all at once just like in other programming games, but in this case there’s no moving, just seeing who beat whom to the investment for the turn. If you beat the other player, that will allow you to place your worker in the desired spot.
So as you can see Mombasa is a programming game, but you are not programming moves, or actions, you are programming bids effectively. You are trying to out bid your opponent to be able to take advantage of one of the worker placement spaces that you want to invest in. This still holds to the core of the programming mechanism though. Your choices are made in secret, they are committed and cannot be changed during the turn. They are revealed at the same time and their effect occurs.
Effect on game play
The programming mechanic can have a very interesting effect on game play. It also tends to be quite polarizing. Programming games by their nature are prone to ruin your plans. Some players have a problem with this. They really don’t like it when their master plan was foiled because another robot pushed them on to a conveyor belt, or when they set their movement dial to a left turn when they meant right turn. These problems are what I call a Table Flip Generator (TFG). If your programming mechanism is designed in a way that a players choices can often be disrupted it can lead to too much frustration and TFGs. On the other hand, when these well thought out master plans go off without a hitch it can be a very gratifying experience. It can leave the other players in awe and create a sense of mastery and pride. This can be a very powerful thing.
Another aspect of these is that due to the complex planning and anticipating what the other players might do, programming games are prone to Analysis Paralysis (AP). The effect tends to be exponential when more players are added. So for players that are prone to AP, this can be a high pressure situation. One way to mitigate this is to limit their choices to a handful of simple moves, or provide them some flexibility in the execution phase as in Gloomhaven. This prevents them from feeling to pinned in by their decisions.
Overall, I’m a fan of the programming mechanic. I think it offers the players a lot of agency, and it gets them invested in their decisions. Yes, it can create TFGs, but it can also be very rewarding. Hopefully more rewarding than frustrating. Let me know your favorite programming games below. Here are the Board Game Geek top ten programming games at the time I wrote this.