About a month ago I got introduced to a simple little game called Spyfall. The premise and the mechanics were simple, but it provided hours of entertainment, tension, and mistrust to my cousins and myself. The simplicity of the design, and yet the resulting complexity of the game were the aspects that I found the most fun, and for such a reason Spyfall has become my biggest inspiration for my DIGC310 Individual Project.
The first step in creating my Project was to analyse and breakdown Spyfall and its attributes. The things I noticed were:
- RNG is involved but only minimally at the start, to assign roles and location. Everything else has no RNG
- The game uses a mechanic called “Hidden Information” -> as name suggests all or partial information is hidden from other players. This is the main element to the game, the thing that generates tension and fun.
- Spyfall comes with a set list of locations to work from, each with attributes that may overlap (such as “Does the location have water in it?”). This is an important factor; it helps guide the questions while also setting parameters.
- There is only one Spy
- The locations are the same for everyone (save for the Spy). This is crucial during the stages of questioning; it helps in trying to figure out who is the Spy and who isn’t.
- Time limit. Accelerates tension, and provides further parameters.
- Turn based questions and accusations. Because of the lack of RNG, such as the traditional die roll, turn-based “movement” is the suitable alternative. The questions and accusations are the actual playing mechanics of the game. In conjunction with “Hidden Information”, the questions and accusations help paint images, which in turn further builds tension.
Of these attributes, the thing I enjoyed the most was this Hidden Information, and the lack of ongoing RNG. I feel both contribute to a more enjoyable gaming experience, relying more so on wit and intelligence than pure dumb luck.
Spyfall works on a digital interface; web-browser based game. I decided I wanted to go analogue due to my lack of knowledge in coding. For this reason, I went with a Card Game. The basic summary of my current Project, Good Cop/Bad Cop is as follows:
- Cards are shuffled with four different roles available; Good Cop(s), Bad Cop(s), Mastermind and the Bank Owner. The cards are then dealt out to each player, one per player, faced down. Only the respective player(s) can view his/her own card.
- Each role has a unique goal;
- Good Cop(s): wins if successfully Arrest the Mastermind
- Bad Cop(s): this is the only one I’m currently having trouble on how they should win. My original thought was that perhaps if the Mastermind wins, the bad cops all win? But I feel that this would be a boring or unfair mechanic.
- Mastermind: wins if he/she steals all the Diamonds from the Vault
- Bank Owner: wins if he/she returns all Diamonds to the Vault
- Players take turns in choosing to complete 1 of 4 actions:
- Interrogate/Bargain with a player
- Steal/Plant a Diamond from/to a player
- Steal/return a Diamond from/to the Vault
- Attempt to Arrest a player
- Players keep playing until one of the winning conditions (as stated above) has been met.
- If a player attempts to Arrest a player, they must clearly state which player they want to Arrest. Everyone gets the chance to vote whether or not the Arrest is successful. Majority wins, and when successfully Arrested, that player is out of the game. That person may not reveal who they are, and their Diamonds get returned to the Vault. When out, that person may not vote for future Arresting.
These were the basic mechanics that I’ve come up with. I’m pretty happy with the current progress (my love for Heist films vaguely shown), and quite happy with the current game mechanics. The only thing I have issues over are the Bad Cop(s) winning condition(s) and whether the “interrogation” aspect will work. It works for Spyfall due to the given parameters, but Good Cop/Bad Cop doesn’t currently have enough information provided to players to properly question.
If anyone has any suggestions to these issues, please comment them! I would really appreciate any ideas.