The Game
Simplification
As explained earlier, the original game is played with 8-12 players and contains over 40 different roles. In order to prevent an exploding complexity, especially when modeling knowledge, we decided to simplify the game. We reduced the number of players to 5 and predefined the roles which are in the game.
We also simplified the process of the game. We omitted the small discussion period which players have before the start of a game and do not allow players to pick which roles are in the game. During the discussion period, we omitted whispering. All statements made by agents during the discussion period are public announcements, and thus anything they say and know is true. We omitted the defense phase in full, which means that the majority vote directly decides who gets lynched. The will of players contains the events in which they participated at night, their role, and any knowledge they gained. It cannot contain lies.
In reducing the number of roles, we decided to have 1 mafia role and 4 town roles. In the original game, the mafia consists of up to 4 plays and can consists of players with different kinds of roles, deception, support and killing roles. When the godfather and mafioso are both in the game, the godfather chooses who the mafioso will kill. In our simplified version, the mafia as a whole only consists of the godfather, which means the role of the godfather is simplified.
Roles
There roles belong to two different factions, Townies and Mafia. Townies are the "good" side of town, their goal is to "lynch every criminal and evildoer" 1. Mafia are the primary enemy of the town, their goal is to "kill anyone that will not submit to the mafia" 1.
The lookout can go to someones house at night and see who visits them that night. The lookout will know which players visited the player but will not know the roles of the visiting players. This role is a Town role. The abbreviation for the lookout is 'LOO'.
The doctor is able to heal someone each night. If that player is attacked, the doctor saves this player. If the person the doctor chose to save was attacked that night, the doctor receives a message stating that their target was attacked last night. The doctor can also heal themselves, but only once. This role is a Town role. The abbreviation for the doctor is 'Doc'.
The veteran can choose to go on alert during the night. If the veteran is on alert, anyone who visits the veteran that night will be shot by them and will be killed. The veteran can only use this ability twice. This role is a Town role. The abbreviation for the veteran is 'Vet'.
The mayor can choose to reveal themselves as the mayor. In doing so, their vote counts for three. If the mayor does not reveal themselves, they are simply a regular player. This role is a Town role. The abbreviation for the mayor is 'May'.
The godfather kills one person each night. This role is a Mafia role. The abbreviation for the godfather is 'GFR'.
Gameplay
The version of the game that we implemented contains two phases, a night phase and a discussion and voting phase. These two phases alternate, and each new round starts with a night. This happens until one of the two factions wins.
Night
Each round of the game starts with a night. During the night, players get to perform their role abilities:
- The lookout can choose which player to watch. At the end of the night, they will be shown which players visited the player they watched.
- The doctor can choose which player to heal. At the end of the night, they will receive a message if their target was attacked.
- The veteran can choose to go on alert. At the end of the night, they will receive a message if they shot someone who visited them.
- The mayor cannot do anything at night.
- The godfather can choose which player to kill.
Discussion & Voting
Before the discussion phase starts, it is revealed which players died during the night. The last wills of the deceased players is shown.
Next, there's a discussion period during which players can share information. They do so if they know other players know their role. Otherwise, they will not share information. During the discussion period, the Mayor can choose to reveal their role to other players regardless of the knowledge that other players have.
During the voting period, each player can choose a another player to vote on. If a player gets the majority of the votes, meaning (n/2)+1 where n is the number of players in the game, then this player is killed. After they are killed, their role is revealed and their last will is shown.
Implementation
During the night routine, each agent gets to perform their action. Agents select their target for their ability due to some decision making process, which will be discussed in "Decision Making". After all actions are selected, agents will receive any gained information from that night, for example, the lookout will obtain knowledge of other visiting agents if their target for that night was visited.
After each night, we check whether the game is finished, which is the case when either all town roles or all mafia roles are dead. If the game has not finished and someone was killed during the night, their role and last will will be revealed. Agents will then use their knowledge and the axioms to try and make inferences about the roles of the other agents. Afterwards, agents get to talk and vote. During talking, players can share information. After the discussion but before voting, the mayor gets an opportunity to reveal themselves. Then, after talking agents are again allowed to infer knowledge using the axioms. After this, the agents will vote. If there is a majority vote, the chosen agent will be lynched. If a player is lynched, their role and last will are again revealed. Otherwise, the day is over and the next night begins.
The game cycles between day and night until one of the factions, Town or Mafia, wins.
Both the revealing of the role and last will when an agent dies, and the knowledge that agent decide to share during the talking phase are implemented as being public announcements.
1. Town of Salem Wiki. Retrieved June 28 2022, from https://town-of-salem.fandom.com/wiki/Town_of_Salem_Wiki.