• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 21:48
CEST 03:48
KST 10:48
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
[ASL19] Finals Recap: Standing Tall9HomeStory Cup 27 - Info & Preview18Classic wins Code S Season 2 (2025)16Code S RO4 & Finals Preview: herO, Rogue, Classic, GuMiho0TL Team Map Contest #5: Presented by Monster Energy6
Community News
Flash Announces Hiatus From ASL50Weekly Cups (June 23-29): Reynor in world title form?12FEL Cracov 2025 (July 27) - $8000 live event16Esports World Cup 2025 - Final Player Roster16Weekly Cups (June 16-22): Clem strikes back1
StarCraft 2
General
The GOAT ranking of GOAT rankings The SCII GOAT: A statistical Evaluation Statistics for vetoed/disliked maps Esports World Cup 2025 - Final Player Roster How does the number of casters affect your enjoyment of esports?
Tourneys
RSL: Revival, a new crowdfunded tournament series [GSL 2025] Code S: Season 2 - Semi Finals & Finals $5,100+ SEL Season 2 Championship (SC: Evo) FEL Cracov 2025 (July 27) - $8000 live event HomeStory Cup 27 (June 27-29)
Strategy
How did i lose this ZvP, whats the proper response Simple Questions Simple Answers
Custom Maps
[UMS] Zillion Zerglings
External Content
Mutation # 480 Moths to the Flame Mutation # 479 Worn Out Welcome Mutation # 478 Instant Karma Mutation # 477 Slow and Steady
Brood War
General
Help: rep cant save Flash Announces Hiatus From ASL BGH Auto Balance -> http://bghmmr.eu/ [ASL19] Finals Recap: Standing Tall Player “Jedi” cheat on CSL
Tourneys
[Megathread] Daily Proleagues Small VOD Thread 2.0 [BSL20] GosuLeague RO16 - Tue & Wed 20:00+CET The Casual Games of the Week Thread
Strategy
Simple Questions, Simple Answers I am doing this better than progamers do.
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread Path of Exile What do you want from future RTS games? Beyond All Reason
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread Vanilla Mini Mafia
Community
General
US Politics Mega-thread Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread Trading/Investing Thread The Games Industry And ATVI
Fan Clubs
SKT1 Classic Fan Club! Maru Fan Club
Media & Entertainment
Anime Discussion Thread [Manga] One Piece [\m/] Heavy Metal Thread
Sports
2024 - 2025 Football Thread NBA General Discussion Formula 1 Discussion TeamLiquid Health and Fitness Initiative For 2023 NHL Playoffs 2024
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
Blogs
Culture Clash in Video Games…
TrAiDoS
from making sc maps to makin…
Husyelt
Blog #2
tankgirl
StarCraft improvement
iopq
Trip to the Zoo
micronesia
Customize Sidebar...

Website Feedback

Closed Threads



Active: 591 users

Miscellaneous/Multi-Purpose Mafia I - Page 53

Forum Index > TL Mafia
Post a Reply
Prev 1 51 52 53 54 55 63 Next
iGrok
Profile Blog Joined October 2010
United States5142 Posts
September 16 2013 09:50 GMT
#1041
On September 16 2013 15:33 GreYMisT wrote:
Show nested quote +
On September 16 2013 14:38 gonzaw wrote:
On September 16 2013 12:34 GreYMisT wrote:
The Banlist was talking about it, so here is my typical night action resolution chart taken from parallel worlds mafia

Night Action resolution

Night actions will typically resolve in the following manner.

1. Anything with “ First Priority” specifiers
2. Roleblocks (2 roleblockers actioning on each other will both be roleblocked and notified)
3. Any Redirection abilities
4. Everything else
5. Anything with "Last Priority" specifiers


It's not so easy. Some redirection actions affect other redirection actions, which in turn affect other stuff, etc.

I think the best way to envision it would be creating a "graph" of dependent actions. I.e every night action is a node in the graph. If that action modifies another action in any way, you link that action to the other one.
So if (1)="Player A RBs Player B" and (2)="Player B Checks Player A", then the dependency graph would be (1)->(2).
This means you first execute (1), and THEN execute (2). Basically you follow the graph.

But shit like bus drivers and redirection make this shit hard, because it changes the graph as you execute it.
For instance, if (1)="Player A busses Player B and Player C", and (2)="Player D RBs Player B" and (3)="Player C Checks Player A", then at first, you construct the graph like this:
(1)->(2) ; (3) (3 is independent)
So you execute (1), but oh! It turns out that now B and C are bussed, so D actually RBs C. This means the graph changes to (2)->(3), since Player D is RBing Player C.
This means C never gets his check. However if you had followed the initial graph C would have gotten his check.

You can say "But by making all RBs happen first, this doesn't happen!". Well I think this shouldn't be the case. Why? Because the above case is legit. If I buss 2 players and a 3rd player RBs one of them, he should instead RB the one that was bussed. This is the core of redirection, and it shouldn't apply to every other action, yet stop with roleblocks just because.

One way to mitigate this is to "simulate" graph executions. You first take all dependencies, then "simulate" executing the 1st one in the chain (if the chain is (1)->(2), you simulate (1) first). After this, you see if any dependencies changed. With lots of actions with lots of dependencies which change lots of stuff this may pose a problem.
There's also the problem that the chains must be acyclic. So if you encounter a cycle (for instance 2 players RBing each other) you do have to break the cycle.
However it goes beyond that. You can have ANY cycle. What if Player A RBs Player B, Player B RBs Player C, and Player C RBs Player A? This is different than the "2 RBs RB each other" case, yet it is another cyclic problem.
You can say "Just RB all 3", but there can be other cycles that not only have to do with RBers. For instance bus drivers bussing each other, and of course other "insane" mechanics with mind controllers and stuff.

But again just making one role have priority over "everything else in the universe" defeats the purpose of some of these roles, and makes certain scenarios (which would have been possible and valid previously) invalid (like the bus->RB one I mentioned first).


Meh. Surely we could convince some mathematician and/or computer scientist to give us a nice perfect computing model for this shit.



Trust me, I have experience with resolving consistantly busdrivers affecting busdrivers who also affect 2 people listswaping other people in a parallel universe.

Can vouch for this. When you make ludicrous setups frequently, you tend to be able to resolve things pretty well. Think about the Shadowsinger role - GreY and I have a lot of extremely complicated interactions to think though. For example, if the Shadowsinger sings Lord Kanti, and Kanti targets God, does God die the following night? What if God tries to suicide, is he protected because Kanti's delayed kill was sung? In a different scenario, if the Inventor gets sung for whatever reason, what the hell happens there?

I suppose that these are not the most on-topic examples as they are more role-related than priority related. But we have had, in game, a future bus to a dead player you was redirecting shit from himself (I think I'm remembering that correctly). This may sound a bit conceited, but until you've cohosted in one of those games, and even maybe after, its hard to get the instinctive nature behind priority resolution. I do believe that is is instinctive because GreY and I almost never disagree on how things should play out - 99% of our disagreement comes in the setup phase, where (for example) I want to kill everyone and GreY just wants them confused but alive .





Now, it helps that we rarely run setups with multiple copies of powers. But lets take the two bus drivers issue, and let me show you how I solve it. Graphically!

[image loading]

The method is simple. Odd numbers swap, evens cancel out! Observe.

In 1, A is swapping BC, and B is swapping CD. C is being swapped two times (an even number). It does not move, and the resulting swap is BD.

In 2, A is swapping BC again, but this time B is swapping AC. C again has two swaps, and the resulting swap is AB.

In 3, D has decided to join the party as another busdriver! The swaps are AC, BC, and BC. B is swapped twice,
C is swapped three times. Since three is odd, the result is AC.

In 4, D has decided to be sneaky an swap himself! AD, AC, BC. 2 As, 2 Cs give us the result BD.

"Aha, iGrok!", you exclaim, "I have broken your logic, using example 5! Observe, by adding a fourth busdriver, I have made 4 odd swapcounts! How will you solve this now?!" Well, the answer is quite simple once you list the swaps. You have managed to copy the AC swap. Obviously, when two people are swapped twice, the swaps cancel out. Therefore, you are left with two unhindered swaps - AD and BC.

Furthermore, if you are planning a game with 4 or more busdrivers, you are probably me.
MOTM | Stim.tv | TL Mafia | Fantasy Fighting! | SNSD
Koshi
Profile Blog Joined August 2010
Belgium38799 Posts
September 16 2013 10:08 GMT
#1042
Somebody still following the champion game?
I am not really reading the game but town lynched a townie after 3 succesful scum lynches. Or maybe 2 scumlynches and then a night vigi scum shot. I forgot.

Kinda insane how the scummers are still hiding it seems. Unless the scummers just showed face saving a scummer in that last lynch.
I had a good night of sleep.
Clarity_nl
Profile Joined November 2011
Netherlands6826 Posts
September 16 2013 10:22 GMT
#1043
On September 16 2013 19:08 Koshi wrote:
Somebody still following the champion game?
I am not really reading the game but town lynched a townie after 3 succesful scum lynches. Or maybe 2 scumlynches and then a night vigi scum shot. I forgot.

Kinda insane how the scummers are still hiding it seems. Unless the scummers just showed face saving a scummer in that last lynch.


I stopped following it but since this is a public forum I wouldn't talk about it much, until it's finished.
I'm kind of a dick.
FIGHT THE GOOD FIGHT AGAINST STUPIDITY CLARITY, I BELIEVE IN YOU! - Palmar
iGrok
Profile Blog Joined October 2010
United States5142 Posts
September 16 2013 12:12 GMT
#1044
I broke your brains didn't I
MOTM | Stim.tv | TL Mafia | Fantasy Fighting! | SNSD
AxleGreaser
Profile Joined November 2012
Australia1154 Posts
September 16 2013 14:34 GMT
#1045
On September 16 2013 21:12 iGrok wrote:
I broke your brains didn't I


I did it algebraically but I like the pictures.

The Bus driving operator appears, from examples, to be commutative and hence unambiguous in its nested effects.
Where BD { } is an operator that rewrites the actions inside { }

DC { BC{ } } = BD{ }
BC { DC{ } } = DB{ } = BD{ }

AC { BC {BC{ } } } = BA {BC { } } = AC { }
BC { AC {BC{ } } } = AB {BC { } } = AC { }
BC { BC {AC{ } } } = 0 {AC { } } = AC { }

0 is the no bus drive identity operation that as a special case results from a pair of sequentially nested identical busdrives BC { BC{} }

There is probably a bunch of proofs and theorems..

I am strangely reminded of special card from the Illuminati card game "Secrets man was not meant to know", also reminded of that when I think of software that should not be written. Not everything that can be done is good idea. For me that is running games with N busdriver madness, so yes if you are resolving an N busdriver game then you are probably Igrok and thus the problem of what happens is reduced to the previously solved problem "What happend?" => "Igrok knows what happened and posts it in the day post".
Axle(OnlySomeTheoriesToAbsurdToBeConsidered)Greaser
phagga
Profile Joined February 2012
Switzerland2194 Posts
September 16 2013 14:54 GMT
#1046
But what if someone in an iGrok game busses iGrok with LSB while the other N Busses buss each other and/or themselves?
"A person who does not concern himself with politics has already made the political choice he was so anxious to spare himself: he is serving the ruling party." - Max Frisch
iGrok
Profile Blog Joined October 2010
United States5142 Posts
September 16 2013 14:57 GMT
#1047
On September 16 2013 23:54 phagga wrote:
But what if someone in an iGrok game busses iGrok with LSB while the other N Busses buss each other and/or themselves?

How did you think GreYMisT was born?
MOTM | Stim.tv | TL Mafia | Fantasy Fighting! | SNSD
Papa_Smurf
Profile Joined September 2013
336 Posts
September 16 2013 16:48 GMT
#1048
So what happens if the first busdriver gets a flat tire?
gonzaw
Profile Joined December 2011
Uruguay4911 Posts
September 16 2013 17:55 GMT
#1049
On September 16 2013 18:50 iGrok wrote:
Show nested quote +
On September 16 2013 15:33 GreYMisT wrote:
On September 16 2013 14:38 gonzaw wrote:
On September 16 2013 12:34 GreYMisT wrote:
The Banlist was talking about it, so here is my typical night action resolution chart taken from parallel worlds mafia

Night Action resolution

Night actions will typically resolve in the following manner.

1. Anything with “ First Priority” specifiers
2. Roleblocks (2 roleblockers actioning on each other will both be roleblocked and notified)
3. Any Redirection abilities
4. Everything else
5. Anything with "Last Priority" specifiers


It's not so easy. Some redirection actions affect other redirection actions, which in turn affect other stuff, etc.

I think the best way to envision it would be creating a "graph" of dependent actions. I.e every night action is a node in the graph. If that action modifies another action in any way, you link that action to the other one.
So if (1)="Player A RBs Player B" and (2)="Player B Checks Player A", then the dependency graph would be (1)->(2).
This means you first execute (1), and THEN execute (2). Basically you follow the graph.

But shit like bus drivers and redirection make this shit hard, because it changes the graph as you execute it.
For instance, if (1)="Player A busses Player B and Player C", and (2)="Player D RBs Player B" and (3)="Player C Checks Player A", then at first, you construct the graph like this:
(1)->(2) ; (3) (3 is independent)
So you execute (1), but oh! It turns out that now B and C are bussed, so D actually RBs C. This means the graph changes to (2)->(3), since Player D is RBing Player C.
This means C never gets his check. However if you had followed the initial graph C would have gotten his check.

You can say "But by making all RBs happen first, this doesn't happen!". Well I think this shouldn't be the case. Why? Because the above case is legit. If I buss 2 players and a 3rd player RBs one of them, he should instead RB the one that was bussed. This is the core of redirection, and it shouldn't apply to every other action, yet stop with roleblocks just because.

One way to mitigate this is to "simulate" graph executions. You first take all dependencies, then "simulate" executing the 1st one in the chain (if the chain is (1)->(2), you simulate (1) first). After this, you see if any dependencies changed. With lots of actions with lots of dependencies which change lots of stuff this may pose a problem.
There's also the problem that the chains must be acyclic. So if you encounter a cycle (for instance 2 players RBing each other) you do have to break the cycle.
However it goes beyond that. You can have ANY cycle. What if Player A RBs Player B, Player B RBs Player C, and Player C RBs Player A? This is different than the "2 RBs RB each other" case, yet it is another cyclic problem.
You can say "Just RB all 3", but there can be other cycles that not only have to do with RBers. For instance bus drivers bussing each other, and of course other "insane" mechanics with mind controllers and stuff.

But again just making one role have priority over "everything else in the universe" defeats the purpose of some of these roles, and makes certain scenarios (which would have been possible and valid previously) invalid (like the bus->RB one I mentioned first).


Meh. Surely we could convince some mathematician and/or computer scientist to give us a nice perfect computing model for this shit.



Trust me, I have experience with resolving consistantly busdrivers affecting busdrivers who also affect 2 people listswaping other people in a parallel universe.

Can vouch for this. When you make ludicrous setups frequently, you tend to be able to resolve things pretty well. Think about the Shadowsinger role - GreY and I have a lot of extremely complicated interactions to think though. For example, if the Shadowsinger sings Lord Kanti, and Kanti targets God, does God die the following night? What if God tries to suicide, is he protected because Kanti's delayed kill was sung? In a different scenario, if the Inventor gets sung for whatever reason, what the hell happens there?

I suppose that these are not the most on-topic examples as they are more role-related than priority related. But we have had, in game, a future bus to a dead player you was redirecting shit from himself (I think I'm remembering that correctly). This may sound a bit conceited, but until you've cohosted in one of those games, and even maybe after, its hard to get the instinctive nature behind priority resolution. I do believe that is is instinctive because GreY and I almost never disagree on how things should play out - 99% of our disagreement comes in the setup phase, where (for example) I want to kill everyone and GreY just wants them confused but alive .





Now, it helps that we rarely run setups with multiple copies of powers. But lets take the two bus drivers issue, and let me show you how I solve it. Graphically!

[image loading]

The method is simple. Odd numbers swap, evens cancel out! Observe.

In 1, A is swapping BC, and B is swapping CD. C is being swapped two times (an even number). It does not move, and the resulting swap is BD.

In 2, A is swapping BC again, but this time B is swapping AC. C again has two swaps, and the resulting swap is AB.

In 3, D has decided to join the party as another busdriver! The swaps are AC, BC, and BC. B is swapped twice,
C is swapped three times. Since three is odd, the result is AC.

In 4, D has decided to be sneaky an swap himself! AD, AC, BC. 2 As, 2 Cs give us the result BD.

"Aha, iGrok!", you exclaim, "I have broken your logic, using example 5! Observe, by adding a fourth busdriver, I have made 4 odd swapcounts! How will you solve this now?!" Well, the answer is quite simple once you list the swaps. You have managed to copy the AC swap. Obviously, when two people are swapped twice, the swaps cancel out. Therefore, you are left with two unhindered swaps - AD and BC.

Furthermore, if you are planning a game with 4 or more busdrivers, you are probably me.


So bus driving is just "swapping"?
I thought it was just busdriving. I.e opening a channel between people that target both players (i.e "bussing" each player that targets one of them to the other player's house). If you open a bussing channel it is still open if someone opens the same one.

So someone bussing A and C, and someone ELSE bussing A and C, means A and C are still bussed, not that the bus cancels out. At least that's how I think about it.



There is also another way to think of bus drives: If you bus A with B, then every time someone does something on A, it will happen on B, and viceversa. Nothing more, nothing less.

So, if someone does X on A, it will be done on B. If someone does X on B, it will be done on A. How's this any different?
Well, if you have someone bus AC, then CB, if someone does X on C, it will instead be done on BOTH A and B. Because bus AC implies that anything that happens to C instead happens to A, and bus CB implies that anything that happens to C happens to B. So if anything happens to C, it happens to both A and B.
But if something happens to A, it only happens to C, not B. IN this case the bus is not a "channel", but just what the definition states: an action done one someone is instead done on someone else.

This 2nd definition is the easiest to manage. Stacked busses only means that, stacked "something happens to someone else" stuff. You can always logically determine what happens to someone by doing this:
-I target player X
-I look at all busses that night between X and some other player Y. I don't take into account repeated ones.
-For every XY bus, I instead use my action on Y

Granted, this duplicates actions, so if you have 1 vig shot target A, and busses AB, AC, AD and AE, then B C D and E will all die, even when you only had 1 bullet.


That image thing you posted works, yes; but for what I know it only works between busses. What happens if you enter a RBer into the mix? What if you enter other more complex redirection roles into it? Does it hold?

Also, entertain this example and tell me what happens iGrok:
There are 4 players, A, B, C and D.
Busses are AB, AC, AD
What happens? There are 4 odd "endpoints", yet no repeated busses.
gonzaw
Profile Joined December 2011
Uruguay4911 Posts
September 16 2013 17:57 GMT
#1050
On September 16 2013 18:49 Clarity_nl wrote:
Show nested quote +
On September 16 2013 14:38 gonzaw wrote:
Meh. Surely we could convince some mathematician and/or computer scientist to give us a nice perfect computing model for this shit.


Votecount bot first. Priorities.


There's already one of those I think. That "ZBot" thing.

The thing is that unless you can model this shit you will never be able to have a "bot" that can do it for you for example. You will ALWAYS have to do it by hand.
Even without that, a model allows you to know the strict rules, so every host and co-hosts knows exactly how to proceed when resolving night actions and you don't get a mess.
It basically makes life easier for everyone.

I was thinking there could be a model like that, where each new "role" just defines the possible actions, which should abide to a specific set of rules (for instance they should be able to determine those dependency rules I talked about).
If you do that, you could theoretically add any new role you want (God, Mind Reader, etc), and as long as it follows those rules, you are guaranteed that you can resolve any action that role uses, or that is used on that role, and it will resolve correctly.

But yeah....in a perfect world....
...wait, maybe that can be my uni thesis!


Also yeah the whole "bot" thing I was talking about earlier (like in January or something) is on hold. It's too "big" to start willy nilly like I was planning to. Plus I'm busy with uni and work don't have a single free time left (notice how I haven't joined a mafia game in like 3 months).
I was thinking about maybe doing it open source. Instead of a super-awesome server with everything, it could be an OS installation that installs the server for your specific forum. But leading an open source project is too much work as well so meh. Next year we'll see.
Meanwhile you have walking-super-computers Greymist and iGrok here so you have nothing to worry about.
iGrok
Profile Blog Joined October 2010
United States5142 Posts
September 16 2013 20:28 GMT
#1051
On September 17 2013 02:55 gonzaw wrote:
Show nested quote +
On September 16 2013 18:50 iGrok wrote:
On September 16 2013 15:33 GreYMisT wrote:
On September 16 2013 14:38 gonzaw wrote:
On September 16 2013 12:34 GreYMisT wrote:
The Banlist was talking about it, so here is my typical night action resolution chart taken from parallel worlds mafia

Night Action resolution

Night actions will typically resolve in the following manner.

1. Anything with “ First Priority” specifiers
2. Roleblocks (2 roleblockers actioning on each other will both be roleblocked and notified)
3. Any Redirection abilities
4. Everything else
5. Anything with "Last Priority" specifiers


It's not so easy. Some redirection actions affect other redirection actions, which in turn affect other stuff, etc.

I think the best way to envision it would be creating a "graph" of dependent actions. I.e every night action is a node in the graph. If that action modifies another action in any way, you link that action to the other one.
So if (1)="Player A RBs Player B" and (2)="Player B Checks Player A", then the dependency graph would be (1)->(2).
This means you first execute (1), and THEN execute (2). Basically you follow the graph.

But shit like bus drivers and redirection make this shit hard, because it changes the graph as you execute it.
For instance, if (1)="Player A busses Player B and Player C", and (2)="Player D RBs Player B" and (3)="Player C Checks Player A", then at first, you construct the graph like this:
(1)->(2) ; (3) (3 is independent)
So you execute (1), but oh! It turns out that now B and C are bussed, so D actually RBs C. This means the graph changes to (2)->(3), since Player D is RBing Player C.
This means C never gets his check. However if you had followed the initial graph C would have gotten his check.

You can say "But by making all RBs happen first, this doesn't happen!". Well I think this shouldn't be the case. Why? Because the above case is legit. If I buss 2 players and a 3rd player RBs one of them, he should instead RB the one that was bussed. This is the core of redirection, and it shouldn't apply to every other action, yet stop with roleblocks just because.

One way to mitigate this is to "simulate" graph executions. You first take all dependencies, then "simulate" executing the 1st one in the chain (if the chain is (1)->(2), you simulate (1) first). After this, you see if any dependencies changed. With lots of actions with lots of dependencies which change lots of stuff this may pose a problem.
There's also the problem that the chains must be acyclic. So if you encounter a cycle (for instance 2 players RBing each other) you do have to break the cycle.
However it goes beyond that. You can have ANY cycle. What if Player A RBs Player B, Player B RBs Player C, and Player C RBs Player A? This is different than the "2 RBs RB each other" case, yet it is another cyclic problem.
You can say "Just RB all 3", but there can be other cycles that not only have to do with RBers. For instance bus drivers bussing each other, and of course other "insane" mechanics with mind controllers and stuff.

But again just making one role have priority over "everything else in the universe" defeats the purpose of some of these roles, and makes certain scenarios (which would have been possible and valid previously) invalid (like the bus->RB one I mentioned first).


Meh. Surely we could convince some mathematician and/or computer scientist to give us a nice perfect computing model for this shit.



Trust me, I have experience with resolving consistantly busdrivers affecting busdrivers who also affect 2 people listswaping other people in a parallel universe.

Can vouch for this. When you make ludicrous setups frequently, you tend to be able to resolve things pretty well. Think about the Shadowsinger role - GreY and I have a lot of extremely complicated interactions to think though. For example, if the Shadowsinger sings Lord Kanti, and Kanti targets God, does God die the following night? What if God tries to suicide, is he protected because Kanti's delayed kill was sung? In a different scenario, if the Inventor gets sung for whatever reason, what the hell happens there?

I suppose that these are not the most on-topic examples as they are more role-related than priority related. But we have had, in game, a future bus to a dead player you was redirecting shit from himself (I think I'm remembering that correctly). This may sound a bit conceited, but until you've cohosted in one of those games, and even maybe after, its hard to get the instinctive nature behind priority resolution. I do believe that is is instinctive because GreY and I almost never disagree on how things should play out - 99% of our disagreement comes in the setup phase, where (for example) I want to kill everyone and GreY just wants them confused but alive .





Now, it helps that we rarely run setups with multiple copies of powers. But lets take the two bus drivers issue, and let me show you how I solve it. Graphically!

[image loading]

The method is simple. Odd numbers swap, evens cancel out! Observe.

In 1, A is swapping BC, and B is swapping CD. C is being swapped two times (an even number). It does not move, and the resulting swap is BD.

In 2, A is swapping BC again, but this time B is swapping AC. C again has two swaps, and the resulting swap is AB.

In 3, D has decided to join the party as another busdriver! The swaps are AC, BC, and BC. B is swapped twice,
C is swapped three times. Since three is odd, the result is AC.

In 4, D has decided to be sneaky an swap himself! AD, AC, BC. 2 As, 2 Cs give us the result BD.

"Aha, iGrok!", you exclaim, "I have broken your logic, using example 5! Observe, by adding a fourth busdriver, I have made 4 odd swapcounts! How will you solve this now?!" Well, the answer is quite simple once you list the swaps. You have managed to copy the AC swap. Obviously, when two people are swapped twice, the swaps cancel out. Therefore, you are left with two unhindered swaps - AD and BC.

Furthermore, if you are planning a game with 4 or more busdrivers, you are probably me.


So bus driving is just "swapping"?
I thought it was just busdriving. I.e opening a channel between people that target both players (i.e "bussing" each player that targets one of them to the other player's house). If you open a bussing channel it is still open if someone opens the same one.

So someone bussing A and C, and someone ELSE bussing A and C, means A and C are still bussed, not that the bus cancels out. At least that's how I think about it.



There is also another way to think of bus drives: If you bus A with B, then every time someone does something on A, it will happen on B, and viceversa. Nothing more, nothing less.

So, if someone does X on A, it will be done on B. If someone does X on B, it will be done on A. How's this any different?
Well, if you have someone bus AC, then CB, if someone does X on C, it will instead be done on BOTH A and B. Because bus AC implies that anything that happens to C instead happens to A, and bus CB implies that anything that happens to C happens to B. So if anything happens to C, it happens to both A and B.
But if something happens to A, it only happens to C, not B. IN this case the bus is not a "channel", but just what the definition states: an action done one someone is instead done on someone else.

This 2nd definition is the easiest to manage. Stacked busses only means that, stacked "something happens to someone else" stuff. You can always logically determine what happens to someone by doing this:
-I target player X
-I look at all busses that night between X and some other player Y. I don't take into account repeated ones.
-For every XY bus, I instead use my action on Y

Granted, this duplicates actions, so if you have 1 vig shot target A, and busses AB, AC, AD and AE, then B C D and E will all die, even when you only had 1 bullet.


That image thing you posted works, yes; but for what I know it only works between busses. What happens if you enter a RBer into the mix? What if you enter other more complex redirection roles into it? Does it hold?

Also, entertain this example and tell me what happens iGrok:
There are 4 players, A, B, C and D.
Busses are AB, AC, AD
What happens? There are 4 odd "endpoints", yet no repeated busses.

So lets take things one at a time.



1) What is bussing?

The most important thing here is to know the busdriver ability:
You may bus two players, causing any actions that would affect one to affect the other instead.




2) Multiple Busses

When multiple Busdrivers are involved, there are three choices. Either all busses are non-interactive with each other, physics fail, or you simplify. non-interactive busses lead to daisy chains pretty quickly, especially in games where we have future busdrivers and shit like that - you have 1 mafia kill hitting 3 people and making the game swing way out of balance. Physics fail, while amusing that one time, is a horrid explanation. My method of simplifying the swaps is the happy medium - we still get busses, there are no daisy chains, and nobody's ability is cancelled because it made things too confusing.



3) Priority
No two roles which could possibly interfere with each other share the same priority level. Bus Drivers are pretty high on the list, for the most part only below roles which change the target (as opposed to moving the target player). Redirecters, Mind control, etc fall into this category. Roleblockers are a special case in many regards, but mostly because Roleblockers have two priority levels. Roleblockers are both First priority and Post-Movement. Any roleblock which would prevent a Control or Movement role occurs first. Then the Control/Movement roles happen, following their priority. Then all other roleblocks (Anti-Action RBs) occur, followed by all other actions (in whatever priority they have).

By the way, the difference between Control and Movement roles are whether target is used as an adjective or a noun. Mind Control changes the target(adj.), while Bussing changes the target(n.)



4) That is a complex problem, but not one without a solution. Here is my answer.
[image loading]. Note, it is up to you how you decide which players are B, C, and D. Also remember that the worst thing you can do is allow a kp to explode and kill multiple people in a weird, unsatisfying way.




I've now been up for ~ 30 hours so I might not be the most coherent but i'm doing my best.
MOTM | Stim.tv | TL Mafia | Fantasy Fighting! | SNSD
RebirthOfLeGenD
Profile Blog Joined November 2008
USA5860 Posts
September 16 2013 21:06 GMT
#1052
I wouldn't of allowed a bus driver to bus themselves. If I remember, I think that's what I was most annoyed about. That's the reason there was a problem. I think tnkted had just been PMing/talking with LSB asked him if he could and he said yes without thinking and then couldn't go back.
Be a man, Become a Legend. TL Mafia Forum Ask for access!!
strongandbig
Profile Blog Joined October 2010
United States4858 Posts
September 16 2013 21:07 GMT
#1053
What we need is a game with an afterlife. Everyone in their first life thinks that when you're dead you leave the game as normal. However, dead players don't actually die but go to a secret dead-player-thread where they can perform night actions which affect the normal game.

"why didn't I successfully mind control the busdriver"
"because the busdriver was zombie-bussed by dead ninjas"
"It's the torso" "only more so!"
Dandel Ion
Profile Joined November 2010
Austria17960 Posts
Last Edited: 2013-09-16 21:11:15
September 16 2013 21:11 GMT
#1054
I once played mafia in a game where town had an unlimited-shot vig that added the townies he killed to a shared QT on shooting them.

