|
Haha, looks like the thread just exploded...
I agree that a 2-player Mafia team is a bit underpowered here on TL vs 11 townies. Would it be good to add a checkbox to the tool with an option like "No less than 3 Mafia roles"? Basically if that option was checked, there would just be a Goon added instead of a Vanilla townie if there were only 2 Mafia roles. Although again, it wouldn't be too difficult to do that without any automation...
What's the variant that "bugs used to run"? I'd be interested to implement useful modifications from that variant as checkbox options on the tool. I don't see the harm in including more options since clearly there are many who aren't too pleased with the basic C9++ rules.
|
|
On October 01 2014 08:55 Xatalos wrote: What's the variant that "bugs used to run"? I'd be interested to implement useful modifications from that variant as checkbox options on the tool. I don't see the harm in including more options since clearly there are many who aren't too pleased with the basic C9++ rules. It can't really just be tacked on like that as an option. There are some role substitutions: medics are replaced by jailkeepers and innocent children are replaced by self-aware millers. There are also no 3-mafia setups and a framer is possible for mafia. But a lot of the odds for the roles and the role combinations are also different. The whole "flip 7 coins and determine roles from that" isn't present in his setup.
You'll have to ask him for it; he never released it publicly. Or marvellosity may have it also. I think he ran that setup once.
This is what players would see for his setup:+ Show Spoiler +On June 02 2012 06:23 wherebugsgo wrote:Setup Information Overview:The setup is a semi-open setup for 13 players; that is, all the possible roles are given but the number of each is not known. Not all of the roles will necessarily be present. Some of the roles may have limits on the number of times they may be used. This will be specified in the role PM. The game is inherently balanced for both sides depending on the types and numbers of roles that appear. The mafia win when they outnumber the town or they reach a scenario when this becomes inevitable. Town wins by eliminating all mafia members. Mafia kill power is always 1. Town RolesVanilla Town+ Show Spoiler [possible role PM] +You are a simpleton villager. Your job is to rid the town of all mafia. You're also seriously badass. Miller + Show Spoiler [possible role PM] +You are a miller. For whatever odd reason, you're the town scapegoat and so appear guilty to all investigative checks. You have one vote and win with town, by killing all the mafia. Mason+ Show Spoiler [possible role PM] + You are a member of this society: along with (playername here). You are both members of the town. You may communicate with each other privately by any means you wish; a QT has been provided for you at (linkhere). You win with town when all mafia members have been put under the ground. Cop+ Show Spoiler [possible role PM] +You're a stud. As such, you may check one person (once/every night) and will receive back either guilty or innocent.. You may vote once per day and win when town has eliminated all the criminal mafia. Jailkeeper+ Show Spoiler [possible role PM] +You're infatuated with locking people up and throwing away the key. As a crazed cellkeeper, you have the power to lock someone away and then molest them. You may choose one person to jail (one night/every night) and you will protect them from 1 KP. Neither you nor your target will be informed of successful blocks. You may vote once per day and your goal is to rid the town of the scum Italian mafia who stole your motorcycle. Roleblocker+ Show Spoiler [possible role PM] +You're the hottest girl in town. Everyone wants some of you, and they'll drop everything to get it. Thus, (once at/every) night you will be able to tie up someone and have your way with them, preventing them from doing anything or going anywhere until the crack of dawn. Though you're naughty, you win when all the mafia have been killed. Your target will wake up the next morning not knowing what happened, but at the very least will be aware that he got nothing worthwhile accomplished. Besides contracting STDs, perhaps. Vigilante+ Show Spoiler [possible role PM] +You are the most conservative member of town, and as such you really enjoy exercising your 2nd Amendment rights to shoot criminals in the face. You have a gun with X bullets and you may shoot if you so wish at night. You are never refunded a bullet under any circumstances. You win when all the mafia have ceased to breathe. Mafia RolesGoon+ Show Spoiler [possible role PM] +You are just a hitman for the mafia and your name is distinctly Italian. Enough talk, just go out there and start killing things. Your family can kill one person per night by choosing one of you to carry out the deed. You win when your family outnumbers the town. You may talk to each other at any time in private by any means you wish; for your convenience, a QT has been provided at (link) Roleblocker+ Show Spoiler [possible role PM] +You break bones for a living. Either that or you just smooth talk people. Whatever you feel like, really. As such, once per night you may choose one person to roleblock. That person will be informed that he or she was roleblocked. You may also carry out kills for the mafia. You may communicate privately with your friend(s) (name(s) here) in any manner you wish; a QT has been provided at (link here) for your convenience. Godfather+ Show Spoiler [possible role PM] + Over the years, you've gone by a number of different names. Al Capone, Dick Cheney, Julius Caesar, Elmo, and Martha Stewart all come to mind. Now, however, you want to just retire. In order to do so, though, you must first kill everyone who is not part of your family, because you are highly allergic to non-related people. They make you sick. At your disposal is your uncanny ability to appear as anything you wish. As such you can choose to appear "innocent" to all investigations, if you so wish. By night one you must decide whether you want to mask yourself to investigations. You may also communicate privately with your family member(s) name(s) here in any manner you wish. A QT has been provided at (link here) for your convenience. Framer+ Show Spoiler [possible role PM] +blahblahblah standard scum fluff here you win when you outnumber town your teammates are here and you have a QT here, you may target one person per night, causing them to display the opposite alignment to any cops who choose to investigate them for that night only. You may not target yourself. Third Party RolesSerial Killer+ Show Spoiler [possible role PM] +You crazy. And probably illiterate. You like feet.
Since it doesn't matter what I tell you, just kill everything. You win if you live and no one else does.
You can choose to appear innocent to all checks or have the ability to survive one KP once. You can kill one person every night, but you don't have to. Notes If two roleblockers target each other, they are both informed. Masons who are roleblocked will not be prevented from communicating with their partner(s). Masons are confirmed town to each other. One person on the mafia team may carry out the kill each night. The mafia can choose not to kill. The mafia can kill each other. If the mafia member chosen to kill on a particular night is roleblocked, no kill will occur. Millers are self-aware. There are no hit notifications in this game. All roleblocks will result in the target being notified. If a serial killer is present he/she will be able to choose between investigation immunity and one shot bulletproof when the roles go out and before day 1 starts. If no choice is sent in then I will flip a coin and choose for the player.
|
If C9++ is not enough, we need to create the C10++ standard then
|
Hmm... It might be difficult to implement it as an algorithm if it's supposed to be kept secret...
I guess it depends on how it works if it could be implemented as an option for the current algorithm or if a completely new one should be created.
|
On October 01 2014 11:37 gonzaw wrote: If C9++ is not enough, we need to create the C10++ standard then
I think there was a thread for an "improved version of C9++" at some point? Did nothing come out of it?
|
It would certainly be useful to have something similar to C9++. Have a system where you just pluck some parameters (maybe even random ones, like in C9++), and you get a perfectly balanced and fun setup in return. Saves you the trouble of designing a mafia game and balancing it in the first place (if you just want a quick game).
It might be possible to do something similar. I think it may be better to just change the parameters. Instead of doing the whole "T", "C" shit, let the host have some more control. For instance, let the host decide on whether there will be a SK or not (or let it be random if he wants to).
The inference rules from C9++ aren't that good. The choice of there being a cop or not is independent of there being a GF, which is wrong, for instance. For example, with CCCCTTT there are 2 cops and no GF, nor framer, nor unaware miller. Yeah, good luck with that.
Also, it's too deterministic. I guess the "playing the numbers" game comes from this. Based on roles that flip, you just start counting the Cs and Ts and shit to 100% determine what possible roles could be left or not. It has to be non-deterministic.
Maybe it can be modelled as a Markov chain or something like that, where the probabilities of each transition are determined by the parameters the host gives to it. Then the chain is "processed", and depending on which path it takes, what roles and shit there will be in the setup.
Small example: States: S0, S1, S2, S3, S4, S5
Transitions: S0 -> S1: 20% - Output = "Cop role" S0 -> S2: 15% - Output = "Medic" S0 -> S3: 65% - Output = "No role"
S1 -> S2: 30% - Output = "No role" S1 -> S3: 70% - Output = "Godfather"
S2 -> S3: 80% - Output = "Roleblocker" S2 -> S3: 20% - Output = "Framer"
S3 -> S4: 100% - Output = "Vanilla Townie" S4 -> S5: 100% - Output = "Vanilla Townie" S4 -> S3: 100% - Output = "Mafia Goon"
So here, what does the host do? The host starts at S0, and, using the probabilities given in the transitions, decides to which state to go. How can he do this? Well, like normal C9++, he can choose a random number between 1 and 100. Let's follow this example:
-Host starts at S0 -Host chooses random number between 1 and 100, he gets 13. -13 < 20, so host goes to state S1. Because of this, his setup will get a Cop -He chooses another number, he gets 66 -66 > 30, so he goes to S3, and his setup will get a Godfather -Now he can't do much but keep going between S3, S4 and S5 until he fills all his VTs and Goons.
What did the host get in this scenario? Imagine he wanted 8 players. In this case he got 4 VTs, 1 Cop, 1 GF and 2 Goons.
What if he had chosen different numbers? He would have gotten a different setup. Let's try again:
-Start at s0 -Choose 28, it's between 20 and 35 (it's the 15% zone), so he goes to S2, and his setup gets a Medic -Choose 13, it's less than 30, so he goes to S2. Nothing happens -Choose 44, it's less than 80, so he goes to S3, and his setup gets a RBer -Keep going from S3, S4 and S5
So what's the setup now? If he wanted 8 players, the setup will be 1 Medic, 4 VTs, 2 Goons and 1 RBer.
Now, imagine this markov chain is known to the players. Will they be able to game the setup? Maybe (in this case at least, since it's too simple). But it's not deterministic, so they can't know for sure. Imagine a Medic flips. Players have no way of knowing whether there is a RBer, or if there is a framer. From S2 to S3, there is a 80% chance of getting a RBer, but a 20% of getting a Framer. Since the host chooses the number randomly, he could have gotten any of those. So imagine there is a Cop and a Medic and a Framer. Scum can effectively fakeclaim they were RBed, making everybody think the transition between S2 to S3 was determined by the 80% (RBer), specially since it's so likely. Since they have a Framer, and town now believe there is no framer, they can frame someone, and if the cop gets a red check, town will lynch that person 100%. If this is done in LYLO, you can see how fun it gets.
Of course, I'm a shitty balancer and made this simple Setup Markov Chain in 2 minutes. Surely the balance gods of TL Mafia can come up with better ones
|
Hmm.. Interesting. Although I'd feel a bit hesitant to replace C9++ with something that has no play testing at all
|
Correct me if I'm wrong, gonzaw, but a markov chain can be solved and/or simply monte carlo'd for its final and intermediate states. Which means the process has (to most people) been obfuscated a lot but not ultimately hidden from the players if they know what algorithm you've used to generate the roles, and so can still be gamed.
It seems to me that the only way to mitigate gaming is to use the in depth analysis of the players' options in different scenarios (as a few of you have demonstrated so far in the thread) to try and pinpoint degenerate cases and avoid them. Meanwhile, make any information the players can gain as inactionable as possible, i.e. use a setup process where the odds (from the point of view of the various players once the game starts) are as close to evenly distributed as possible so there is no "most likely" choice. I think most of the time this would also mean evenly distributing the setup probabilities, but not necessarily.
I don't even play mafia here, but interesting thread! ^^
|
On October 02 2014 17:15 EatThePath wrote: Correct me if I'm wrong, gonzaw, but a markov chain can be solved and/or simply monte carlo'd for its final and intermediate states. Which means the process has (to most people) been obfuscated a lot but not ultimately hidden from the players if they know what algorithm you've used to generate the roles, and so can still be gamed.
It seems to me that the only way to mitigate gaming is to use the in depth analysis of the players' options in different scenarios (as a few of you have demonstrated so far in the thread) to try and pinpoint degenerate cases and avoid them. Meanwhile, make any information the players can gain as inactionable as possible, i.e. use a setup process where the odds (from the point of view of the various players once the game starts) are as close to evenly distributed as possible so there is no "most likely" choice. I think most of the time this would also mean evenly distributing the setup probabilities, but not necessarily.
I don't even play mafia here, but interesting thread! ^^
The host can choose the transition matrix if he wants to. I said the host has to choose parameters, well that can be some of them.
For instance, if he REALLY wants a Cop in his setup, he can just increase the probability of the "S0 -> S1" transition, so there is a higher chance there is a cop. Transition probability would be hidden from players, they would ONLY be able to know what the "possible" path the setup could have taken, based on the flipped roles. But if you make a good enough chain, that can be obfuscated, yes
EDIT: The states and transitions of the markov chain can be determined by the host as well.. Just create a methodology for the host to follow, that guarantees to create "balanced" setup markov chains. Then the host follows the process from above. Players just wont be able to play the game, and if, somehow, they try to, they'll only end up with a convoluted mess of probabilities and shit, that, if designed correctly, will not be of any use to them.
Like, for example, use the current C9++ thing. The host chooses the number of lettesr. like "CCMTTTT". From this, you create an algorithm that constructs a markov chain based on this (with similar stuff, If the "C" comes up a lot, you create more transitions and states that create Cop roles, or change their probabilities, etc). The host can input parameters of his own as well (probabilities of transitions for example).
If your SOLE concern is players "gaming" the system, then it can be solved. The bigger problem is trying to come up with a methodology that 100% creates balanced games. This is more tough.
|
If your SOLE concern is players "gaming" the system, then it can be solved. The bigger problem is trying to come up with a methodology that 100% creates balanced games. This is more tough.
Well, but, the two are related...
|
On October 03 2014 00:41 EatThePath wrote:Show nested quote +If your SOLE concern is players "gaming" the system, then it can be solved. The bigger problem is trying to come up with a methodology that 100% creates balanced games. This is more tough. Well, but, the two are related...
If the town can successfully game the system, then the games can be unbalanced (though if the game was VERY unbalanced towards scum, I guess it would even out). But if players can't game the system, it can still be unbalanced (10 VTs 5 Cops 78 Medics and 1 Goon).
|
I don't think town's setup speculation is even a HUGE factor in town's favor, at least if there aren't a lot of blue roles. Not saying that it isn't a problem... But it isn't really comparable to traditional issues like scum requiring too many mislynches compared to their team's player count.
|
On October 03 2014 04:50 Xatalos wrote: I don't think town's setup speculation is even a HUGE factor in town's favor, at least if there aren't a lot of blue roles. Not saying that it isn't a problem... But it isn't really comparable to traditional issues like scum requiring too many mislynches compared to their team's player count.
I think you could create the chains so that information is embedded in the states. Each transition from one state to the other has the possibility of adding a new role (or several ones, though you could normalize that into a sequence of states). So, you can go from a "pro-town" state to a "pro-scum" state, just by, for instance, adding another Roleblocker.
If you, somehow, embed more info into each state (like "how many misslynches does scum need to win?"), then you could create balanced chains more easily.
I'm also thinking about probabilities here, and determining "balance" of a state depending on the previous path. For instance, imagine you have X town and Y scum, and you are in state Sj. If you go from Sj to state Sk, and that transition adds a new Cop to the setup, it makes it more town-favoured, right? Well, it does, if for instance all Y scum are Goons. But if all Y scum are Godfathers and there are 10 millers in the X town, then it's incredibly scum-favoured. So whether state Sk is pro-town or pro-scum depends on the path you took to Sk. It also involves probabilities. Adding a Cop to a setup with a Godfather, could be pro-town or pro-scum, but it has some probability of being each. If the cop checks the GF, the game starts turning favorable towards scum (all town + cop think he's town), but if he checks townies or Goons, then it is more favorable towards town. So maybe you could say adding a Cop in state Sk, gives a 85% pro-town probability, and a 15% pro-scum one. Again, based on previous roles, and the specific mechanics you want to add.
Hmm.
This can turn out to be a very interesting problem.
So far, I think there would be these steps:
1)Figuring out the core mechanics to introduce (which roles to choose from, how they interact with each other, etc) 2)Figure out a way to "construct" these setup chains 3)Figure out a methodology to determine which state is "pro-town" and which one "pro-scum" (based on probabilities) 4)Make it so that a valid Setup Chain is one where the final state has 50% pro-town and 50% pro-scum probabilities (i.e once you end your "creating the setup" path, you end up in a completely balanced game). 5)Make it possible for the host to introduce variance in this setup (Optional)
By (2), the host could be able to create his own Setup Chain if he wanted to. If he wanted he could just create the setup himself, but in this way: -There is a known methodology he can follow, so he has to spend less effort -When he ends up with a working Setup Chain, he knows it is balanced no matter how he uses it to create his setup. Thus he spends less effort trying to balance it himself (which may fail)
But there could also be default Setup Chains, like C9++ is a default "Setup Template". You could have "Normal Mini" setup chains, "Normal Big" ones, "Themed Mini" ones, etc, etc.
......yeah I'm getting too far ahead of myself. But if someone is bored and has a PhD in this kind of stuff, go ahead! :D
P.S It'd actually be funny to study for a PhD based on mafia. Guy 1: "Hey, so you have a PhD? In what'" Guy 2: "I have a PhD in mafia" Guy 1: "NO WAY. SO COOL!!!" Guy 2:
|
I wanna be the guy 2, those shades yo
+ Show Spoiler + Markov chains are a cool method but I think you'd want to do some basic enumeration of possible setups and get a sense of what sort of distributions are balanced / imbalanced, which can be very nontrivial to discover. The only other option I see is some kind of monte carlo simulation for a given distribution, but idk how that would even work because random decisions aren't that great in mafia, or pertinent to balance amongst experienced players.
What I was saying earlier though is that even a very tangled chain can have expectation values assigned to its various final states. On the one hand it seems like a good "organic" way of handling the task of reaching a "balanced" distribution by incremental changes to the roles, but then again there's probably a quite limited set of balanced distributions given N players and S set of roles and why not just RNG choose from those. Even though chains are way more fun and "construct" the game as it runs.
|
On October 03 2014 11:58 EatThePath wrote: I wanna be the guy 2, those shades yo
Markov chains are a cool method but I think you'd want to do some basic enumeration of possible setups and get a sense of what sort of distributions are balanced / imbalanced, which can be very nontrivial to discover. The only other option I see is some kind of monte carlo simulation for a given distribution, but idk how that would even work because random decisions aren't that great in mafia, or pertinent to balance amongst experienced players.
What I was saying earlier though is that even a very tangled chain can have expectation values assigned to its various final states. On the one hand it seems like a good "organic" way of handling the task of reaching a "balanced" distribution by incremental changes to the roles, but then again there's probably a quite limited set of balanced distributions given N players and S set of roles and why not just RNG choose from those. Even though chains are way more fun and "construct" the game as it runs.
Hmm. I don't remember that much from markov chains. But do you mean stationary distributions? Don't those need the chain to be irreducible and recurrent? It is possible to make the chain not irreducible/recurrent, by making the final state unique and with a 100% chance of not going anywhere for instance (if the chain is defined AFTER setting the number of players the game will have). Otherwise it might indeed be too hard to set the chain up properly
My main reasoning is that, I think it may be "easier" to "construct" balanced setups, rather than just have the whole setup fall on your lap and you instantly have to find if it's balanced or not.
For instance, it's easier to think about how balanced or unbalanced the setup will be by introducing or removing a role, or a pair of roles. I imagine hosts balance it like this as well, like "If I include a Serial Killer with the roles I have, will this be balanced?" and the like. Though getting the input of actual balancers may be a good idea 
I guess you could treat this problem as an optimization problem too (optimize so the "balance" factor is maximum), with your possible output being the markov chain, and indirectly the possible roles in the setup. You could maybe use dynamic programming here or something too.....somehow.
...but then again there's probably a quite limited set of balanced distributions given N players and S set of roles and why not just RNG choose from those
RNG usually means using a uniform distribution. E.g use "random.org". That will SURELY give you way more unbalanced setups than balanced ones. The point is to create a "new RNG" that ONLY gives you balanced setups. That's basically the point of the markov chain over here. Instead of the host throwing a dice to see which random role he includes in the game (which has a chance of making it unbalanced), the host throws a dice to determine the path he takes in the markov chain. The way the chain is constructed should make the setup be balanced, no matter what the "RNG" says.
But yeah, maybe it's not even possible. But I think it could be a cool focal point of investigation.
Even though chains are way more fun and "construct" the game as it runs.
Yeah, creating setups should be fun and easy! :D
|
It might be interesting to design an automatic methodology to balance games too.
Right now, from what I gather, balancing games is just intuition and best/worst case scenario analysis. For instance, you balance the game by finding out how many misslynches scum needs to win. But that is a specific scenario, where there are no night kills, no cop checks, etc, and just lynches. Also the scenario specifically deals in the "worst" case scenario for town in which they misslynch in a row.
I am not exactly sure how cops, vigs, medics, etc influence balancing decisions. Also how the whole "game flow" influences it. Like, for instance, in terms of balancing, is there a difference between "D1 misslynch, D2 scum lynch, D3 misslynch", "D1 scum lynch, D2 misslynch, D3 misslynch" and "D1 misslynch, D2 misslynch, D3 scum lynch"?
I think there could be metrics to determine this kind of stuff, based on real games. It could be something like AI. Create the "setup chain", and then run some games based on it. Then take statistics from these games, analyze them, and then change the markov chain appropriately (by changing transition odds for instance). This makes the methodology adapt to the game and the forum. For example, if towns start to get too stupid that they misslynch all the time, cops never check the correct players, vigs always misfire, then the probabilities in the chains get changes accordingly so that newer setups get a different distribution of roles to accomodate those facts. Small example: Imagine that adding a vig to a setup, according to a current Setup Chain, makes it so that it increases town's chances of winning 5%. Now, if EVERY vig in games using this setup misfire, the process would gather these statistics and decrease that chances of winning down to 2%. This incluences the "RNG" and makes it so that town can get more firepower along with vigs for instance (it can increase the chances of the setup containing a Vig AND a medic, for example).
The "learning" algorithm should take other stuff about the game into account as well. Like whether town won or not, and what other roles did too.
This may be optional too. I'm not sure how hosts see this kind of "meta" when they balance games, i.e if it influences their choice of setup at all or not (e.g if town stomps scum's ass every single game, do they give scum more roles or advantages?).
If it's supposed to be neutral, then you can still use the AI stuff, but it would have less of an impact.
|
Honestly gonzaw, it takes very little effort/time to come up with balanced setups for normal minis.
The only automated thing that I'd really like to see is something to accurately count votes (in the normal thread, not a separate voting thread)
|
On October 03 2014 14:34 HiroPro wrote:Honestly gonzaw, it takes very little effort/time to come up with balanced setups for normal minis. The only automated thing that I'd really like to see is something to accurately count votes (in the normal thread, not a separate voting thread) 
Why does C9++ exist then?
|
On October 03 2014 14:47 gonzaw wrote:Show nested quote +On October 03 2014 14:34 HiroPro wrote:Honestly gonzaw, it takes very little effort/time to come up with balanced setups for normal minis. The only automated thing that I'd really like to see is something to accurately count votes (in the normal thread, not a separate voting thread)  Why does C9++ exist then? I'm not that familiar with mafiascum, but I believe that they have a section of their site that allows only open setups (or stuff like c9++ which isn't exactly open but has all the possible combinations known).
|
|
|
|