Mini 1617 - Mafia with a Twist 2 (It's Over!)


User avatar
Thesp
Thesp
Supersaint
User avatar
User avatar
Thesp
Supersaint
Supersaint
Posts: 5781
Joined: November 4, 2004
Location: Round Rock, TX

Post Post #350 (ISO) » Fri Oct 17, 2014 4:30 am

Post by Thesp »

Mafia Private Thread
Viewing Party

I'll have some more thoughts up later, but I'll note that this was much closer than I was expecting. Klazam did a heck of a job not getting lynched, and had xRECKONERx flipped his 7th & 8th votes (for Klazam & mathcam), it would have been a Mafia win (!).
"When playing a game, the goal is to win, but it is the goal that is important, not the winning." -
Reiner Knizia

Ask me about my automatic votecounter, and how you can use it in
your
game!
Check out my 15 minutes of fame on Wait Wait...Don't Tell Me!
User avatar
Klazam
Klazam
He/Him
Jack of All Trades
User avatar
User avatar
Klazam
He/Him
Jack of All Trades
Jack of All Trades
Posts: 5641
Joined: June 28, 2010
Pronoun: He/Him

Post Post #351 (ISO) » Fri Oct 17, 2014 4:30 am

Post by Klazam »

That was an interesting twist. Not sure how i could have played it differently..
User avatar
Honey bee
Honey bee
Mafia Scum
User avatar
User avatar
Honey bee
Mafia Scum
Mafia Scum
Posts: 1615
Joined: May 20, 2013

Post Post #352 (ISO) » Fri Oct 17, 2014 4:31 am

Post by Honey bee »

reck getting townread from the hammer probably saved us. But yeah that game was fun for to be finished it barely a week.

Thanks for modding thesp!
User avatar
SleepyKrew
SleepyKrew
he/him
Snark Attack
User avatar
User avatar
SleepyKrew
he/him
Snark Attack
Snark Attack
Posts: 15746
Joined: April 27, 2011
Pronoun: he/him
Location: quack

Post Post #353 (ISO) » Fri Oct 17, 2014 4:37 am

Post by SleepyKrew »

/pouts
Fun to follow along.
To be clear: quack
User avatar
mathcam
mathcam
Captain Observant
User avatar
User avatar
mathcam
Captain Observant
Captain Observant
Posts: 6116
Joined: November 22, 2002

Post Post #354 (ISO) » Fri Oct 17, 2014 4:54 am

Post by mathcam »

Very neat! I wish I could take full credit for my (admittedly pretty awesome -- w00t) ballot, but I have to admit a lot of that was luck (though I was had a pretty strong feeling about Feirei -- no one could be
that
sure ika was town without, you know,
actually
knowing he was town), especially slotting MTD vs. Wolfy, where I decided to gamble.

It's pretty neat how subtle the resolution of the ballots works. If a large group of people find A scummier than B, then A is likely to die first .... unless
that
group of people is even scummier than both, in which case by the time the A vs. B fight comes to a head, all of the people who found A scummier could have disappeared. There's some really cool math in here.
User avatar
MTD
MTD
Mafia Scum
User avatar
User avatar
MTD
Mafia Scum
Mafia Scum
Posts: 2033
Joined: November 27, 2013

Post Post #355 (ISO) » Fri Oct 17, 2014 4:59 am

Post by MTD »

True, the system was really neat.
still the same old MTD
User avatar
Honey bee
Honey bee
Mafia Scum
User avatar
User avatar
Honey bee
Mafia Scum
Mafia Scum
Posts: 1615
Joined: May 20, 2013

Post Post #356 (ISO) » Fri Oct 17, 2014 5:03 am

Post by Honey bee »

I'm really interested in the balance choices of this, since in the example all the mafia had a ballot. I felt like this system leaned townie but maybe not.
User avatar
Thesp
Thesp
Supersaint
User avatar
User avatar
Thesp
Supersaint
Supersaint
Posts: 5781
Joined: November 4, 2004
Location: Round Rock, TX

Post Post #357 (ISO) » Fri Oct 17, 2014 5:16 am

Post by Thesp »

In post 356, Honey bee wrote:I'm really interested in the balance choices of this, since in the example all the mafia had a ballot. I felt like this system leaned townie but maybe not.

mith seemed to think it was about 50/50 after the vengeful kill (which was his great suggestion - mafia would have gotten one as well had they been lynched). I think if a mafia member can get in really tight with the town, they can win it for their side as Klazam nearly did. Honey bee and mathcam being generally trustworthy and having great ballots (and xRECKONERx being fairly trusted) really helped out the town here. I think both this game and the previous game reward generally good D1 play, which I'm happy with as a design result.

I've been worried about this particular setup being too brief or unfulfilling, especially when players were engaging very well on D1. However, response seems to have been generally positive, so hopefully enough of you enjoyed it that I haven't wasted your time. And if you didn't enjoy it, at least it was less than 48 hours of game posting. :P
"When playing a game, the goal is to win, but it is the goal that is important, not the winning." -
Reiner Knizia

Ask me about my automatic votecounter, and how you can use it in
your
game!
Check out my 15 minutes of fame on Wait Wait...Don't Tell Me!
User avatar
Thesp
Thesp
Supersaint
User avatar
User avatar
Thesp
Supersaint
Supersaint
Posts: 5781
Joined: November 4, 2004
Location: Round Rock, TX

Post Post #358 (ISO) » Fri Oct 17, 2014 5:20 am

Post by Thesp »

I can also accept pre-/ins for Mafia with a Twist 3 at this time. Please PM me if you wish to reserve a spot. (If I exceed my pre-/in limit, I'll still keep track of your interest and let you know when signups open.) Thanks!
"When playing a game, the goal is to win, but it is the goal that is important, not the winning." -
Reiner Knizia

Ask me about my automatic votecounter, and how you can use it in
your
game!
Check out my 15 minutes of fame on Wait Wait...Don't Tell Me!
User avatar
xRECKONERx
xRECKONERx
GD is my Best Man
User avatar
User avatar
xRECKONERx
GD is my Best Man
GD is my Best Man
Posts: 26087
Joined: March 15, 2009

Post Post #359 (ISO) » Fri Oct 17, 2014 5:27 am

Post by xRECKONERx »

I have no clue how I got town read off the hammer. That was inanely close!
green shirt thursdays
User avatar
Honey bee
Honey bee
Mafia Scum
User avatar
User avatar
Honey bee
Mafia Scum
Mafia Scum
Posts: 1615
Joined: May 20, 2013

Post Post #360 (ISO) » Fri Oct 17, 2014 5:28 am

Post by Honey bee »

Yeah it was fun. I think his game depends alot more on who you can put at the bottom of your list than who you can put at the top. I mean if everyone can decide 2 people who are definitely town to put at the bottom of their lists the game is pretty much won for town. But we really didn't have the chance to think about it so we had a lot of different ranges for the same people.

My list was decent but moving mathcam up after reading all his policy lynch talk wasn't the wisest idea. I enjoyed this setup in particular, cuz I'm more of gut reader than anything.

I'm still salty about ika >.> 2nd..
User avatar
Klazam
Klazam
He/Him
Jack of All Trades
User avatar
User avatar
Klazam
He/Him
Jack of All Trades
Jack of All Trades
Posts: 5641
Joined: June 28, 2010
Pronoun: He/Him

Post Post #361 (ISO) » Fri Oct 17, 2014 5:30 am

Post by Klazam »

I am absolutely aganist policy lynches. Ika was just low hanging fruit.

That said, i really dont like how ika plays :-/
User avatar
Untrod Tripod
Untrod Tripod
Fat and Sassy
User avatar
User avatar
Untrod Tripod
Fat and Sassy
Fat and Sassy
Posts: 11652
Joined: September 1, 2003

Post Post #362 (ISO) » Fri Oct 17, 2014 5:34 am

Post by Untrod Tripod »

so reck gets townreads for lolhammering but I get scumreads for putting him at L-1

lolok
User avatar
xRECKONERx
xRECKONERx
GD is my Best Man
User avatar
User avatar
xRECKONERx
GD is my Best Man
GD is my Best Man
Posts: 26087
Joined: March 15, 2009

Post Post #363 (ISO) » Fri Oct 17, 2014 5:35 am

Post by xRECKONERx »

I spent all of like two minutes making my list. Mathcam and MTD were the last two I moved around, because I had zero read on them. Their placement was pretty random. Fei was obv and Klaz was more of a risky guess.

Yes, UT, I am still very confused.
green shirt thursdays
User avatar
SleepyKrew
SleepyKrew
he/him
Snark Attack
User avatar
User avatar
SleepyKrew
he/him
Snark Attack
Snark Attack
Posts: 15746
Joined: April 27, 2011
Pronoun: he/him
Location: quack

Post Post #364 (ISO) » Fri Oct 17, 2014 5:35 am

Post by SleepyKrew »

In post 359, xRECKONERx wrote:I have no clue how I got town read off the hammer. That was inanely close!

Didn't you recently win a game as scum because people townread you for trollhammering?
To be clear: quack
User avatar
xRECKONERx
xRECKONERx
GD is my Best Man
User avatar
User avatar
xRECKONERx
GD is my Best Man
GD is my Best Man
Posts: 26087
Joined: March 15, 2009

Post Post #365 (ISO) » Fri Oct 17, 2014 5:36 am

Post by xRECKONERx »

Red Wedding was, like, infamous for that.
green shirt thursdays
User avatar
Honey bee
Honey bee
Mafia Scum
User avatar
User avatar
Honey bee
Mafia Scum
Mafia Scum
Posts: 1615
Joined: May 20, 2013

Post Post #366 (ISO) » Fri Oct 17, 2014 5:41 am

Post by Honey bee »

idk, I kinda just perused your iso and got a good feeling from it. We didn't have much to base info on and there were some who were alot worse looking.
User avatar
Save The Dragons
Save The Dragons
He/Him
Protection unnecessary

User avatar
User avatar
Save The Dragons
He/Him
Protection unnecessary

Protection unnecessary

Posts: 22420
Joined: April 26, 2004
Pronoun: He/Him
Location: WA, USA

Post Post #367 (ISO) » Fri Oct 17, 2014 5:58 am

Post by Save The Dragons »

The quickhammer and perusing reck's ISO gave me the opposite feeling.

Also I felt that one of UT + Reck had to be scum, I figured Reck psuedo-buddying UT was more likely...I think I over thought everything (and I got busy) hence my ballot taking forever :P

I wonder how much it helped that everyone's last slot was held by a townie.
User avatar
Save The Dragons
Save The Dragons
He/Him
Protection unnecessary

User avatar
User avatar
Save The Dragons
He/Him
Protection unnecessary

Protection unnecessary

Posts: 22420
Joined: April 26, 2004
Pronoun: He/Him
Location: WA, USA

Post Post #368 (ISO) » Fri Oct 17, 2014 6:48 am

Post by Save The Dragons »

I think this game is an argument against quickhammering personally...I mean I don't think 100 page D1s are productive and will admit I was very spammy this game.

At the same time Wolfy's and MTD's inability to post prevented me from determining their alignment and forced me to put them towards the top. Had MTD not been scum the game would have been a little harder because of it. Also as Thesp mentioned, this game's D1 lasted less than 48 hours, and like 6 of those were waiting for the vengeful kill result. Since we didn't know what was going to happen, while rushing to the twist would be the fun thing to do, I'm not sure it's the right play.

I know people like to quick hammer and I can't take that away from them, though had I been able to get online between the rush on HI and his eventual lynch I would have wanted to unvote.
User avatar
Mathdino
Mathdino
Survivor
User avatar
User avatar
Mathdino
Survivor
Survivor
Posts: 14337
Joined: February 24, 2013
Location: Right Behind You

Post Post #369 (ISO) » Fri Oct 17, 2014 7:19 am

Post by Mathdino »

Cool game guys, that was one of my most interesting D1s. I think had mafia gone for more obvious lynch targets in their ballot they might've had more of a chance. And yeah STD, I'll take partial responsibility for putting him at L-2. This, folks, is why I'm afraid of doing that :P
ika
ika
Survivor
ika
Survivor
Survivor
Posts: 11656
Joined: December 13, 2013

Post Post #370 (ISO) » Fri Oct 17, 2014 7:45 am

Post by ika »

GG everyone im on break but i will post more thoughly when i get back and have time

@honey. part of my list was actualy sheeping nati the obttom half was just clusterfucks
User avatar
Feirei
Feirei
Mafia Scum
User avatar
User avatar
Feirei
Mafia Scum
Mafia Scum
Posts: 1480
Joined: April 10, 2012
Location: ~~~~~~~~~

Post Post #371 (ISO) » Fri Oct 17, 2014 7:45 am

Post by Feirei »

I lost to nati OF ALL PEOPLE

im a disgrace
I apologize if certain words are misspelled. My sister got too liberal with liquid drinks near the laptop.

~Current number of pre-ins for Fire vs Ice Mafia: 0/6~

You never know what you've got until it's gone.
You can call me Fei, Feirei, or Kari.
User avatar
Natirasha
Natirasha
Jack of All Trades
User avatar
User avatar
Natirasha
Jack of All Trades
Jack of All Trades
Posts: 9041
Joined: February 18, 2008
Location: preening her feathers

Post Post #372 (ISO) » Fri Oct 17, 2014 7:47 am

Post by Natirasha »

Fun game!
Natirasha is just a vestige, it's Contessa now.
User avatar
Thesp
Thesp
Supersaint
User avatar
User avatar
Thesp
Supersaint
Supersaint
Posts: 5781
Joined: November 4, 2004
Location: Round Rock, TX

Post Post #373 (ISO) » Fri Oct 17, 2014 9:11 am

Post by Thesp »

As an aside, here's the Python program I wrote to help me format and run the votes:

Spoiler: Democracy Inaction Python Program

Code: Select all

from collections import defaultdict

PLAYERS = ['Feirei', 'Honey bee', 'ika', 'Klazam', 'mathcam', 'MTD', 'Natirasha', 'Save the Dragons', 'Untrod Tripod', 'Wolfy', 'xRECKONERx']

MAFIA = ['Feirei', 'Klazam', 'MTD']

PLAYER_BALLOTS = [('Mafia',
                   ['ika', 'Save the Dragons', 'Natirasha', 'Honey bee', 'Wolfy', 'xRECKONERx', 'mathcam', 'Untrod Tripod', 'Feirei', 'MTD', 'Klazam']),
                  ('xRECKONERx',
                   ['ika', 'Untrod Tripod', 'Feirei', 'Wolfy', 'Natirasha', 'Honey bee', 'Klazam', 'mathcam', 'MTD', 'Save the Dragons', 'xRECKONERx']),
                  ('Untrod Tripod',
                   ['Save the Dragons', 'Wolfy', 'Feirei', 'Honey bee', 'Klazam', 'mathcam', 'MTD', 'ika', 'Natirasha', 'xRECKONERx', 'Untrod Tripod']),
                  ('Honey bee',
                   ['Feirei', 'MTD', 'Wolfy', 'mathcam', 'Untrod Tripod', 'Klazam', 'xRECKONERx', 'Save the Dragons', 'Natirasha', 'ika', 'Honey bee']),
                  ('Natirasha',
                   ['Untrod Tripod', 'ika', 'MTD', 'Save the Dragons', 'Feirei', 'Wolfy', 'xRECKONERx', 'Klazam', 'Honey bee', 'mathcam', 'Natirasha']),
                  ('ika',
                   ['Feirei', 'Honey bee', 'Save the Dragons', 'Klazam', 'mathcam', 'Natirasha', 'MTD', 'Untrod Tripod', 'Wolfy', 'xRECKONERx', 'ika']),
                  ('mathcam',
                   ['Feirei', 'ika', 'MTD', 'Honey bee', 'Klazam', 'Natirasha', 'Untrod Tripod', 'Wolfy', 'xRECKONERx', 'Save the Dragons', 'mathcam']),
                  ('Save the Dragons',
                   ['xRECKONERx', 'Untrod Tripod', 'Wolfy', 'MTD', 'Klazam', 'Natirasha', 'Honey bee', 'mathcam', 'Feirei', 'ika', 'Save the Dragons']),
                  ('Wolfy',
                   ['Untrod Tripod', 'ika', 'Save the Dragons', 'mathcam', 'Natirasha', 'Feirei', 'xRECKONERx', 'Klazam', 'MTD', 'Honey bee', 'Wolfy']),
                  ]

def verify_ballots(player_list, ballots):
    vote_error = '{0} is voting for "{1}", who does not appear to be in the game.'
    length_error = '{0} does not appear to be voting for the correct number of players.'
    errors = []
    for voter, votees in ballots:
        errors += [vote_error.format(voter, x) for x in votees \
                                               if x not in player_list]
        if (len(votees) != 11) or (len(set(votees)) != 11):
            errors.append(length_error.format(voter))
    return errors

def tablefy_ballots(ballots, eliminated_players, dead_players):
    ignored_players = eliminated_players + dead_players
    header_list = ['[header]{}[/header]'.format(x[0]) for x in ballots \
                     if x[0] not in dead_players]
    header = '[row]{}[/row]'.format(''.join(header_list))
    votes_list = [[x for x in ballot[1] if x not in ignored_players] \
                     for ballot in ballots if ballot[0] not in dead_players]
    flipped_votes_list = zip(*votes_list)
    rows = [['[cell]{}[/cell]'.format(x) for x in row] for row in flipped_votes_list]
    flattened = ['[row]{}[/row]'.format(''.join(row)) for row in rows]
    body = ''.join(flattened)
    table = '[table]{header}{body}[/table]'.format(header=header, body=body)
    return table


class IRV_Game:
    def __init__(self, player_list, ballots):
        errors = verify_ballots(player_list + ['Mafia'], ballots)
        if errors:
            print errors
            raise Exception('There were errors in the ballots. Please try again.')
        self.player_list = player_list
        self.ballots = ballots
        self.eliminated_players = []
        self.dead_players = []
        self.log = []

    @property
    def vote_table(self):
        return tablefy_ballots(self.ballots, self.eliminated_players, \
                               self.dead_players)

    @property
    def current_vote_count(self):
        ignored_players = self.eliminated_players + self.dead_players
        votes = {ballot[0]: [x for x in ballot[1] if x not in ignored_players][0] \
                 for ballot in self.ballots if ballot[0] not in self.dead_players}
        vote_count_dict = defaultdict(list)
        for k, v in votes.iteritems():
            vote_count_dict[v].append(k)
        vcl = sorted(vote_count_dict.items(), key=lambda x: len(x[1]), reverse=True)
        header = "[b][u]Vote Count[/u][/b]\n"
        body = '\n'.join(['[b]{votee}[/b] ({num}): {voters}'.format(votee=x[0],
                                                                    num=len(x[1]),
                                                                    voters=', '.join(x[1])) for x in vcl])
        return header + body

    @property
    def status(self):
        return self.vote_table + '\n' + self.current_vote_count

    @property
    def condorcet(self):
        votes = [[x for x in ballot[1] if x not in ignored_players] \
                 for ballot in self.ballots if ballot[0] not in self.dead_players]
        result = ''
        for vote in votes:
            result += '>'.join(vote) + '\n'
        return result

    def log_message(self, message, include_vc=False):
        self.log.append(message)
        print message
        if include_vc:
            self.log.append(self.vote_table + '/n' + self.current_vote_count)

    def kill_player(self, player_name):
        if player_name in self.player_list:
            self.dead_players.append(player_name)
            self.eliminated_players = []
            self.log_message('The dead players are now: {}'.format(', '.join(self.dead_players)))
        else:
            raise Exception('That player is not in the game. Player not killed.')

    def eliminate_player(self, player_name):
        if player_name in self.player_list:
            self.eliminated_players.append(player_name)
            self.log_message('The players eliminated from voting contention are now: {}'.format(', '.join(self.eliminated_players)), include_vc=True)
        else:
            raise Exception('That player is not in the game. Player not eliminated.')

    def eliminate_all_but(self, *all_but_list):
        for player in all_but_list:
            if player not in self.player_list:
                raise Exception('{} is not in the list of players.'.format(player))
        self.eliminated_players = [x for x in self.player_list if x not in all_but_list]
        self.log_message('The players eliminated from voting contention are now: {}'.format(', '.join(self.eliminated_players)), include_vc=True)

    def reset(self):
        self.eliminated_players = []
        self.dead_players = []
        self.log = []


game = IRV_Game(PLAYERS, PLAYER_BALLOTS)
"When playing a game, the goal is to win, but it is the goal that is important, not the winning." -
Reiner Knizia

Ask me about my automatic votecounter, and how you can use it in
your
game!
Check out my 15 minutes of fame on Wait Wait...Don't Tell Me!
User avatar
Save The Dragons
Save The Dragons
He/Him
Protection unnecessary

User avatar
User avatar
Save The Dragons
He/Him
Protection unnecessary

Protection unnecessary

Posts: 22420
Joined: April 26, 2004
Pronoun: He/Him
Location: WA, USA

Post Post #374 (ISO) » Fri Oct 17, 2014 11:13 am

Post by Save The Dragons »

Good game Thesp :) Thanks for modding. I look forward to pointing towards this game the next time someone calls me weird. Player list was good but I do feel I didn't really get to play with everyone :P

Return to “Completed Mini Theme Games”