Then we sniped him night1 and the only thing town had left was a shitty version of a joat or something like that and the host of the game got really mad cuz we b stylin' on his special snowflake role.

Yes that's the extent of my input
A backwards poet writes inverse.
WaveofShadow
Profile Blog Joined April 2010
Canada31494 Posts
September 16 2013 21:13 GMT
#1055
On September 17 2013 06:11 Dandel Ion wrote:
I once played mafia in a game where town had an unlimited-shot vig that added the townies he killed to a shared QT on shooting them.

Then we sniped him night1 and the only thing town had left was a shitty version of a joat or something like that and the host of the game got really mad cuz we b stylin' on his special snowflake role.

Yes that's the extent of my input

That's my one problem with my upcoming PYP
So many awesome roles that will never see the light of day
QQ

Dandel less do numbers tonight :D
twitch.tv/waveofshadow ||| Winner of AHGL's So You Think You Can Cast! ||| Juicy Dad for lyfe ||| 'idk i get a kick out of stupid things' - Jarms Yarng
Dandel Ion
Profile Joined November 2010
Austria17960 Posts
September 16 2013 21:15 GMT
#1056
but i hate numbers

+ Show Spoiler +
ill be on skyper
A backwards poet writes inverse.
WaveofShadow
Profile Blog Joined April 2010
Canada31494 Posts
September 16 2013 21:17 GMT
#1057
Cool beanos. I'm also really excited for you to write all those role PMs like you said.
twitch.tv/waveofshadow ||| Winner of AHGL's So You Think You Can Cast! ||| Juicy Dad for lyfe ||| 'idk i get a kick out of stupid things' - Jarms Yarng
Clarity_nl
Profile Joined November 2011
Netherlands6826 Posts
September 16 2013 22:40 GMT
#1058
On September 17 2013 02:57 gonzaw wrote:
Also yeah the whole "bot" thing I was talking about earlier (like in January or something) is on hold. It's too "big" to start willy nilly like I was planning to. Plus I'm busy with uni and work don't have a single free time left (notice how I haven't joined a mafia game in like 3 months).
I was thinking about maybe doing it open source. Instead of a super-awesome server with everything, it could be an OS installation that installs the server for your specific forum. But leading an open source project is too much work as well so meh. Next year we'll see.
Meanwhile you have walking-super-computers Greymist and iGrok here so you have nothing to worry about.


