I’ve recently revisited Test of Honour and had a go at reworking my approach to solo games with it. My basic approach to solo games is that you don’t have to create an ‘AI’ that plays the game in the same way that a player does. If a game has the player only able to activate part of their force per turn and has to choose which ones, that’s a lot of work to model in an AI, better to just move all the AI’s units, or just dice per unit to see if they activate. However, that’s difficult to do with Test of Honour’s chit-pulling activation system, so the AI has to work within that system.
Initially I was using Two Hour Wargames’ approach with ‘PEFs’, or enemy blinds that move around the table until discovered, when they could be nothing or an enemy force. I then used THW’s reaction tables to decide what each enemy would do. For the scenarios and overall narrative, I started converting some THW settings to Sengoku Japan. The problem with all this was it was rather unwieldy. There would be a lot of work creating the background but most importantly having to roll dice to decide how each enemy figure behaved slowed the game down. ToH is a game of action and works best if it’s moving quickly. So I went for a different approach.
Toranosuke and his companions walk into an ambush.
Having played a bit of ‘Rangers of Shadow Deep’ (Joseph McCullough’s solo/co-op fantasy game), I decided to use that as inspiration. The enemies in ROSD act according to a very basic decision tree, they will attack nearest enemy or move towards them if none are in range etc. Also, the scenarios are designed from the player’s point of view. It’s the player that has to achieve objectives, the enemy just try and stop the player mostly by attacking them, or getting in the way where there is a time limit. The other decision I made was to go for a more narrative ‘story-telling’ style of linking scenarios together. Rather than use tables or converted settings, I’d just use a random encounter from an RPG (I have the old Land of the Rising Sun and Bushido games from FGU), and pair that with the outcome of the last scenario and use it as a prompt to decide what happens next.
As an example of the narrative approach, the first scenario involved the hero, Toranosuke, travelling to Atsuta in Owari province to kill the man who had murdered his brother. The idea was that after the first scenario, Toranosuke would get involved in some other scenarios in the town, maybe as a merchant’s guard or part of a criminal gang. However, the first scenario went very badly wrong, and Toranosuke barely escaped alive with one of his companions. I rolled a random town encounter and got a ‘friendly yakuza’ result. I interpreted this to mean that Toranosuke had been found by a gang of bandits operating on the river near Atsuta and taken in. Logically, the next scenario would be a raid on a merchant’s storehouse. So Toranosuke and his follower, Iemon, were added to an 18 point force of bandits and I played the raid scenario. This went very badly as well, and dicing for after effects, the bandit leader was captured. This rather nicely led to a rescue scenario, which went a little better.
So each scenario follows organically from the first, with the possible prompt of a random RPG encounter to spark an idea. I’ll keep notes on any bad guys that stand out in a narrative sense in the scenarios and keep them in mind for future scenarios. The killer of Toranosuke’s brother is still alive in Atsuta for example. The key point here is that everything revolves around the player’s character(s). The bad guys just fight and are forgotten, unless one of them happens to do something notable in which case they are added to the narrative.
Toranosuke and Iemon confront the merchant’s guards during a raid.
The actual AI is lifted from ROSD. Basically, when a chit is drawn, the nearest enemy to a player’s figure acts. The decision tree is something like:
Charge weakest enemy (wounded>no activations left>other) or shoot/reload if missile armed.
Move towards nearest enemy, using a cautious move if this would bring them within 6”
Any multi-action characters act for a second time only when all other multi-action characters have acted once.
Enemy figures can be set to guard objectives, in which case they will stay within 3” of the objective and generate a cautious move marker until an enemy comes within reach. I only take skill cards for my characters during play, if an enemy becomes a recurring character, then I may give him an appropriate skill card and note it down in the campaign log.
And that’s basically it. There are some more sophisticated AI’s out there, but the benefit of this one is that the action moves quickly. I may do more complicated decision trees for special enemy characters in the future, and likely take some of the scenario events ideas from ROSD.
The river bandits emerge from the woods to attempt to rescue their leader before he is executed.
There are a couple of changes I made to ToH as written, two of which pertain to how this campaign has worked. The first is I use any cards for any figures. So the bandit gang were made up of monks, onna-bugeisha, ashigaru, bandits etc. I basically ignore any class keywords and just use the stats on the card. This means that not all bandits will have low honour scores, and some soldiers may be more skittish than others, for example.
The second is how I use the honour system. I really like the idea of the honour/dishonour cards but I disagree with the criteria for drawing them from a historical perspective. Basically, the rules as written confuse honour with ‘fair play,’ which isn’t appropriate to warriors of the time (the campaign is set roughly in the 1550’s to 1580’s). There’s a longer explanation in this post, but the result is that I’ll take an honour card whenever a character cuts someone down, or anyone achieves an objective. A dishonour card is drawn whenever a character is wounded, or a character is cut down by an enemy follower. I do draw honour/dishonour cards for the AI force. If you draw a dishonour card while you have an active honour card, then the honour card is cancelled instead, and vice versa. Cards are recycled too, so are not exhausted. I suspect this means that I draw more honour/dishonour cards than the typical game and the overall effect is that the honour/dishonour cards create a sort of momentum in the encounter, where one success or failure can lead to others following.
Toranosuke and Iemon (promoted to a character) wait in ambush as a supply train makes its way up the road.
So far this approach is working much better for me than the one I was using. To sum up there’s been 4 scenarios, the story so far:
Ambush at Atsuta.
Toranosuke, a rope-maker from a village in Owari province travels to Atsuta to kill the man who slew his brother. Taking 3 friends, he breaks into the man’s house only to discover the place is empty. As they emerge back into the street, a group of 7 men attack. After a brief fight, Toranosuke is badly wounded and escapes with one of his companions, Iemon. The two are found by a band of river bandits, who take them in and recruit them.
A raid gone wrong
Toranosuke and the river bandits attempt to raid a merchant’s storehouses. The guards however, put up a strong fight and the bandits are forced to flee without any gain. The bandit leader Rokurō is captured.
Toranosuke and the others manage to rescue Rokurō, leaving some guards dead. The bandits may be beginning to attract too much attention.
Toranosuke, Iemon and the bandits attempt to steal supplies from a train of horses heading for Kiyosu. Toranosuke leads the charge, slaying two guards but is then badly wounded (again). Iemon comes to his aid and the two manage to make off with one of the horses. The others also grab a horse.
Goro, the bandit’s enforcer, has gone missing. Assuming he’s gone off on personal business, Rokurō lets it go. But when Goro returns, it is with a rival gang of bandits intent on protecting their territory into which the river bandits had strayed with their last attack.
Goro, the bandit leader’s deputy, dissatisfied at Toranosuke’s growing influence in the bandit group has joined a rival gang.