Speaking of mafia machine...
I've started a
Python project on GitHub for a mafia engine. I tried doing this before in C#, but it was too slow and rigid (and I had a poor idea of how to implement it, anyways). Given I've put more thought into it now, and have much more experience in Python, I conjured up a skeleton of a project
here. The idea is to make a working, flexible representation of Mafia-style games (normal mafia/werewolf, as well as BYOR's and other setups with crazy roles) and automatically evaluate actions.
This is mostly to aid mods (GM's) to:
- do most of the work during set-up (in order to do less while the game is running);
- create consistent games (in terms of rules);
- lower # of errors when computing actions;
- (eventually) easily set up games, count votes, and compute actions.
Useful side-effects of this:
- games can be standardized, and thus saved in some well-structured representation (instead of a load of PM's and "this guy actioned this", which is hard for even humans to parse...);
- (standardized) saved games can be later analyzed to varying degrees of complexity - this could allow, for example, to not do the dreaded parsing of games by hand if I or other people want to do machine learning related to mafia;
- one could build a phone app (or one-per-platform) so that people can play IRL
without playing or specialized cards (and "noises" and such...) and
with potentially more interesting roles. Think about playing a BYOR IRL and all the bs that can go down.
I'm writing here instead of making a post, because:
- I've already made a post for a mafia project before (the machine learning one) which didn't really get off the ground;
- I want to have tangible results before posting. Currently, all I have is a paper design document, a detailed representation in my head, and a skeleton Python program. I haven't been able to think of a role that's been done before that can't be done with my framework, but a lot of low-level details are missing.
If you're interested in helping (coding, or helping refine ideas), or even just supporting ("hey man that's cool" is enough to encourage me
), that would be swell.
<3 you all.