Friday, April 19, 2013

The Impact of the Turn Sequence of Solo Wargaming

Let me start off by saying this article is not about what is and is not true, but rather trying to figure out the answer by walking through my thought process and seeing where others fall in their thinking.

Let me start by saying that I think the turn sequence of a game has a large impact on how that game "feels" to the players. It changes the way they think and how they approach tactics, or in this case, how to win the game. I also think that some game mechanics get "magnified" when the game is played solo, rather than player versus player. A simple example is where a game has an auction component, or uses hidden information. These mechanics suddenly present a much greater problem for the solo player and thus trying to work around them often significantly alters the feel of the game. Imagine trying to resolve how you would deal with a bidding mechanic in your solo games. Most of you probably already deal with hidden information mechanics, such as maintaining a hand of cards. If you game solo by "playing the best of your ability for both sides", these games tend to fall flat because this important aspect of the game – bidding hard for an advantage or springing a surprise card play – fades away now that the player has perfect knowledge of not just his own side, but the "other" side too.

But, I am not talking about this game mechanics, I am talking about the lowly, ever-present1 mechanic of the turn sequence, and how it impacts not only gaming, but in particular, how I think it impacts solo gaming.

The standard turn sequence is:
  1. I go
  2. You go
Both Chess and Checkers are that way, as are a number of card games. Each person takes an action in turn before moving on to the next player. In miniatures gaming, it typically translates as:
  1. Player A Moves
  2. Player A Fires
  3. Player A and B Melees
  4. Player B Moves
  5. Player B Fires
  6. Player B and A Melees
Over time variations are added – breaking out the charge, adding defensive fire, adding morale checks after firing and melees, adding army morale checks, adding victory condition checks, and so on – but they still break down to I Go then You Go (or IGOUGO for short). If you have read enough of my blogs you know that I do not particularly favor this turn sequence (despite playing a lot of games that use exactly that sequence).

Rather than go through Wally Simon's thought process on how to tweak the IGOUGO sequence into something better (you can buy the books and read it yourself) I want to examine how this turn sequence affects your thought process when solo gaming.

If you were to use a turn sequence that identifies at random which side acts next, and that activation allows you to perform one action with a single unit, your mind thinks about what your options are differently than if you are alternating which side gets to do everything. With the former, you have to focus on which unit and action will provide the greatest return, as any action you do could affect the amount of damaged received when your opponent acts next. For example, you might shoot and eliminate a unit, thus denying your opponent the opportunity to shoot back when he next randomly receives the chance to take an action. Or you might run away with that unit, or heal it, making it less likely that it will be eliminated in the next attack against it.

Although the player must still keep his overall plan in sight2, he still needs to make value judgements on which action is the best, second best, and so on. More importantly, training ground precision and coordination between units cannot be counted on, as you have no control over the order of actions. And this is key, because IGOUGO typically produces thinking like:
"Okay, it is my turn, so Unit A will move around the building and fire on the flank of this enemy unit, while Unit B will charge in and assault them. Now moving fire from the 10 ten in Unit A should inflict three casualties …"
The point, however, is that it is exceptionally worse with solo gaming. I don't care who you are, if you are "playing to the best of your ability for each side" bias will creep in. Whether it is because you like the paint job of this side better, think that the other side should win because they did historically, or even just because the narrative seems to be heading in a particularly cool direction, bias for one side or another creeps in. And it usually does it in the form of you thinking that if you could do X on turn 1 and Y on turn 2, then really cool event Z will happen. It is that planning ahead that bites you in the rear. The very thing I have been saying a solo gamer needs – a battle plan, preferably written ahead of time – is what causes bias to creep in. And the longer the turn – more to the point, the more one side can do before the other can materially react – the more that bias will affect your game.

I think that increasing interaction between the two side helps break the mind from favoring one side over the other. Rather, the solo gamer gets caught up in the action, the unfolding story as it were, rather than what one side could do to the other during its turn. By breaking up the turn sequence you add more interactivity between the sides. Your focus becomes the micro, rather than the macro. Each fight between two units becomes a battle within a battle.

I am not saying that the solo gamers should not have a larger plan, for both sides, nor that altering a rule's turn sequence to make it more interactive will make your gaming easier, it won't. All I am saying is that, as solo gamers, we need to be aware that "playing the best of our ability for both sides" is not always good enough. You may enjoy the game, but if you game solo to practice for a tournament, for example, don't think for a second that you are able to play objectively.

A while back I posted a bit about messing with a game's rules. I was not much of an advocate of that, but I think I am coming around. It depends upon what you mess with, I suppose. Take Warhammer 40K (WH40K) for example. Although I do not play (one non-solo game in probably ten years) I do enjoy some of the podcasts that discuss tactics in the game. (In particular, I find The Second Founding and The 11th Company podcasts particularly interesting.) They often have interviews with gamers that won this or that tournament with a particular army and the interviewer goes through their list and pelts the interviewees with questions about how they would handle this or that 'Badness of the Month'. It is interesting how many times their tactics refer to the Alpha Strike, which is essentially the ability to blow away the enemy in a single turn (usually once it gets to a certain range), and what they do in order to pull that off.

As I have ranted many a time on my blogs, the Alpha Strike is a function of the game's turn sequence, alternating turns of Move-Fire-Assault phases between the sides. Imagine a simple change from that traditional turn sequence to the one used by Bolt Action3 (BA) on the mind-set of the solo gamer. In the WH40K sequence the gamer focuses on co-ordinating his actions and generally has no concerns about the opposing player taking an action during his turn that might upset his plans4. In the BA sequence, the player still will want to perform covering fire with Unit A and assault with Unit B, but now the sequence within the turn is not determined by strictly ordered Phases – Move then Fire then Assault – but by the order that the player activates units.

Take that simple example: Unit A will provide covering fire against an enemy while Unit B moves in and assaults. The pictures below show the order in which things are done.

