Putting the AI in Villain
I have settled on a new way of deciding what actions an enemy takes on its turn and how to resolve them.
Originally, what I wanted to do was have the state of the game influence how the enemies were feeling. For instance if there were four Drayduns that the Heroes were trying to get past, and the Heroes managed to kill one of the Draydun, this would make the other Draydun angry, which would change their behaviour.
The state of the game would produce different emotions in the enemies at the same time. For example, they might be feeling angry at the death of a friend, unhappy about being hit by a Hero and frustrated that they couldn't get a door open.
To resolve conflicting feelings, a randomiser would choose which of the emotions the enemy was feeling to act upon, with stronger feelings more likely to be chosen.
Originally, I wanted to do this with cards - each creature would have a deck of cards and the players would put a card in the deck each time there was a trigger that made the creature angry or frustrated etc. Then, when it came to the enemy's turn, the deck would be shuffled and the top card drawn from the deck would dictate which action the enemy takes. Obviously, the feeling that had the most cards would be most likely to be picked, but it would not be a foregone conclusion.
However, in the episode that I have been play testing, there is the potential to have 7 enemies on the board at once. This would take quite a bit of time to resolve, to shuffle each deck of cards and draw the card and resolve the action.
The other disadvantage to using cards, is that you would need enough cards for each feeling for each enemy for however many creatures there are in an episode, which could get quite numerous, quickly.
So instead I have come up with the following.
The Enemy Board
Below is a picture of a quarter of the enemy board.
The parts are as follows:
(1) The story deck for the episode will contain the cards for the enemies. These enemy cards are put here. You can see an example card further down the page.
(2) The red boxes underneath are to track health. At the moment I am limited to the max HP of an enemy being 14. This may have to change in future.
(3) This is where different coloured cubes will be put based on certain triggers. For example, missing an attack might result in a blue cube being put in here. The grey colours is the default colour if a cube is not present. If the board already has four cubes on it and the game requires a cube to be added, it simply replaces the cube at number 1.
Maps in Spaceship 47 are point to point, with lines connecting them. The lines are coloured to indicate the movement for NPCs to follow. For example, in the image below, assume that there is a creature in section 6. If the creature was following the Green lines, it would move North to section 5. If it was following Seagull Blue lines it would move south to section 8 and if it was following Black lines it would move west to the pink section.
The crossed arrows on the enemy board have a slot for cubes next to it, the colour of the cube indicates which lines to follow.
Deciding on Which Action The Enemy Will Take
The enemies will start using their default actions until cubes start being added to their board. Once at least one enemy has at least one cube on their board, a four sided dice, with the numbers 1, 2, 3 and 4 on it is rolled. Then each enemy in turn takes the action associated with the colour of the cube at the rolled number. A card determining what actions are taken for what colour is shown below.
Each card will have a grey box that contains the default actions for the NPC. In the above case there are three actions, which are all variations of moving. However, the enemy only takes one action, which is the first action in the list that it is possible for the creature to take.
In the above example, if the creature cannot move 1 or 2 sections that would put them in a section denoted by C, P or B, then it will try and move two sections. If the creature cannot move two sections, then something must be blocking its movement, either a barrier placed by the players or a Hero. Either way, the creature is getting frustrated and angry, so the players add a Rosebud Cherry, Persian Indigo and Yellow cube to its board to show this increasing level of frustration and anger.
Below the grey box are the actions that the creature takes if a colour has been chosen rather than the default. In the above example, there are three cubes, Rosebud Cherry, Persian Indigo and Yellow.
Persian Indigo is for the creature getting frustrated at not being able to move and giving up trying to advance here and moves elsewhere.
Rosebud Cherry is for the creature getting angry that things are blocking its path and lashes out attacking.
Yellow is for the creature getting really angry that things are blocking its path and lashes out with its better attack.
Both attacks are on a separate card.
Finally the defence scores of the mutant are given. Underneath the defence scores is where text would be, that indicate to add cubes if the creature took damage or was missed by an attack. These mutants are not bothered by such things, so there is no requirement for this for the mutants.
Each mutant card could be different with different numbers of cubes added or removed for certain things as well as different defence scores, to give each enemy an individual personality.
Resolving the Action
Groups of enemies with the same name share a card outlining any attacks they can make. Below is an example of such a card.
The name is at the top in the centre, this is followed by the priority of the targets for any attack made by the Mutant. In the above example if there is a Scientist in range then the Mutant would attack the Scientist. If not, the Mutant would attack a barrier. If there are no barriers or Scientists, then the Mutant would attack a Hero.
There are two attacks that the Mutant can make - Slam and Super Slam. They both follow the same pattern.
First up is the name of the attack. Next up is the icon showing that this is a melee attack, meaning that the mutant can only attack other creatures that are in the same section as it.
To the right of the melee icon, is the strength of the attack and which defence it targets. In the above case the Slam attack is only a medium strength attack, while the Super Slam attack is a Strong attack. Both attacks target Fortitude.
Finally we have the hit and miss sections. Both attacks see the mutant hurling the target behind it so it can carry on forward to its intended goal, the difference is that the Super Slam attack hurls the target further than the Slam attack. For both attacks, if the Mutant misses then a Persian Indigo cube is added as it is getting frustrated with not being able to hit anything so it is starting to think about moving away from this section.
The way the attacks are resolved is the same as the previous iteration of the game, where a card is drawn from a deck of cards that show values for Weak, Medium and Strong attacks. The players read the appropriate strength value, compare that to the value of the target's appropriate defence score and if the strength value is greater than the defence score then the creature has hit with its attack.
The positives of this system is that I can make groups of the same type feel a bit more like individuals and I can tie exactly what the creatures will do to the map they are on.
However, this system will definitely take longer to resolve than the previous incarnation, so I need to make sure that it hasn't swung too far the other way and now takes too much time away from the players' characters.