I am definitely out of my depth in this topic and will probably sound like an idiot for even talking about it but let me give it a try.
I understand that having an account that just posts votecounts every 3 hours is likely not even possible on TL, but a program that just spits out a formatted votecount with the press of a button doesn't seem too farfetched?

I've noticed that small threads have an "all" button next to the page buttons, to display it all. All this does is add "&view=all" to the link, and when I do this for bigger threads it tells me I need TL+ for that function. So perhaps it would be possible to enable that for all users just in the mafia subforum (like filters).

Given that that option is available (or simply using a voting thread, they dont tend to go big), surely a program that's not too complex could filter out voting formatting and turn that into a votecount post that can be copy pasted by a host or cohost?

Again, I'm probably being the guy that says "if I can balance my checkbook why can't the US balance their budget" when obviously I'm simplifying everything, but I'm curious.
FIGHT THE GOOD FIGHT AGAINST STUPIDITY CLARITY, I BELIEVE IN YOU! - Palmar
Blazinghand *
Profile Blog Joined December 2010
United States25551 Posts
September 16 2013 22:49 GMT
#1059
It wouldn't be that hard to take like a normal forum crawling bot and hook it up to some regex stuff that looks for literally ##vote:

it can parse that and put it in a list, then print it in a formatted way pretty easily

