Skip to content

Spyfall, the online social game, implemented with ReactJS and a NodeJS websocket server

License

Notifications You must be signed in to change notification settings

andreasnicklaus/spyfall

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spyfall

Play now

Welcome, Agent!

You're a detective, but someone in your department is an enemy spy. Everyone is invited to a social gathering. Everyone but the spy has gotten the invitation.

Your job is it to discover which player is the spy and save the integrity of you whole organisation.

Instructions

What you will need
Player count 4-12 players
Player location in the same room or zoom call
Time 6-10 minutes: the smaller the group, the shorter the time
How to win
Spy Try to guess the round's location by the agents' questions and answers.
Agents Figure out who the spy is.

How to play

  • The location: At the start of each round, a location of the gathering is chosen. The location is the same for all players except for the spy. The spy is randomly selected and given a blank "spy" card, so he/she won't know the round's location.
  • Questioning: The game leader (organizer or the spy of the previous round) start by questioning another player about the location. Example: "Do you think I can bring my partner?"
  • Answering: The questioned player must answer. Follow-up questions are not allowed. The answer should be specific enough to convince the other players that questioned player knows the location, but vague enough so the spy cannot infer the location from the answer. After the answer, the questioned player gets to ask another question.
  • No retaliation: It is not allowed to pose a question to a player who just interrogated you! You must choose someone else.

The game ends...

There are 3 ways the round can end:

  1. No time left: When the clock runs out, the spy remains undercover and wins the round. He/She can now reveal himself/herself.
  2. Spy guess: If at any point during the round the spy is certain to have found out the round's location, the spy can reveal his/her role and guess the location. If the spy is right, he/she won the round, otherwise the round is lost!
  3. Indictment: The players can indict another player in a unanimous vote. If they cannot come to an agreement (all but one players vote for a suspected spy), the questioning goes on. If they vote out a player, who is not the spy, the spy wins! An indicted spy loses.

Optional rule: An indicted spy can still win if he/she has found out the location.

Scoring

Spy victory

Points Condition
2 points No one is successfully indicted
4 points Non-spy player is successfully indicted
4 points Spy guesses the location

... for the spy.

Non-spy victory

Points Condition
1 points The spy is indicted

... for each non-spy player.

Total score

You can play as many rounds as you want. The player with the most points wins the overall game.

Run it yourself

In order to use it yourself you can either run it natively using like this or do it via Docker-compose like this.

Native Run

Install and run the backend:

cd backend
npm ci
npm start

Install and run the frontend:

cd frontend
npm ci
npm start

Docker-compose

Using docker and docker-compose you can start the game with this command:

docker-compose up

About

Spyfall, the online social game, implemented with ReactJS and a NodeJS websocket server

Topics

Resources

License

Stars

Watchers

Forks