I see there are several rooms hosted on Puzzling on chat.SE that have strange, one-word titles, like:

What are these rooms for?


They're for playing puzzley games in real time.

Each of them has a pinned message to explain the rules of the game. Anyone is welcome to take part, and the room owners tend to be people who are particularly active players of the game (or, sometimes, bots whose automatic pinning powers are necessary for playing the game).









Spyfall is best played with 4 or more players.

All players are in some location. This could be a circus tent, a space station, a theater, etc. Each player is also assigned a role for the location; this might be an acrobat for the circus tent, an alien for the space station, an actor for the theater, etc. However, one player is told nothing, except that they are the spy.

The goal of the game is for the non-spies to correctly and unanimously accuse the spy, or for the spy to either correctly guess the location or get someone else accused of being the spy.


The location and roles are determined at the start of each game. We use an external site to generate the location/roles (the link to this site is also in the chatroom's description). To use it, one player will create a room on the site. They will receive a 6-letter access code to the room which other players can use to join. When the game starts, you will see the location and your role (or that you're the spy) at the top of the page.

You are not the spy!

There will also be a list of the players and possible locations. One player will have "1st" beside their name, indicating that they ask the first question.

Once the location and roles are determined, the non-spies will attempt to identify the spy, and the spy will attempt to determine the location. They do this by taking turns asking each other questions. The questions can be pretty much anything; common questions include:

  • How did you get here?
  • Are you here for business or pleasure?
  • Are there a lot of people here?
  • How long do you plan to stay here?
  • etc.

