Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: A Werewolf bot for Slack (github.com/chrisgillis)
96 points by bass_case on Dec 20, 2015 | hide | past | favorite | 42 comments


I've never heard of this game, maybe a description or link to a wikipedia page[1] in the readme would be good.

1. https://en.wikipedia.org/wiki/Mafia_(party_game)


And there is this great story in Wired on the history and popularity of this game, especially at tech conferences: http://www.wired.co.uk/magazine/archive/2010/03/features/wer...


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)...


I believe the proper term is `isomorphic' games?


I've played it as "Mafia" but never as "Werewolf" so thanks for the informed link.


If you enjoy Mafia, check out Town of Salem - a web/desktop based version. Games are quicker than usual Mafia.

https://www.blankmediagames.com/


There's also `Secret Hitler'. A game that's better than its name sounds.


here's the werewolf version: http://www.games-wiki.org/wiki/Werewolves_of_Millers_Hollow/

having cards available as reminders of who's alive is very helpful


Good suggestion, I added to Readme


Now also in a movie format - https://www.youtube.com/watch?v=DDpSwl-fJcU


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...

1. https://github.com/litaio/lita

2. https://www.lita.io/plugins


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.

[1] https://github.com/RossM/XylBot



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.

But ruby might be good, too.


So awesome :) Thanks for putting this together. I'd love to see a Secret Hitler bot next!


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.


Have you tried out The Resistance?


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.


Yep, I'm a fan of Resistance and Avalon as well. I think I prefer Werewolf and One Night Werewolf more.


This is neat, but I still wonder where people get the time to play games like this.


We played Secret Hitler in the office as part of a games day. https://www.kickstarter.com/projects/maxtemkin/secret-hitler


Haven't seen this game but it sounds awesome. Eager to give this one a try.


Take a little time off from checking HN?


But that would eat into my Reddit checking time.


Between 12pm and 1pm, or after 6pm haha :P


Used to work at a startup and after 3pm Thurs and Fri, our sys admin would set up a server for Counter Strike for the developers.

Man I miss those days. . .


My coworker and I happen to have a very strict One Slime schedule. Even slack bot knows about it and gets excited


At work..


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?


I wonder why it's written in PHP. Seems like an odd choice.


It's what I'm most familiar with and I didn't want to spend a lot of time building it.

There is a great Slack RTM client written with ReactPHP (http://reactphp.org/) that I took advantage of.


You should really consider investing time in learning more languages.


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```

https://github.com/nickweinberg/werewolf-slackbot


It's a fun group game... glad to see another addition to the growing list of Slack games...


Lycanobot is an IRC bot with much more roles:

http://dotsec.fr/index.php/Lycanobot


Very cool! I wonder how the game dynamic changes when people are not required to be in the same room as each other.


Anyone know how to host this on Heroku?


ha, this is perfect. love it. sharing




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: