Once I attended a math olympiad training camp, and was told a story explaining why we were not allowed to play "Mafia":
The previous year, students had arranged a real-time version of the game, so that, each night, the mafia would vote and eventually someone would go knock on the victim's door. At some point, a maid found a piece of paper in someone's dorm, listing a "God", the names of people who had been "killed", who was to be killed that night, etc. The police were called.
The matter was eventually cleared up, but from then on, the camp imposed a strict policy of no "Mafia". People were free to play equivalent games, as long as the vocabulary of the game was not something that could conceivably lead to a repeat incident.
Ha! In my family we play the Mafia game by the book but with alternative themes. My father-in-law used to work as a fireman, so I created the game of "Pyromaniac" for a family weekend trip. And for a party of one of my children, I rewrote the game towards "Wolf in sheep's clothes". They loved it (and would not understand the mafia references).
Hopefully the police is not alarmed by bits of paper with labels as "wolf" (mafia), "dog" (guardian angel), "shepherd" (detective) and "sheep" (civilian)...
As I don't use Slack, I'm totally building an IRC version of this. Actually, I'd prefer frontend-agnostic, so I can hook the logic to IRC/matrix/XMPP/websockets.
If you're a rubyist check out Lita[1] which is a ruby bot framework that has many adapters[2] to work with various chat services like IRC, slack, etc...
I'm down to build this into this project. Build an IRC client in ReactPHP (async websocket pkg) and we'll work towards the necessary abstraction to make the game logic completely secular.
You might want to look up existing IRC bots for reference (like XylBot [1]). I'm not sure how usable the code is, but it could be useful for role ideas.
I've actually been looking at scheme. I need the practice, and it has enough frontends to make it work. Also, there is CHICKEN's C FFI, which is amazing.
Nice, in my experience online Werewolves can be fun when you know each other well but live far away. So I could imagine it working with teams on Slack. How were your experiences thus far?
I built https://github.com/sander/lunacy for a similar purpose (CouchDB + Node + AngularJS). After a few months it did become a bit boring, I think mainly because the stakes are lower when dropping out of a game doesn’t actually mean having to sit and watch others continue to play live (you can just quit the app), and because the lack of facial expressions that can give away roles.
Resistance is one of my favourite games of this type. It's great when you have 2 or 3 really talky people. Kind of falls apart when everyone is quiet though.
Sometimes you have to rally the group to play a second game and then they'll get it.
I've also seen quiet groups completely come around if you act a little more like a moderator and start asking questions. Have everyone say who they are and why. Always ask people why they voted a certain way. Its usually not too hard to get the quiet ones talking.
Small nitpick: That screenshot shows a situation which shouldn't occur in the game. If there's only 1 player left, he's the winner. So I wonder: Is there a winning condition built in?
Really cool. I built something similar in python for giggles a couple months ago [1]. One day I'll get around to implementing other roles. Honestly the most fun part of it was co-workers hilarious attempts to break the script. ```!vote DROP TABLES```
1. https://en.wikipedia.org/wiki/Mafia_(party_game)