If you get asked a question, you must provide an answer. This answer should fit your role and the location (it doesn't have to, but if it seems suspicious or inaccurate, you will probably be accused of being the spy). After answering, you ask another player a question. The only restriction is that you can't ask the player who just asked you.

Stopping play

At any point (if the game is not already stopped), a player may stop the game by saying STOP (in bold). At this point the player can do one of two things: accuse another player of being the spy; or guess the location, if the player is the spy (the spy is also allowed to accuse).

If someone is accused, then all players except the accuser and the accusee vote on whether they agree with the accusation. If the vote is unanimous (EVERYONE votes yes), then the game ends. The non-spies win if the spy was accused, the spy wins if a non-spy was accused. If the vote is not unanimous, play continues as normal.

If the spy guesses the location, the game ends. They win if they are right, they lose if they are wrong.

General tips

  • Questions and answers should ideally be worded in a way that only those who know the location will understand the meaning. This way, the spy can't gain much information from them, but non-spies won't be suspicious of you.
  • The same question can be asked more than once, but there isn't often a point in doing so.
  • If someone joins (on the external site) in the middle of the game, they will be assigned a role for the location, and are guaranteed to not be the spy. Thus there is no point to joining halfway through or to ask questions to those that do.
  • On the external site, you can click on usernames and locations to cross them out. This is useful to keep track of which options you've eliminated.
  • You don't need to make a new room on the site for every game, you can just start a new game from the same room.
  • This game is hard, especially when you're the spy! It takes a lot of practice, so don't get discouraged if you aren't good right away.

Style guide

  • Pretty much any text related to the gameplay should be in bold (surround by **): questions, answers, and "STOP"
  • Questions are asked by writing a message which pings the person you're asking (@+username), and the question in bold
  • Answers do not have to ping, but should still be bold

An example question would be: @Rubio **How long have you been here?**, while an example answer would be **I've been here since the early morning.**

Example game

Taken from the official rulebook

Anne, Juan, Maria, and Isaac find themselves in the crusader army. However, Anne isn’t aware of this because she got the spy card. Juan gets the Knight, Maria the Squire, and Isaac the Archer. They all play their parts and try to identify the spy. Anne’s goal is to identify the location without blowing her cover. Maria the Squire asks the first question: “Isaac, do you remember which sea we took a dip in yesterday?“ Isaac the Archer naturally names the Mediterranean, and Anne the spy takes notice: the location could be the beach or the pirate ship. Isaac can’t ask Maria, so he asks Juan, “Juan, when do we get paid — is it at the beginning of the month, or the end?“ All the other players are on the alert, since the question might identify Isaac as the spy. However, Isaac is just sounding out his fellow players. Since Juan is a knight and not a spy, he answers the question easily: “Who knows? We’ll get paid whenever the commander feels like paying us.“ Anna the spy is thoroughly confused — now she suspects the location might be the military base or the submarine. Juan asks her next question: “Hey Anne, what did they serve for dinner yesterday? I couldn’t make it.“ Anne is evasive: “Oh, you know, the usual stuff — potatoes, nothing special.“ This is where other players start to suspect her of being the spy — as crusaders, they’re well aware that Columbus won’t be bringing that particular plant back from the New World for another three hundred years or so...




Contact requires at least three people, one person to create a word and at least two people to guess it. The word creator thinks of a word and gives the guessers the first letter. The guessers' objective at any stage is to get the word creator to give them the next letter of the word. They do this by coming up with words which they can (collectively) guess but the creator can't.

-- Quora (slightly edited)


One person is chosen to be the defender, and the rest are attackers.

The defender starts the game by thinking of a secret word and revealing only its first letter with an announcement in the following format, which is immediately pinned:

Deusovi defending: A

The attackers then think of words which start with this letter, and give clues to the words they're thinking of. These clues could be anything from vague descriptions to crossword cryptics to out-of-game references. The clues are generally expected not to be "unfair", something that the defender couldn't possibly guess. These clues are given in bold text, starred, and associated with a number. Numbers should only be reused once the original clue with that number has been solved - in other words, a given number should only be associated with one active clue at a time. There is no requirement for numbers to be in order.

The defender gets as many shots as they like at solving the clue. At any time, any other attacker (not the one who made the clue) can say "contact [number]" to indicate that they know the solution. If the defender gives up on a particular clue, then all attackers who have "contacted" it get a single chance (each) at guessing it. If they're all wrong, the correct answer is revealed. If they're right, the defender has to reveal another letter. Their announcement of the new letter is pinned and their last announcement unpinned. All clues which are no longer valid are discarded - those which begin with the correct two letters remain - and play continues as before.


D: [Defender] defending: A

A1: 1: ancient counting machine

A2: contact 1

A3: 2: succeed first advanced cosmology exam (3)

D: 1 is ABACUS

A1: correct

A4: 17: Scottish county

A1: contact 2

D: 2 is AIL

A3: nope

A3: 1: no symmetry

D: pass on 2

A1: 2 is ACE

A3: correct

D: [Defender] defending AS

A4: 17 dies, it was ANGUS

A3: 1 survives

The game ends, of course, when the defender's original word is fully revealed. This could happen by the defender actually giving the final letter (which I'm not sure I've ever seen happen), or by someone guessing the correct word. If this happens, the defender will usually pass - so that they don't end the game early in case that attacker is actually cluing a different word - and allow someone else to contact. The person who clued the right word is then the defender in the next game.

  • $\begingroup$ I've probably forgotten something here. Feel free to edit or comment if so. $\endgroup$ – Rand al'Thor Jun 13 '17 at 19:24
  • $\begingroup$ Unless I'm misremembering, the game doesn't end when the final letter is revealed, because e.g. if you've seen REGIMEN it's still possible that the word will turn out to be REGIMENT. Usually the game doesn't last long beyond that point, though, and often an attacker will post something like "1. That" to point at the letters-so-far. $\endgroup$ – Gareth McCaughan Jun 13 '17 at 19:42
  • $\begingroup$ There's a subtlety in the rules about which attacker wins; the winning attacker is the first one to post a clue whose intended answer is the defender's word -- even if another attacker's clue for the same word is contacted, passed, and solved first. $\endgroup$ – Gareth McCaughan Jun 13 '17 at 19:43



Codenames has an espionage setting, in which players in teams try to identify their own team's secret agents, based on their agents' code names. Codenames is a game of guessing which code names (words) in a set are related to a hint-word given by another player.



Firstly, we have a 5x5 grid of words. The 5x5 doesn't matter, as long as there are 25 words. Example:

Grid of words

Every word is a colour: red, blue, yellow (neutral) or black (assassin). There are two teams, team red and team blue and each team has a Spymaster (SM). The SM are the only people who know what colour each word is. What SMs see:



Thanks to Shiro ffao we have a bot which initialises gameplay, outputs pictures, etc - see below for instructions on how to use the bot.

Anyways, to begin, whoever has more words (in the above case, team blue) goes first. The teams take turns.

A turn consists of 3 steps:

  1. The SM makes a clue in the form clue, number. So for example, the SM on the blue team could clue legged, 5, so they post is **legged**, 5. Why 5? Because legged is a clue for five words on the board. (Scroll down for some rules about what can be clued and what can't, and PROTIPs about clues). In this case, legged refers to buffalo, horseshoe, knight, dance, agent (I know, I know, some of these are pathetically tenuous)

  2. The team now guesses words. Guess by writing a **bold** word on it's own line (you'll pick it up real quick). You get a maximum of number+1 guesses - so in the above example you get a maximum of 6 guesses in total.

  3. Pass/end of turn. Your turn ends either by a pass, by reaching your maximum number of guesses or by guessing a word that is not your colour. Pass like this:




An example: suppose team blue guesses (example transcript)

Team member: Buffalo

SM: Buffalo is blue!

Team member: Horseshoe

SM: blue

Team member: Table

SM: Neutral

Oops. Now their turn ends since they guessed a word of the wrong colour, so now it's the other team's turn. Oh yeah, and guessing assassin means you get assassinated - your team instantly loses.

Now the board that everybody sees would look like this:

partway board

You win when all words of your colour have been guessed, or the opposition gets assassinated

Protips and advanced rules:

  • You are not allowed to clue based on position or spelling
  • Your clues may not contain an unguessed word on the board
  • Clues are either
    • A word
    • A dictionary phrase
    • A place, name of a movie... 'An actual name of an actual thing' as Rubio put it
  • A clue number can also be 0 or Unlimited, both of which give your team unlimited guesses. The difference? 0 means none of the words of your colour are related to the clue whereas unlimited means guess whatever you want, but the clue is actually related.

Using the bot

We have a bot named Shiro, kindly run by ffao. Here's how to use the bot for gameplay. Note: Using the bot requires that you be on a whitelist (except for passing). Ping ffao or any moderator active in the room to be able to use the bot.

  • Starting the game

    To start the game, write the message 'newgame' beginning with an exclamation point, followed by the list of people playing, separated by commas. Put the names of the two SMs first in the list. As an example, if Rubio and Deusovi were the spymasters, you would write !newgame Rubio, Deusovi, n_palum, GentlePurpleRain, Business Cat, ffao, Mithrandir, Forklift. Then Shiro takes the first two names (Rubio & Deusovi), assigns them to be Spymasters, and randomly assigns the other players to teams.


  • Joining

    If you were accidentally left out, or arrived later, you can write !join and the bot will assign you to a team, depending on the number of players in each team. You can also write !join Sconibulus and it'll add Sconibulus to the list of players.

    You can also choose to join a specific team - write either !joinred or joinblue and it will assign you to that team. You can also write !joinred dcfyj and it will assign dcfyj to team red.

    !joinred Apple

  • Leaving

    To leave the game, write !leave. This will prompt the bot to write a new message stating the list of players, without you. This also works to leave a specific user, e.g. !leave Gareth McCaughan. You can not leave if you are the Spymaster; nor can you !leave Sp3000 to remove the Symaster.

    !leave L

  • Getting the board

    To get the board, write !board. Additionally, writing **[pass]** or **[passing]** will end your turn and generate the board.


    At the end of the game, you can write !finalboard to get the board as the SMs saw it. This will work in the middle of a game, so be careful not to write it before the game ends.


  • Flipping a coin

    You can get Shiro to choose randomly between red and blue by typing !flipcoin. Shiro will say either 'Red' or 'Blue'.


  • Recalling

    If you're the Spymaster and you somehow lost the board that you were working on, you can type !recall and Shiro will give you a new onetimesecret with the seed.


  • Recalling the teams

    If for some reason the list of who is on which team gets lost, you can write !teams to get the list of who is on each team.


  • Undoing a guess

    If you somehow manage to accidentally guess something, you can write !undo to take back that guess (as long as you haven't been told its color yet).


  • What to do when you get an image not found

    Sometimes when you request a board, Shiro will give an image not found:

    !board > image not found

    What you have to do is change where Shiro is uploading the picture. You write !imagehost, and then, depending on if it was uploading to imgur or puush, you will write either !imagehost puush or !imagehost imgur, and it will change the image host to whichever you specified:

    !imagehost imgur

There are a few commands that only a super user (like ffao) can use. These are !whitelist <Sid's chat ID>, which will allow Sid to use the bot, and !shutdown, which will stop the bot, and require either rebooting by ffao or switching to using Kuro, our backup bot, run by n_palum.

!flipcoin Kuro

All moderators on the Stack Exchange network are automatically super users.


We have implemented a pinging function into Shiro. We have several commands related to the pings:

  • !pingable

    There are two ways to be added to the pinglist. You can either have a super user (such as all mods) add you:

    !pingable Example

    This also works for removing a user from the pinglist:

    !notpingable Example

    You can also add yourself and take yourself off of the list if you have been !whitelisted:



  • !pinglist

    If you want to see the list of people who will be pinged by a !ping, you (as a trusted user) can do !pinglist:


  • !ping

    Finally, we have the !ping command itself. This is a super user command only at the moment, which means that only moderators and ffao can do !ping. There's been talk of letting room owners be allowed as well, but that is still just discussion.


You can find the source code for the bot on GitHub.

Finally, if you didn't understand, feel free to ask in the Codenames room or read the wiki article.

  • 4
    $\begingroup$ Might be improved by a bit more explanation of the "theme" so readers have some irea why they're seeing words like "spymaster" and "assassin". $\endgroup$ – Gareth McCaughan Jun 12 '17 at 11:43
  • $\begingroup$ Couple things: I believe we have reached a consensus on spelling, and it's not allowed. Also, your clue can't contain a word that hasn't been guessed yet. Once a word has been guessed it's fair game for clues $\endgroup$ – Business Cat Jul 11 '17 at 18:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .