I have been in the digital gaming industry for many years, having worked in several different roles and have qualifications in design, QA and programming. However, I have also been a hobbyist board/card game designer at the same time; creating games for my friends to play.
An idea that interests me is creating an Artificial Intelligence (AI) for board/card games. To give a brief introduction, AI is the ability to create intelligent behaviour in non-living things. An everyday example is self-driving cars; cars that take into account the surroundings and traffic around them as well as GPS technology to be able to drive themselves without the need for human interaction. In digital gaming, AI is used primarily used to generate intelligent behaviours for non-playable characters (NPC’s). NPC’s are used for many reasons including to build up and populate a world, create interaction with the players, or be used as enemies or allies in combat. It helps to create a world experience for players forming immersion; a world they think they are part of. Think of an open world RPG game like Skyrim or Fallout without NPC’s to combat and interact with, or a shooter game like Halo without aliens that dynamically move and attack the player. Without them you would have no world, no challenge and no game.
While tabletop gaming is primarily used to create interaction between actual players around a table, AI can definitely be used to increase both gameplay and immersion of the game world. It also allows for different gaming experiences; for example, co-operative or single player tabletop games compared to versus. It is important to explore how AI can be addressed and created without the use of programming and advanced scripting. How can we as designers simulate another character in the game; an enemy the main players have to combat, an ally character they interact with or a completely different artificially created player you have to play with/against.
There is also a fine line between a simplistic system and something too complicated people don’t want to use. Designers have to think what is best for their game. Not every AI will work for every game.
The below are some AI methods being used in tabletop games. I want to point out that AI is game dependant and that different systems work for different types of games. For example, a game designed around player interactivity with minimal enemy AI behaviour would be perfectly fine with an autonomous system. Whereas a game that is co-operative and against an AI would need something different to add replayability and complexity.
The most basic of “AI” is pre-scripted events. These are autonomous features created by the rules of the game. The designers have created events which must occur. In digital games, this can be simply a NPC following a predefined path, or have an audio script that will always be said. In tabletop games, there are many examples like moving an enemy a certain predefined position each turn or combat based off predefined characteristics and abilities. These autonomous rules and features do create a balance to the game; the designer can easily plan and know what is going to occur and can test the interactions and strength accordingly. However, the problem with autonomous AI is that it can become repetitive. Each new time a player plays the game, they know what is going to happen. If there is a challenge to solve or an enemy to defeat, in an autonomous AI system a player will learn how to combat the situation. This reduces replayability once a solution has been discovered.
A way a lot of boardgames have approached this is to use chance or randomness, sometimes coupled with their autonomous system. They generate an AI by creating scenarios based off a random outcome. Examples of this can include a card picked up from a deck, lay out a random tile or a dice roll to trigger a certain event. This outcome is coupled with the rules of the game to give a random autonomous system. This is harder to balance as you don’t know how the random outcomes will occur. It could create scenarios which may break the game, become unfair for the players or make the game too easy. However, if done correctly with all scenarios balanced, it adds a lot of replayability to the game. Each game will be different based off the random scenarios. It will create new story to each game and add to the immersion the players feel.
An example of this is in Arkham Horror with the monster movement. They will move in a certain direction based off cards picked up by the players in the turn. The movement is random but controlled, having a balance but adding to the replayability.
Reactivity and State Machines
Randomness and autonomy combined is great for many tabletop game AI. I feel most games do not really have to add too much more complexity. Those features combined usually create a dynamic game with great replayability. What I would like to explore however, are tabletop games with reactive AI. Reactive AI is where a NPC will act a certain way to a scenario based on what has just occurred. For example, an enemy character may be moving a certain path until it gets in range of a player, whereby it will then attack them. Another example is if an NPC gets damaged with only a certain amount of health left, they will run to cover. These are reactive AI. In digital gaming, these can be created using a state machine. States can be determined and switched based on certain factors. Below I will give an example:
- State 1: Patrol. The enemy will patrol a certain path.
- State 2: Attack. Once the player has got into a certain range, they act differently, stopping their patrol and attacking the enemy.
- State 3: Damaged. If the enemy has got damaged enough, then they will stop attacking and aim to find cover.
The state control system for a digital AI system is great but complex. The problem with a state system in a tabletop game is that you will have to write down all the states and interactions somewhere in the rules. If you do a state machine for each type of enemy, it can quickly build up and become way too complex and annoying for players to read. However, I believe a simple state machines could be used with other AI methods to create a dynamic, interesting and balanced system.
There are already some examples of this in board games. In Zombicide, the enemy zombie movement uses a state machine based off preconditions of the player’s location and noise values.
- If they can see a Survivor, they move toward him.
- If they can see Survivors in different Zones, they move toward the noisiest group, regardless of the distance (REMEMBER: Each Survivor counts as a Noise token).
- If they can’t see anybody, they move toward the Zone that contains the most Noise tokens.
- If they can’t see anybody and there are no open paths to the Survivors, they move toward the noisiest Zone as if all doors were open, though locked doors still stop them.
This is a great state system as its simple and used for all zombies. Players don’t have to repeatedly look up the rules. It also adds replayability as players will be doing different things each game based on where they move and equipment they get. Therefore, the zombies will be moving differently each game despite their specific states.
Machine learning is a form of AI whereby computers learn without explicitly being programmed to do so. For example, a computer could be taught how to play chess against a player. They are told the basic moves of each piece and the win condition, but nothing else. Through playing many games, the computer learns what moves are good and bad, slowly getting better and better. Obviously this can’t be done in a tabletop system, although legacy games could potentially think about it. However, it could be interesting to think of a system where an AI character changes based off the actions of the player.
A badly designed/balanced example of this could be a boss dragon NPC. Throughout the game, every time a player uses a spell the Dragon gets a point of magic resistance. Similarly, if the players defeat monsters in combat with weapons, the Dragon gains a point of armour. The result would have a Dragon with different stats or abilities based off the interactivity of the players throughout the game. This is a complex and potentially annoying system, but is an idea of how a learning system could work, being able to create different characters or results based off player’s previous actions.
One thing to be mindful of which could potentially add more complex AI to tabletop games is accompanying applications (eg software on a phone). These applications could help with state machines or learning behaviors preventing players manually having to look up the results. The disadvantage of using these is that you alienate a player base that may not have or want to use these applications. Still something to consider.
There are a lot of different AI systems that can be used in tabletop games. Designers have to think of the best solution in terms of balance and complexity. If you know a good or bad AI system, let me know in the comments. I would be interested to learn