WH40K SequenceBA Sequence
In the WH40K sequence all moves must occur first5. To ensure that the assaulting unit does not obscure the target unit, it may have to swing around the flank a bit to ensure it does not the friendly unit's line of fire. After the initial movement, the supporting unit provides covering fire. Finally, the assault movement is carried out and the melee resolved.

One 'problem' with this sequence is that the assaulting player must commit to the movement prior to knowing whether the covering fire is effective. That may be good or bad, depending upon whether you think  the player having perfect information is a good thing or bad. Also, because of the turn sequence, it forces the player to swing wide, thus requiring more distance be covered. (If the assault scene in Saving Private Ryan has any validity, that may not be a bad thing.)

In a random order, single unit, single action (ROSUSA) sequence, the first die drawn for the blue side will go to the unit providing the covering fire. If sufficient effect is provided, then when the next blue die is drawn, the second unit will go in straight. Of course, if an enemy die is drawn first, they may take some action that will pre-empt the assault.

That is all fine, but again, this is not a general discussion about the impact of different turn sequences, but about the specific impact on solo gaming. The first impact is that it create many more decision points for the solo gamer. In a traditional IGOUGO, the decision of which unit to move first on a side is irrelevant; they all move at the same time, and it has no effect. Switching to a ROSUSA turn sequence forces you to prioritize actions between units into a sequence that makes sense. By focusing the solo gamer's attention down to the micro, and away from the macro, I think you break (or at least significantly reduce) the chance of bias for one side's plan over the other. You may still get caught up in the narrative, but then again, isn't that why we game?

So the conclusion I am drawing is that some game mechanics are more conducive to 'better' solo gaming, and the traditional IGOUGO is not one of them. We have looked at another mechanism, the THW Reaction System, and its impact on solo gaming. Maybe it is time to start looking at ROSUSA? Maybe I will enjoy my solo wargaming if I forego my cardinal rule of "thou shalt not fundamentally change the rules" and instead start applying ROSUSA to WH40K, FoW, Warmachine, and some of those other games that I decided to drop because their IGOUGO turned me off from the game.

I've rattled on enough here (it has taken me three nights to write this), and I am curious what you think. Can changing something as core as a turn sequence make a fundamental difference in how the game plays for a solo gamer? Especially a solo gamer that plays each side to the best of his ability? Does it change his mind-set enough, push away the inherent bias that develops? I would like to hear your thoughts?


1 At first I was going to say "always present mechanic", as I could not think of a game that did not have a turn sequence, until I remembered the card game Spit. Some might say it has "turns", and thus does have a turn sequence, but that is for a discussion another time … if anyone actually cares.

2 I think this is one of the reasons some players do so poorly with random order, single unit, single action turn sequences; as they feel the game is so "chaotic" and "random", of which they have no control over, their plan becomes "just go with the flow". Their plan, is determined, and changed at each instant in which they are given a chance to act. In essence, their plan becomes "to react" rather than to act. That is why I think newer players should not start with a set of rules, such as Bolt Action, where they  have a random order, single unit, single action turn sequence; the player never really sees an incentive in developing a cohesive plan and sticking to it (until it no longer works). Instead they see the randomness and think that it is the physical equivalent of a reaction-oriented first-person shooter video game. At least that is my theory.

2 For those not familiar with Bolt Action's turn sequence it is:
  1. Put one die in a bag for each unit each player has. Player A uses one color of dice and Player B uses a different color.
  2. Shake the bag.
  3. Draw a die from the bag. The color of the die determines who is the Active Player.
  4. The Active Player designates a unit to be activated. That unit must not have already been activated this turn. (This is usually indicated by placing the colored die by the unit being activated.)
  5. The Activated Unit performs an action, which may consist of movement, firing, and/or assault.
  6. Resolve all combats and morale resulting from the action.
  7. Repeat steps 2 through 6 until all the dice have been drawn from the bag.
  8. Perform any End of Turn functions (army morale checks, victory condition checks, and so on).
  9. Start back at step 1. Note that casualties caused will reduce the number of dice put back into the bag, reflecting your deteriorating command and control.
4 WH40K has changed a bit from Third to the current Sixth Edition. They have re-introduced overwatch, so the enemy can fire at charging units before they get into assault. But that is about it when it comes to the enemy reacting during his opponent's turn.

5 Yes, I know that WH40K, and other games like it (such as Flames of War), have a movement portion in the Assault Phase. The assumption here is that the enemy unit is far enough away to require movement in the Movement and Assault Phases.

Monday, March 4, 2013

The Solo Gamer's Bag of Tricks

On of my concerns with this blog is that I use specific rules or game systems to show concrete examples of how to using solo gaming mechanics that other authors allude to, but that those specific systems may not be of interest to the reader, and thus they skip the article. Or worse, they are interested in the subject, but because my example is so specific to a game system and its internal mechanics, they get little from it.

My first series of articles were about card (hand) management systems and rulesbases, and I used Memoir '44 as the game system to play out the example. My second series of articles were centered around Two Hour Wargames' reaction system (which many people say is a solo gaming system in and of itself) and later Mythic for decision making that the reaction system did not cover. I used Rally Round the King as the game system to play out the example. Finally we come to the current series on using finite state machines to program an opponent. For that I not only used Saga, but a fan (me) made variant using Mesoamericans. Talk about obscure!

My plea to readers last time was to let me know if, for all my desire to make solo ideas "concrete", the rules I choose to use get in the way of understanding how to apply the concepts to your rules of choice, how useful can it really be?

Well, the few comments I received (actually quite good, considering the average number of comments in most articles) indicated that, for at least the last example, it was not as bad as I thought:

I don't play Saga and wouldn't play Aztecs, etc., even if I did, but I still find your exercise with actual examples to be interesting and illuminating. Whether I will try anything like this myself is doubtful. – Fitz-Badger

Like Fitz-Badger I'm not sure if I will play saga but I like the exercise. – Sean

Although not interested in Saga, it *is* interesting reading the processes you go through developing and testing the FSM. – Shaun Travers

Which brings us to the comment and response that led to this post1:

Me: The amount of work involved [in writing a programmed opponent using FSM] has made me think about solo systems, and whether or not something this complex is usable. I still think it is; it just cannot be your "I feel like a game right now" solo system. That means that you need a bag of tricks and you pull out the right trick for the situation.

Shaun Travers: Are you saying that the bag of tricks is for different rules, or that you don't think a solo system can be developed for a single rule system without a "bag of tricks" (or framework(s) for want of a different term) that is required to enable to play "programmable" solo?

I think that some tricks are rule-specific. For example, a method for hiding the cards available to your non-player opponent from you, the player, would not apply to a game system that does not use cards, or does use cards but does not require you to manage a hand. But other tricks are generic.

The most basic solo gaming mechanic is the one that helps the gamer decide how to make the most basic of decisions:

  • How do I decide which unit to move? (Important for games in which not all units can move each turn.)
  • How do I decide in what order units will act? (Important for games in which timing, reactions, and combinations play a part.)
  • How do I decide if the unit will fire or move? (Important in action point games where doing one action precludes doing the other, or places modifiers on either action.)
  • How do I decide if a unit will attack or defend? etc.
It is these decision making mechanisms – the ones that tell the player what to do in the non-player's stead – that I feel are the most important, and generally the hardest to implement well. So when I say "pull out the right trick for the situation", I am really referring to what decision making process will you use? Here are a few that have been discussed in the blog so far:

  • Just Do It: Play each side to the best of your ability.
  • Logic-Based, Chance Confirmed: Use a logical thought process to decide what is the most likely course of action, assign a probability to that decision, then use some chance element (e.g. dice, cards, etc.) to verify that the indicated choice was selected. Failure means repeating the process with the second most logical choice, and so on. This is exemplified by using Mythic as your decision-making tool.
  • Reaction-Based: Develop charts that define decision points (e.g. enemy entered missile range, enemy entered charge range, enemy on flank, etc.) and use a chance element to determine which pre-defined choice is made to react to the event.
  • Rule-Based: Develop a rules database of events that specify the exact action to be taken. Note that this can lead to a large number of conditions and exceptions, resulting in an IF-THEN-ELSE structure in order to get a more realistic response.
  • State-Based: This is a variation on the Rules-Based method and is used for when complex actions, or a series of related actions, must occur. The IF-THEN-ELSE structure of the rules exists, but is generally better structured as changes in state allow rules to triggered when exiting states, entering new states, and when testing for triggers within a state.
What the above list also reflects is the level of complexity required for each method. Reading from top to bottom you can easily see that more preparation work is required to execute that method. Often, it also reflects the increasing amount of time taken by the method to play out the game. If I feel like a game and I have an hour to kill, I will probably use the "Just Do It" method, unless I have something already setup and the method won't add too much time to the amount of time the game normally takes to play.

A stated goal of mine has always been to develop a programmed opponent, such that it was rich enough – and understandable – that I could send the "program" to someone else and they could use it to play a solo game. If a framework were developed on how to "encode" a programmed opponent, then each of us could create our own opponents and literally trade them on an exchange. As some of us would write a more cautious and defensive opponent, while others would naturally write a more bold and aggressive one, we could have a variety of different personalities to fight that are not "like us".

Of course, to get to that point, you have to define a mechanic for decision making that is rich enough to make the program enjoyable (and hopefully challenging), but also make it simple enough that most people interested in this concept would be willing to write their own. That means it cannot take a lot of work. Solo gamers would rather be gaming and painting than planning.

I also should probably revisit FSM's viv a vis RRtK. – Sean

And everytime you post, I think about doing my own FSM for ancient rules like RRTK. – Shaun Travers

Hmmmm… There seems to be a trend here.

Shaun made one more comment I would like to address:

Since your last post, I have been thinking more on orders. Saga uses the dice for orders, but games like RRTK have implicit rather than explicit orders. But if you use the Army tactics, you are implying orders. Eg left flank attack implies Attack orders for left flank and support orders for centre and likely defend orders for right flank. WRG 6th had a good description of simple orders so need to look them up. With orders and unit type, I think I can generate FSMs for units. – Shaun Travers

Saga uses dice for activations and "buffs". The dice still do not tell you what to do when the unit is activated. It is simply a means of simulating command and control problems. The same with "army tactics": what does "attack left" and "support center" mean when it comes to determining if a unit should move, how far should it move, and whether it should move in formation with other units?

Games like BattleLore provide a great example of the consequences of those decisions, for example. BattleLore uses the concept of unit support, whereby a unit is "supported" if it has two friendly units adjacent to it. If a unit is supported, it can ignore one morale result. So, if the player gets a command card that allows two units to move, and the three units are currently in a mutually-supporting formation (i.e. all three units count as "supported" and all each of the three units count the other two as their support), the questions become:

  • Should you move and break formation?
  • If so, which two units should you move?
  • How should you move?

There might be a legitimate reason to break formation: the enemy is exposed and vulnerable to quick elimination; you can quickly attack and re-gain formation before the enemy can effectively respond, etc. But none of the systems Shaun mentioned (army tactic, pre-defined orders, reaction charts) tell the player the answers to the above questions; they simply provide more data points to consider when making the decision.

What the exercise with Saga taught me is that it is more important to look at combinations of actions, rather than the action of individual units. What the player needs is a program to define a course of action more than whether Unit X should move 4" or 6", and directly straight ahead or 22ยบ to the right.

So, this means that in practice the player can actually use a combination of decision making processes to game solo. You can use one method to tell you what course of action the non-player general is taking, for example by using a rules database, another for units in critical positions, such as a reaction-based system when the enemy is within charge range (think of them as Immediate Action Drills, like infantry going into square in the face of cavalry), and a third method still for units not in critical positions, like Just Do It. So each "trick" might not only be dictated by the game system used, how much preparation time you are willing to spend, and your current mood, but it might be used depending upon the circumstances within a game. This is especially true if you are using complex systems for decision making. Some of the mundane details just cannot be forecast and requires that you rely to a certain extent on the player interpreting intent. Otherwise your rules database, condition statements, decision trees, or finite state machines will be so complex that you cannot complete them.