you'd want to use a voting thread link like this http://www.teamliquid.net/forum/viewmessage.php?topic_id=420228&view=all and then probably the hardest part would be making sure that it grabs stuff from within the text boxes and not a thread titled ##vote

but yeah I mean if someone can make a program that's capable of downloading a webpage and handing something over to a python script I could probably just use regular expressions and sikuli to parse the info and print it into some kind of human-readable format, then paste it into the textbox and hit post

i'm so lazy though


so lazyyyy
When you stare into the iCCup, the iCCup stares back.
TL+ Member
kitaman27 *
Profile Blog Joined April 2009
United States9245 Posts
September 16 2013 23:07 GMT
#1060
On September 17 2013 07:40 Clarity_nl wrote:
Show nested quote +
On September 17 2013 02:57 gonzaw wrote:
Also yeah the whole "bot" thing I was talking about earlier (like in January or something) is on hold. It's too "big" to start willy nilly like I was planning to. Plus I'm busy with uni and work don't have a single free time left (notice how I haven't joined a mafia game in like 3 months).
I was thinking about maybe doing it open source. Instead of a super-awesome server with everything, it could be an OS installation that installs the server for your specific forum. But leading an open source project is too much work as well so meh. Next year we'll see.
Meanwhile you have walking-super-computers Greymist and iGrok here so you have nothing to worry about.