Having put a lot of effort into DBA Solo (DBAS) in the past, I know that developing something generic results in two things: a lot more work; and generic results. I think a framework for a generic programmed opponent is a starting point, but you take that – whatever it is: rules database, reaction charts, states – and you use it as the basis for writing a scenario-specific implementation. Copy-and-paste programming, if you will. Eventually your generic programmed opponent will have a "attacker" variant, "defender" variant, "defending a hill ridge" variant, "attacking a town" variant, etc.

So, who is up for developing a framework with me for a programmed opponent in Rally Round the King? If you really are interested, I could set up a small forum, like I did for my Dale's Wargames blog, and we can continue the dialogue there, publishing interim results here.


1 I prefer not to have a dialogue in the comments section.

Sunday, March 3, 2013

Testing the Finite State Machine

Well, the two finite state machine (FSM) articles (part one and part two) got a pretty good reaction (in terms of page views), so I know it is not a complete bore! I finally got a chance to test out the Tlaxcaltec "program" I wrote about last time. The reason for the delay, other than because I have been gaming online in a tournament, is because I have been working furiously on the draft Saga battle boards for both the Aztecs and the Tlaxcaltecs so I could actually run a game of Saga. Of course, some of those changes also invalidated my program, so I had to go an make some changes to that.

For those of you out there that have had a computer software configuration problem, you know that the best way to find the root cause of the problem is to change one thing and then test, before changing another thing and testing, etc. If you change multiple things, and everything suddenly works, it is very hard to know which change actually fixed the issue. Of course, if all you care about is fixing the issue, it is not much of a problem.

Well, designing a programmed opponent is much like troubleshooting software issues. If you are mucking about with a lot of other things – oh, say, working with draft rules for Saga battle boards – it is hard to know which thing caused a success or a failure! I knew that my program was not complete and would need modification during the game – I have never been a "big up-front design" kind of programmer – but I tried to limit that as much as possible. Only where I made a blatant error did I fix it.

If you remember the program, I essentially wrote one for the non-player general (NPG), who makes the decisions of what Saga abilities to fund, and in what order to activate units. Here is a brief description of the program:
The program is for a four-point Tlaxcaltec force fighting a four-point Aztec force. Due to the limited number of points the bow-armed Warrior units would be operating without their "shield" units, and thus two abilities would not be of use at all.

The program is designed to consider whether: all enemy units are outside of all missile weapons ranges; no enemy units are within charge range, but at least one is within missile weapons range; or at least one unit is within charge range of a friendly unit. These three states define:

  • The exact order in which Saga dice will be allocated to abilities
  • The order, by troop type, in which units will be activated
  • The allowable actions, by troop type
When in the "All outside of missile range" state, the NPG will build up the expensive, shooting-oriented abilities. When in the "One inside of missile range, all outside of charge range" state, those expensive abilities would be used against high-value targets while the more utilitarian shooting abilities, and the expensive melee abilities, get allocated. Finally, when in the "One inside of charge range" state, certain melee abilities get funded first, followed by certain shooting abilities, and finally the remaining melee and shooting abilities.
To start off, this model actually worked pretty well. I started funding the "expensive" abilities (uses the rarer symbols or multiple dice) and using them to effect during the Aztec approach. That said, this is when the first instance of "I changed too many variables" bit me. You see, I had been basing up more troops so I could have larger battles and more variety in troop selection, and I succeeded to the point that my game switched from four points to eight! Further, I was able to buy the shield troops, thus certain abilities I had downplayed in the program now became more important. Of course, wanting to get stuck in, I made a few changes to the program and off I went.

As I played the game I began to realize that my program was a little too rigid, especially when it came to movement. This was more a function of me being unfamiliar with how to use the Tlaxcaltecs properly than the program having a mechanical flaw. I had intentionally written a program that minimized movement. I was using a smaller table than normal (another unaccounted for variable change) with less depth to the deployment zone (yet another change), so I could start with enough distance between the two armies' start lines. Generally it is not a problem in Saga, as being up against your baseline has no negative effect (there are no "morale rolls" where falling back off the board removes the unit from play); in fact it has a somewhat positive one in that you can anchor your flank on "the edge of the world".

I would say that the program largely worked until the Aztecs started getting in among the Tlaxcaltecs (the non-player side). There was not enough of a program developed for that state to play adequately, much less provide a challenge. It was at that point that I started making decisions for the NPG and noting down my thinking process so I could update the program.

The Test Battle

This battle report will be a little different than most that I write up. This will be more of a snapshot of the game in progress, what event needs highlighting, and what impact it had on the program (during the game or in the future). It is not really meant for entertainment value. (Hence the reason I used an ugly game mat for the test.)

First is a picture of the deployment. The Tlaxcaltecs (the programmed side) is on the left and the Aztecs are on the right. The Aztecs have more troops as they downgraded one unit of Warriors to Levy.


The Tlaxcaltecs have their shield warriors in the forward units on the flanks; the bow warriors are immediately behind them. This combination of shield unit in front with bow unit in the rear allows the use of the Shielded Volley and Common Effort abilities. The first, a critical tactic, allows the bow unit to shoot through the shield unit in front. This is the primary way of protecting the bow units from enemy melee troops; hits occur on the forward unit, which has a higher armor value.

The Common Effort ability allows one unit to move its fatigue markers to another unit with 4" of it. This allows a shield unit to move its fatigue to the bow unit behind. As the bows are not in the front lines, they have more of an opportunity to rest, removing the fatigue marker.

Because the original concept for the program was to forego the shield-and-bow combination, these two abilities were de-emphasized. More importantly, because of the way the battle board was designed, certain other abilities were incompatible with using this shielded tactic. Thus funding those abilities does not make any sense. Put another way, your deployment would dictate which of two tactics were built into the battle boards. (Note that I see this as more of a design flaw with the battle board and not with the program. I will be looking at eliminating that problem before the next test of the program.)

In the center are the Tlaxcaltec elites. In front are two small (four figure) units of Jaguar Warriors. They are intentionally small in order to make them maneuverable surgical strike units. They also act as a screen for a larger (eight figure) Coyote Warrior unit wielding two-handed weapons and guarding the Warlord. This large unit is designed to destroy the unit guarding the enemy Warlord and slay (or capture) him. (As a programmed opponent, I am proud that they almost succeeded at it.)

This next picture shows the board when the Aztecs breached the "All outside of missile range" state.


I intentionally used a game mat with hexes for the test so that I could go back and clearly see how far away units were from one another without having to photograph rulers on the table. This allows you to clearly see something not anticipated when I re-wrote the program to account for the shield-and-bow combination: the bows were a full three inches behind the front of the shield units. Given the bow's 12" range, the 3" set-back for the bows, and the enemy's 6" move, the enemy would never hit the "One inside of missile range, all outside of charge range" state!

Needless to say, this error created quite a bit of havoc with the program. It meant I went from funding shooting abilities to needing melee abilities. This was when sometimes, as a solo gamer, you need to cheat to help your opponent. I rearranged some dice and kept on. But it pointed out something very important regarding the abilities that I selected for the battle board, so it was a useful lesson after all.


Here is where my "Counter Charge" in the program kicked in. One of the Jaguar Knights "flying columns" darted out between an Aztec Eagle Knights unit and a Jaguar Knights unit in order to attempt the capture of my Warlord. They lost that melee, however. (A Warlord doesn't wear a green parrot suit on the battlefield without being able to kick some serious ass, after all! )

The Aztec Jaguar Knights then came to the rescue of their Warlord, but again the Tlaxcaltec "Counter Charge" kicked in.


The Coyote Knights and the Tlaxcaltec Warlord charged in and slew the Aztec Jaguar Knights, leaving the Aztec Warlord exposed and alone.


They had even captured a prisoner in the battle. (Although I accidentally put the wrong figure in the shot. That is a Tlaxcaltec Coyote Knight!) The Aztecs, however, had played a dirty trick (i.e. a Saga ability) and left the Tlaxcaltecs near exhaustion.


As a side note, Exhaustion has a definite game effect in Saga. Units that are exhausted fight with half the number of attack dice and cannot move or shoot until they rest. Warlords and elite warriors reach Exhaustion at four fatigue markers; the picture above shows them at three markers each (it was quickly at four markers, making them both Exhausted, and thus very vulnerable).


The picture above shows that the Aztecs were poised to capture the exhausted Tlaxcaltec Warlord. All they needed to do was kill off the remaining two Coyote Knight bodyguards. A volley from the atlatls and a sacrifice charge by some Aztec warriors quickly accomplish that task.



Now to go charge in for the capture. The Aztec Warlord calls forth his Eagle Knights…



But the program had wisely funded the ability Show of Strength when it had the opportunity. The Aztecs are forced to abort the charge and withdraw.


Lest you think that somehow this was pulled off as a surprise, it was not. One player is allowed to see what his opponent has allocated dice to at any time, so I knew it was coming. As the Aztec player I made the play in order to strip the ability. As it uses a Rare symbol to fund it, the NPG would have to roll another Rare next turn to be able to thwart me again.

As it turned out, the NPG did roll another Rare and did in fact thwart another attempt to capture the enemy Warlord. After that play I had run out of turns in the scenario, so the NPG played to a minor loss. Trust me, I was fine with that for a first foray.

Lessons Learned

Clearly I should have played both draft battle boards prior to this test. This would have given me a better idea of the strengths and weaknesses of the Tlaxcaltecs and been able to write a better program. I had written the original program with a vague concept of the forces that would be used, that no longer held true when game time come, and an understanding that the Tlaxcaltecs would "play something like the Welsh do", which was totally incorrect.

Second, you should make sure that you are not in a "pushing lead around" mood when you start. If you use this method you need to be in a program writing mood when you start your solo game. If you want to actually game, you will rush the program writing process. It takes work to write a program down as you really need to think about your decision making process and put it to paper.

Further, it takes more effort during the game than if you simply "played both sides to the best of your ability". First, you are walking through a program, which takes time. Second, you will never foresee every eventuality1, so there are times when you need to stop and add to the program. Don't fall into the trap that somehow you will remember the decision points that you did not think about (there will be a lot of them) and you will also remember your thought process so you can replicate your decisions later. It won't happen.

So, all of this begs the question: is it worth all of the effort? My hope is to re-write the program, send it to someone else, and they get a good game out of it. I think that might be a little problematic, considering that I am using two very specific, fan-made factions for a game that, although is currently popular (in terms of buzz), is not very widely played. Now a program for Space Marines™using the Warhammer 40,000 Sixth Edition rules – that would be another matter entirely. But I did what I did, and it provided a good, maybe even slightly surprising game for me because it forced me to take actions I might not have normally taken, especially as I had written the program to be more passive in the opening moves and more aggressive in melee, than I thought that I had.

It looks like it is time to look at my "AI Programming for Games" book again and see what I can incorporate next. I am not abandoning FSMs; it is just that this blog is about exploring ideas and trying to make them concrete. That is something I complain about with solo gaming books on the market; they are just a bunch of random, disconnected ideas with few examples of how to really use them. I hope that I have given you enough depth in these three articles to give you something to try, or at the very least, helped you determine whether this might be your cup of tea. Let me know either way.


1 TMP user emckinney had the comment: "The big battles scenes in the Lord of the Rings movies used CGI soldiers for the big battles (no surprise). A program that was run for each soldier determined his behavior. If the enemy as far away and the soldier had lots of friends around, he charged the enemy. If the soldier was close to lots of enemies, he fell back. (There was a formula driving all of this.)

When the ran the battle scene for the first time, the two armies charged each other … then, just before contact they all pulled back. Then they charged, but pulled back before contact. they kept pulsing like this, as the programmers watched in horror. Turned out that they needed to do quite a bit of tuning of the weighting of the variables!"

Hey, if they can't anticipate this behavior, no reason I can't flub it up too!

Monday, February 11, 2013

Implementing a Finite State Machine for Saga

So, I hope to get some good feedback on this blog post, as I need to know if this example is too specific to a game system that it is not usable or understandable for those not familiar with the game system in question (which is Saga, by Tomahawk Studios).

By the way, this is dedicated to my internet buddy, Shaun Travers, who is weathering a painful condition. Shaun's blog provided some great reading and inspiration on game mechanics and analysis. Shaun, I hope this helps take your mind off of things and is something you can find a use or inspiration for in your gaming.

The Story So Far…

If you have been tracking some of my gaming over on my Dale's Wargames blog, then you know that I have not only started playing Saga, but being the incurable 'rules tweaker' that I am, could not play the game straight and hard to start developing my own factions … in another part of the world … for another time period! In my defense that is largely because:

  1. I heard great things about the rules in a series of podcast interviews, so I knew I wanted to try it.
  2. I purchased (on impulse) a large, painted collection of 25mm Aztecs and I was searching for a set of rules to use with them. As there are more than 450 figures in the collection, I would still have more than enough figures left over after I built two DBA-sized armies.
  3. Meso-American warfare has a lot of similarities to Dark Ages 'shield wall'-type warfare. (Trust me, when you have a 450 figure collection collecting dust it is easy to convince yourself of that.)
  4. It was going to take me a long time to make two Dark Ages armies out of wood (see my Wooden Warriors blog).
So, with those noble justifications I set about creating a Meso-American variant for Saga. I pulled out my two Osprey books and one Ian Heath book on the Aztecs and started reading. Before long I knew that the enemy I wanted to use for the Aztecs were the Tlaxcaltecs1. This would give me a missile-oriented army to oppose the vicious and melee-oriented army; a nice contrast.

At first I simply used the Welsh abilities as the Tlaxcaltecs, and that was great for learning the rules and understanding the dynamics of the game (good to know the rules before you tweak them), but as the Welsh are mostly armed with javelins and the Tlaxcaltecs with bows, and javelins and bows working completely different in Saga, it was obvious that I needed to model the Tlaxcaltecs a little more accurately in order to test the abilities I would give them. I finally put the first draft out this weekend, including a faction-specific battle board.

The Basics of Saga

So, in order to understand what I am about to present it helps to know how Saga works. You can get some deeper ideas from my review of the rules and subsequent battle reports, but here are the basics.

Each turn a player rolls SAGA dice. Each die has three different symbols on it (the Common symbol being on three faces, the Uncommon on two faces, and the Rare symbol on a single face). These symbols are matched to the symbols shown on the faction's battle board (my Tlaxcaltec one being shown to the right, although it uses '1-3', '4-5', and '6' as its symbols so you can use regular six-sided dice as SAGA dice). Fulfilling the dice requirements of an ability (a box on the board) allows you to use that ability during your or your opponent's turn (the ability will specify which).

These abilities and their combinations, along with the special rules granted to the faction (akin to an Army List) give it its unique historical flavor. The Welsh battle board tends towards skirmishing and annoying the enemy while the Viking battle board tends toward crushing melee.

Once you have finished allocating dice you start activating units one at a time and giving them an order, either Movement, Shooting, or Rest. Some abilities can be used during specific actions, like Movement or Shooting, and some can be in reaction to your enemy's actions. A turn is over when you have activated all the units you wish to and completed the ordered actions.

A unit can be ordered to take more than one action, by using more activation dice and accumulating fatigue faster. So by allocating three activation dice to a unit it could move three times, shoot three times, rest once, move once, and shoot once, or any number of other combinations. Given that you have only so many dice, for both activations and abilities, you do not have complete freedom with your troops; you often have to make hard choices on how to allocate your dice for usage.

Isn't This a Solo Gaming Blog?

And this brings us to solo gaming. This decision-making process – on how to allocate your dice and what actions to take with your units – is what generally makes these sorts of rules so hard to play solo. Of course there is the method to 'play each side to the best of your ability', but to my mind that is the least challenging method of play. Bias towards one side always creeps in.

My goal has largely been to design an artificial opponent in such a way that much of the decision-making is taken away from the player and performed by a 'program'. If that program can be structured and standardized, then it might even be possible to develop several programs and trade them between players. The goal might not be so much to develop a programmed opponent that cannot be beaten as much as one that is both entertaining and challenging. (At this point I would settle for plausible.)

So the first task I want to solve is how to decide, for the programmed opponent, which abilities to allocate to with the SAGA dice rolled. As the abilities define which unit types are eligible to activate (Move, Shoot, or Rest) and what advantages they will have, this is a critical piece to program. It is probably also one of the hardest because it essentially defines your programmed opponent's whole strategy.

So I present to you the first draft of the Tlaxcaltec 'programmed opponent'.


Tlaxcaltec Program

This document contains the 'program' for a Tlaxcaltec force fighting the Aztecs using the Saga miniatures rules. This program provides the 'intelligence' in how the Tlaxcaltec side should be run, especially with regards to how Saga dice should be allocated abilities and for unit activations. When units are activated, the program indicates which actions should be taken (Movement, Shooting, or Rest).

This program is very specific to the Tlaxcaltec force, as it refers to Saga abilities that they possess, along with their troop types. It is also specific to fighting against the Aztecs, as their fighting style is embedded into these rules.

How to Use the Program

Every turn the Tlaxcaltec side starts in one of four particular states:

* All enemy units are outside of missile weapon range
* All enemy units are outside of charge range (but inside missile weapon range)
* Friendly units are within one or more enemy units' charge range

At the start of each turn the player goes down the list of Triggers, in order, to see if the force's state changes. If so, the Exit actions of the state you are leaving are executed, followed bby the Enter actions of the new state. Once that is complete, follow the Orders section to determine which SAGA dice to roll and how to allocate them. Once complete, follow the instructions in the Activation section to determine the order of unit activation and what type of action each unit will take.

----

State: all enemy outside of missile weapon range
Note that being outside of missile weapon range includes being within range of a unit that is out of line of sight and can currently neither fire, nor be fired upon.
Description: Units will build high-end SAGA abilities and activate ONLY to rest.
Triggers:
Enemy within charge range: exit this state and go to state 'enemy within charge range'
Enemy within missile weapon range: exit this state and go to state 'all enemy outside of charge range'
Enter: no action to take
Exit: no action to take
Orders Phase: use SAGA dice in the following order:
1. Re-roll all unallocated dice, allocated Common dice, and dice allocated in the leftmost column.
2. If you have more than two Rare symbols use one dice for the 'Activation Pool' ability.
3. Allocate enough dice to activate all Exhausted units once. Their activation will be used to Rest.
4. Allocate enough Common dice to activate all units that are one FATIGUE away from Exhaustion [1]. Their activation will be used to Rest.
5. Allocate Rare dice to Saga abilities in the order: Heavy Arrows, Eye of the Eagle, Loose Arrows!, Activation Pool, and Attack Pool, skipping any ability that already met its dice requirement.
6. Allocate Uncommon dice to Saga abilities in the order: Loose Arrows!, Aimed Volley, Eye of the Eagle, Heavy Arrows, Massed Volley [3], Shoulder to Shoulder, Shielded Volley, and Attack Pool, skipping any ability that already has already met its dice requirement.
7. Allocate Common dice to Saga abilities in the order: Harassing Fire, Heavy Arrows, Aimed Volley, Shoulder to Shoulder, Common Efforts [2], Shielded Volley, and Attack Pool, skipping any ability that already has already met its dice requirement.
[1] Note that a unit that qualifies for step 2 does not qualify for step 3, even if allocated a die in step 2.
[2] Note that funding this ability may cause you to require fewer activations or different dice for steps 3 and 4.
[3] Note that funding this ability may force you to exit this state and enter the 'all enemy outside of charge range' state if it would make any of your bow-armed units eligible to fire upon an enemy unit.
Activation Phase: Activate Exhausted units before other units. Activate Zoomorphic Warriors before Warriors, who activate before Levy.
Movement: No activations should be used for Movement actions.
Shooting: No activations should be used for Shooting actions.
Melee: If, due to an enemy ability, a unit is drawn into Melee, the ability 'Show of Strength' should be used if available. Otherwise use 'Shoulder to Shoulder' and 'Attack Pool', if they are available.
Activation/Reaction: Use the ability 'Harassing Fire' only on an enemy unit 

State: all enemy outside of charge range
Note that being outside of charge range is being outside of the normal movement allowance for one Movement action (i.e. L for mounted in the open, M for foot in the open, and S for either type in or that must move through Uneven Ground).
Description: Units will primarily utilize their missile weapons for Shooting action, resting with the those that require it, and building SAGA abilities.
Triggers:
Enemy within charge range: exit this state and go to state 'enemy within charge range'
No enemy within missile weapon range: exit this state and go to state 'all enemy outside of missile weapon range'
Enter: no action to take
Exit: no action to take
Orders Phase: use SAGA dice in the following order:
1. Re-roll all unallocated dice, allocated Common dice, and dice allocated in the leftmost column.
2. If you have more than two Rare symbols use one dice for the 'Activation Pool' ability.
3. Allocate enough dice to activate all Exhausted units once. Their activation will be used to Rest.
4. Allocate enough Common dice to activate all units that are one FATIGUE away from Exhaustion [1]. Their activation will be used to Rest.
5. Allocate Rare dice to Saga abilities in the order: Heavy Arrows, Eye of the Eagle, Loose Arrows! [3], Activation Pool, and Attack Pool, skipping any ability that already met its dice requirement.
6. Allocate enough Common or Uncommon dice to activate all units that are armed with missile weapons and currently eligible to fire for Shooting actions.
7. Allocate Uncommon dice to Saga abilities in the order: Loose Arrows! [3], Aimed Volley, Eye of the Eagle, Heavy Arrows, Massed Volley [3], Shoulder to Shoulder, Shielded Volley [3], and Attack Pool, skipping any ability that already has already met its dice requirement.
8. Allocate Common dice to Saga abilities in the order: Harassing Fire, Heavy Arrows, Aimed Volley, Shoulder to Shoulder, Common Efforts [2], Shielded Volley [3], and Attack Pool, skipping any ability that already has already met its dice requirement.
[1] Note that a unit that qualifies for step 3 does not qualify for step 4, even if allocated a die in step 3.
[2] Note that funding this ability may cause you to require fewer activations or different dice for steps 3 and 4.
[3] Note that funding this ability may cause you to require fewer activations for steps 6.
Activation Phase: Activate Exhausted units before other units. Activate units that are within one FATIGUE of exhaustion and have not yet activated after activating Exhausted units and before other units. Activate Zoomorphic Warriors before Warriors, who activate before Levy.
Movement: No activations should be used for Movement actions.
Shooting: Shooting is always at the enemy unit that can be hit by the greater number of figures. If more than one unit is eligible, fire at the closest enemy unit. If there is still a tie, fire at the unit fired at last. If no unit had been fired upon previously, randomly determine the target between the closest eligible targets.
Melee: If, due to an enemy ability, a unit is drawn into Melee, the ability 'Show of Strength' should be used if available. Otherwise use 'Shoulder to Shoulder' and 'Attack Pool', if they are available.

State: any enemy within charge range
Note that being within charge range is being within one Movement action of the enemy unit's normal movement allowance (i.e. L for mounted in the open, M for foot in the open, and S for either type in or that must move through Uneven Ground).
Description: Zoomorphic Warriors will charge, or get into position to charge. Other units will utilize their missile weapons for Shooting actions, resting with those that require it, and building SAGA abilities.
Triggers:
No enemy within charge range: exit this state and go to state 'all enemy outside of charge range'
No enemy within missile weapon range: exit this state and go to state 'all enemy outside of missile weapon range'
Enter: no action to take
Exit: no action to take
Orders Phase: use SAGA dice in the following order:
1. Re-roll all unallocated dice, allocated Common dice, and dice allocated in the leftmost column.
2. If you have more than two Rare symbols use one dice for the 'Activation Pool' ability.
3. Allocate enough dice to activate all Exhausted units once. Their activation will be used to Rest.
4. Allocate enough dice to activate all Zoomorphic Warriors once for a Movement action. [4]
5. Allocate enough Common dice to activate all units that are one FATIGUE away from Exhaustion [1]. Their activation will be used to Rest.
6. Allocate enough dice to activate all Warrior units that have one or two figures remaining for a Movement action.
7. Allocate Rare dice to Saga abilities in the order: Heavy Arrows, Eye of the Eagle, Loose Arrows! [3], Activation Pool, and Attack Pool, skipping any ability that already met its dice requirement.
8. Allocate enough Common or Uncommon dice to activate all units that are armed with missile weapons and currently eligible to fire for Shooting actions.
9. Allocate Uncommon dice to Saga abilities in the order: Loose Arrows! [3], Aimed Volley, Eye of the Eagle, Heavy Arrows, Massed Volley [3], Shoulder to Shoulder, Shielded Volley [3], and Attack Pool, skipping any ability that already has already met its dice requirement.
10. Allocate Common dice to Saga abilities in the order: Harassing Fire, Heavy Arrows, Aimed Volley, Shoulder to Shoulder, Common Efforts [2], Shielded Volley [3], and Attack Pool, skipping any ability that already has already met its dice requirement.
[1] Note that a unit that qualifies for step 3 does not qualify for step 5, even if allocated a die in step 3.
[2] Note that funding this ability may cause you to require fewer activations or different dice for steps 3 and 5.
[3] Note that funding this ability may cause you to require fewer activations for steps 8.
[4] Note that a Zoomorphic Warrior unit close enough to the Warlord can be activated for free, not requiring the allocation of a die for movement.
Activation Phase: Activate Exhausted units before other units. Activate units that are within one FATIGUE of exhaustion, or have one or two figures remaining in the unit, and have not yet activated after activating Exhausted units and before other units. Activate Warriors before Levy, who activate before Zoomorphic Warriors. The Warriors and Levy activate earlier than the Zoomorphic Warriors specifically so they can shoot into enemy units and soften them up prior to the Zoomorphic Warriors' charge.
Movement: Zoomorphic Warriors will activate for Movement, moving directly toward the closest unit that triggered the state change, if the unit has three or more figures remaining, or two or more figures remaining and moving with the Warlord. If there is more than one Zoomorphic Warrior unit, each can move towards a different unit, but in all cases move towards the closest units.
Shooting: Shooting is always at the enemy unit that can be hit by the greater number of figures. If more than one unit is eligible, fire at the closest enemy unit. If there is still a tie, fire at the unit fired at last. If no unit had been fired upon previously, randomly determine the target between the closest eligible targets.
Melee: If the Zoomorphic Warriors enter melee, the abilities 'Shoudler to Shoulder' and 'Attack Pool' should be used, if available. If, due to an enemy ability, a unit other than Zoomorphic Warriors is drawn into Melee, the ability 'Show of Strength' should be used if available. Otherwise use 'Shoulder to Shoulder' and 'Attack Pool', if they are available.

All references to abilities can be found on the battle board above. "Zoomorphic Warriors" are the elites – the "Hearthguard" in Saga – while I retain the names "Warriors" and "Levy" as they are used in Saga.

Again, I welcome any comments, even those along the lines of "I cannot make heads or tails of what you are trying to do because I don't understand Saga."


1 I made the mistake of calling them 'Tlaxcalans', which apparently is an Anglicized term fallen out of favor. I still have to correct the battle board I made.

Friday, February 8, 2013

New Solo Game Design Book

Upcoming Book Purchase

I have purchased the first two volumes on game design by Wally Simon (and edited by Russ Lockwood) and really liked them. Now On Military Matters has published a third volume called SOLO SECRETS OF WARGAME DESIGN: Volume 3: A Tabletop Toolkit of Ideas, Analysis, and Rule Mechanics. The book's description is listed as:
The third volume of the SECRETS OF WARGAME DESIGN series concentrates on solo wargaming ideas. Peel back the layers of game theory to generate great solo games for a variety of periods. Delve into the real nuts and bolts of game mechanics to create a more compelling – and often more entertaining – tabletop battle.

  • Simple Solo Guidelines: Morale, Data Sheets, and a Napoleonic River Line Attack
  • Good Morning Vietnam: Cards, Squares, and Sequences
  • WWII Efficiency: Too Much Damage, Loss Points, Reaction Points, and Combat Points
  • Napoleonic Equality of Inequality: Simon's Theory of Fire Power
  • Scenario Generation: A Line in the Terrain
  • Speedy Solo Siege: Zones, Building Points, and the Passage of Time
  • Third Time's Charm: Modern Solo Squad Skirmish
  • Renaissance Squared: Grids, Groups, and Grinds
  • Bad Blood in the Balkans: WWII Command, Control, Activation, and Quality
  • Rules are Greener: American Revolution Response Chart and Efficiency Levels
  • Solo Hastings: Flights of Fancy?
  • NATO Rescue in Serbia: Pop-Up Squads, Prisoners, and Running Battles
  • BONUS: The Wally Quadfecta: Universal Guidelines for Good Game Design
The book is $19 and is 50 pages.

Order Writing

The Solo Wargame forum on Yahoo has a thread about writing orders which triggered a thought or two in me. I was thinking about my younger days when I used to play the Colonial Skirmish Rules and how signals were used to change orders. As my first test of the Finite State Machine was to be using my Meso-americans and the Saga rules, I thought I would incorporate orders into my game. As signaling with banners is very much a part of that style of warfare, I thought I might come up with some rules for it, despite the fact that command and control doesn't really exist in Saga (or at least is largely abstracted away). I hope to have a battle report on that next, using a hex grid to regulate measurements. If you read my Dale's Wargames blog, you know that I am caught up in a BattleLore tournament over Vassal, so it is taking up a fair portion of my time.