I am definitely out of my depth in this topic and will probably sound like an idiot for even talking about it but let me give it a try.
I understand that having an account that just posts votecounts every 3 hours is likely not even possible on TL, but a program that just spits out a formatted votecount with the press of a button doesn't seem too farfetched?


Zona's bot was helpful to have for normal games without vote mechanics since it provided near instant updates after every vote by editing the OP of the voting thread. You could configure it at the beginning of each day to only count votes between a certain set of dates so there wasn't overlap, you could choose the lynch type, and have it display a message.
I'm better than dirt. Well, most kinds of dirt. I mean not that fancy store bought dirt. That stuffs loaded with nutrients. I... I can't compete with that stuff.
Prev 1 51 52 53 54 55 63 Next
Please log in or register to reply.
Live Events Refresh
Replay Cast
00:00
HSC 27: Groups C
CranKy Ducklings131
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Nina 250
NeuroSwarm 164
CosmosSc2 67
StarCraft: Brood War
Aegong 59
NaDa 31
Icarus 7
League of Legends
JimRising 849
Counter-Strike
taco 1073
Super Smash Bros
hungrybox613
Other Games
summit1g9235
shahzam1384
Day[9].tv933
Artosis601
ViBE251
Mew2King91
Organizations
Other Games
BasetradeTV129
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 15 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• Azhi_Dahaki11
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Doublelift5628
• Jankos1694
• masondota2758
Other Games
• Day9tv933
Upcoming Events
RSL Revival
8h 12m
herO vs SHIN
Reynor vs Cure
OSC
11h 12m
WardiTV European League
14h 12m
Scarlett vs Percival
Jumy vs ArT
YoungYakov vs Shameless
uThermal vs Fjant
Nicoract vs goblin
Harstem vs Gerald
FEL
14h 12m
Korean StarCraft League
1d 1h
CranKy Ducklings
1d 8h
RSL Revival
1d 8h
FEL
1d 14h
RSL Revival
2 days
FEL
2 days
[ Show More ]
BSL: ProLeague
2 days
Dewalt vs Bonyth
Replay Cast
3 days
Sparkling Tuna Cup
4 days
The PondCast
5 days
Replay Cast
5 days
RSL Revival
6 days
Replay Cast
6 days
Liquipedia Results

Completed

Proleague 2025-06-28
HSC XXVII
Heroes 10 EU

Ongoing

JPL Season 2
BSL 2v2 Season 3
BSL Season 20
Acropolis #3
KCM Race Survival 2025 Season 2
CSL 17: 2025 SUMMER
Copa Latinoamericana 4
Championship of Russia 2025
RSL Revival: Season 1
Murky Cup #2
BLAST.tv Austin Major 2025
ESL Impact League Season 7
IEM Dallas 2025
PGL Astana 2025
Asian Champions League '25
BLAST Rivals Spring 2025
MESA Nomadic Masters
CCT Season 2 Global Finals
IEM Melbourne 2025

Upcoming

2025 ACS Season 2: Qualifier
CSLPRO Last Chance 2025
2025 ACS Season 2
CSLPRO Chat StarLAN 3
K-Championship
uThermal 2v2 Main Event
SEL Season 2 Championship
FEL Cracov 2025
Esports World Cup 2025
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall Qual
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.